发布于 2015-01-01 08:58:38 | 129 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的SVN教程,程序狗速度看过来!

Apache Subversion 开源的版本控制系统

Subversion是一个自由,开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“胜博發机器”。


本文为大家讲解的是PHP运行SVN命令显示某用户的文件更新记录的代码,感兴趣的同学参考下.

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

Subversion是一个自由,开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“胜博發机器”。


<?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 "没有文件";
}
?>



相关阅读 :
PHP运行SVN命令显示某用户的文件更新记录的代码
Linux下SVN服务器同时支持Apache的http和svnserve独立服务器两种模式且使用相同的访问权限账号
svn冲突的解决方法
如何清除svn记住的密码?
SVN的基本概念
Linux下SVN服务器自动更新文件到Web目录的方法
svn建立分支和svn代码合并的操作方法
svn取消文件夹关联的方法(svn取消关联)
如何彻底删除SVN中的文件和文件夹(附恢复方法)
centos6.5下svn的使用说明
详解CentOS的SVN服务器搭建与自动部署全过程
SVN常见问题及解决方法
最新网友评论  共有(0)条评论 发布评论 返回顶部
月排行榜

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  服务