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

时间:2021-05-26

复制代码 代码如下:
<?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 "没有文件";
}
?>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章