使用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 "沒有文件"; } ?>