您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> php编程 >> 正文

PHP运行SVN命令显示某用户的文件更新记录代码

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 使用SVN开发者们平时开发或代码上线过程中需要知道某个时间段内修改或添加过那些文件,所以用PHP写了个小程序,直接在浏览器中调用即可

  代码如下: <?php $user=trim($_GET['user']); $d=$_GET['date']; if(!$d){  $d=date('Ymd',time()-86400*14); } if(empty($user)){  echo "例如:svn_log.php?user=wang&date=20130118";  exit; }   $cmd='/usr/bin/svn log -v -r {'.$d.'}:"HEAD" --username 用户名 --password 密码 --no-auth-cache | sed -n "/'.$user.'/,/-----$/ p" 2>&1';   $p=dirname(__FILE__);   exec('cd '.$p,$output);   exec($cmd,$output);   $d=date('Y年m月d日',strtotime($d)); echo $user.'自'.$d.'以来:<br>'; echo '---------------------------------------------<br>'; $out='';   krsort($output);   if(!empty($output)){  foreach($output as $v){   $p1=strpos($v,'/branch/');   $p2=strpos($v,'/tg/');   if($p1!==false || $p2!==false){    if($p1!==false){     $v=substr($v,$p1+9);    }else{     $v=substr($v,$p2+4);    }    if($out==''){     $out=$v;     echo $v.'<br>';    }else{     if(strpos($out,$v)===false){      $out.=','.$v;      echo $v.'<br>';     }    }   }  } }else{  echo "没有文件"; } ?>