svn新建目录,使用shell_exec,用代码方式实现

svn新建目录,用代码方式实现。

需求如下:我需要在svn://xxxxx.cn/test 仓库下 创建 1000001/20001,这两个目录

//需求如下:我需要在svn://xxxxx.cn/test  仓库下 创建 1000001/20001,这两个目录

public function test(){
        $data = "svn://xxxxx.cn/test/1000001/20001";//你要创建的目录,svn地址
        $str = substr($data,strrpos($data,".cn")+4);//截取.cn之后的目录
        $str_array = explode('/',$str);//分割为数组
        $username ='xxx';//svn用户名
        $password = 'xxx';//svn密码
        $loc_address = 'svntest';// 本地仓库地址(我的地址在public/svntest)
        $origin_svn_address = 'svn://xxxxx.cn/test/'; //远程仓库地 外网地址
        $authCommand = ' --username ' . $username . ' --password ' . $password . ' --no-auth-cache';
        $originname  = $loc_address.'/'.basename($origin_svn_address); //仓库在本地目录地址
//        $checkout = shell_exec("cd svntest && svn checkout  $origin_svn_address   $authCommand");//若本地没有svntest/test这个仓库,可先使用这行,新建仓库
        foreach ($str_array as $k=>$v) {
            if ($k!=0) {
//              $info = shell_exec("cd $originname && svn info"); //查看svn详细信息(可用于调试,svn是否连接成功)
                $res = shell_exec("cd $originname && svn update"); //更新
                $add = shell_exec("cd $originname &&  mkdir -m 777 -p $v"); //递归创建目录并且赋予权限
                $adds = shell_exec("cd $originname && svn  add  $v "); //svn增加
                $commit = shell_exec("cd $originname && svn commit  .  -m  'aaa' --force-log  $authCommand "); //提交
                $originname.="/".$v;
            }
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值