首页 / PHP / PHP编写的SVN类_PHP教程
PHP编写的SVN类_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP编写的SVN类_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5900字,纯文字阅读大概需要9分钟。
内容图文
![PHP编写的SVN类_PHP教程](/upload/InfoBanner/zyjiaocheng/172/c1ccb0e9285d4a94aa16ee76f74c4339.jpg)
<?<span php <span /*<span * * SVN 外部命令 类 * * @author rubekid * * @todo comment need addslashes for svn commit * <span */ <span class<span SvnUtils { <span /*<span * * * svn 账号 <span */ <span const SVN_USERNAME = "robot"<span ; <span /*<span * * svn 密码 <span */ <span const SVN_PASSWORD = "robot2013"<span ; <span /*<span * * 配置文件目录 (任意指定一个临时目录,解决svn: warning: Can't open file '/root/.subversion/servers': Permission denied) <span */ <span const SVN_CONFIG_DIR = "/var/tmp/"<span ; <span /*<span * * svn list * * @param $repository string * @return boolean * <span */ <span public <span static <span function ls(<span $repository<span ) { <span $command = "sudo svn ls " . <span $repository<span ; <span $output = self::runCmd ( <span $command<span ); <span $output = <span implode ( "输出WC中文件和目录的状态) * * @param $dir string entry [0]->attributes () ', " . " . &1" .
", <span $output<span ); <span if (<span strpos ( <span $output, 'non-existent in that revision'<span )) { <span return <span false<span ; } <span return "
" . <span $command . "
" . <span $output<span ; } <span /*<span * * svn copy * * @param $src string * @param $dst string * @param $comment string * @return boolean * <span */ <span public <span static <span function <span copy(<span $src, <span $dst, <span $comment<span ) { <span $command = "sudo svn cp <span $src <span $dst -m '<span $comment'"<span ; <span $output = self::runCmd ( <span $command<span ); <span $output = <span implode ( "
", <span $output<span ); <span if (<span strpos ( <span $output, 'Committed revision'<span )) { <span return <span true<span ; } <span return "
" . <span $command . "
" . <span $output<span ; } <span /*<span * * svn delete * * @param $url string * @param $comment string * @return boolean * <span */ <span public <span static <span function delete(<span $url, <span $comment<span ) { <span $command = "sudo svn del <span $url -m '<span $comment'"<span ; <span $output = self::runCmd ( <span $command<span ); <span $output = <span implode ( '
', <span $output<span ); <span if (<span strpos ( <span $output, 'Committed revision'<span )) { <span return <span true<span ; } <span return "
" . <span $command . "
" . <span $output<span ; } <span /*<span * * svn move * * @param $src string * @param $dst string * @param $comment string * @return boolean <span */ <span public <span static <span function move(<span $src, <span $dst, <span $comment<span ) { <span $command = "sudo svn mv <span $src <span $dst -m '<span $comment'"<span ; <span $output = self::runCmd ( <span $command<span ); <span $output = <span implode ( '
', <span $output<span ); <span if (<span strpos ( <span $output, 'Committed revision'<span )) { <span return <span true<span ; } <span return "
" . <span $command . "
" . <span $output<span ; } <span /*<span * * svn mkdir * * @param $url string * @param $comment string * @return boolean <span */ <span public <span static <span function <span mkdir(<span $url, <span $comment<span ) { <span $command = "sudo svn mkdir <span $url -m '<span $comment'"<span ; <span $output = self::runCmd ( <span $command<span ); <span $output = <span implode ( '
', <span $output<span ); <span if (<span strpos ( <span $output, 'Committed revision'<span )) { <span return <span true<span ; } <span return "
" . <span $command . "
" . <span $output<span ; } <span /*<span * * svn diff * @param $pathA string * @param $pathB string * @return string <span */ <span public <span static <span function diff(<span $pathA, <span $pathB<span ) { <span $output = self::runCmd ( "sudo svn diff <span $pathA <span $pathB"<span ); <span return <span implode ( '
', <span $output<span ); } <span /*<span * * svn checkout * @param $url string * @param $dir string * @return boolean <span */ <span public <span static <span function checkout(<span $url, <span $dir<span ) { <span $command = "cd <span $dir && sudo svn co <span $url"<span ; <span $output = self::runCmd ( <span $command<span ); <span $output = <span implode ( '
', <span $output<span ); <span if (<span strstr ( <span $output, 'Checked out revision'<span )) { <span return <span true<span ; } <span return "
" . <span $command . "
" . <span $output<span ; } <span /*<span * * svn update * @param $path string <span */ <span public <span static <span function update(<span $path<span ) { <span $command = "cd <span $path && sudo svn up"<span ; <span $output = self::runCmd ( <span $command<span ); <span $output = <span implode ( '
', <span $output<span ); <span preg_match_all ( "/[0-9]+/", <span $output, <span $ret<span ); <span if (! <span $ret [0] [0<span ]) { <span return "
" . <span $command . "
" . <span $output<span ; } <span return <span $ret [0] [0<span ]; } <span /*<span * * svn merge * * @param $revision string * @param $url string * @param $dir string * * @return boolean <span */ <span public <span static <span function merge(<span $revision, <span $url, <span $dir<span ) { <span $command = "cd <span $dir && sudo svn merge -r1:<span $revision <span $url"<span ; <span $output = <span implode ( '
', self::runCmd ( <span $command<span ) ); <span if (<span strstr ( <span $output, 'Text conflicts'<span )) { <span return 'Command: ' . <span $command . '
' . <span $output<span ; } <span return <span true<span ; } <span /*<span * * svn commit * * @param $dir string * @param $comment string * * @return boolean <span */ <span public <span static <span function commit(<span $dir, <span $comment<span ) { <span $command = "cd <span $dir && sudo svn commit -m'<span $comment'"<span ; <span $output = <span implode ( '
', self::runCmd ( <span $command<span ) ); <span if (<span strpos ( <span $output, 'Committed revision' ) || <span empty ( <span $output<span )) { <span return <span true<span ; } <span return <span $output<span ; } <span /*<span * * svn status (
http://www.bkjia.com/PHPjc/440398.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/440398.htmlTechArticle? SVN_USERNAME = "robot" SVN_PASSWORD = "robot2013" SVN_CONFIG_DIR = "/var/tmp/" ls( = "sudo svn ls " . = self::runCmd ( = ( "br /", ( ( , 'non-existent in that revision' "br /" ....
内容总结
以上是互联网集市为您收集整理的PHP编写的SVN类_PHP教程全部内容,希望文章能够帮你解决PHP编写的SVN类_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。