FAIRYFAR-INTERNAL
 
  FAIRYFAR-INTERNAL  |  SITEMAP  |  ABOUT-ME  |  HOME  
您的足迹: SVN常用命令
SVN常用命令

检出代码

svn co 代码分支路径

更新代码

svn up

提交代码

svn ci -m “log”

修改日志方法

svn propset -r 47805 –revprop svn:log 代码分支路径

增加文件

svn add 增加的文件路径与名称

回滚本地全部修订(未提交到SVN服务器)

svn revert –depth=infinity .

回滚本地部分修订(未提交到SVN服务器)

svn revert path

从b分支向当前分支合并分支

svn merge b分支URL

SVN回滚(已经提交到SVN服务器)

如果已经提交到SVN服务器。

snippet.bash
svn up
svn log -v -l3
svn merge -r 当前版本号:回滚到的版本号 “”
svn diff
svn ci -m “回滚致”

注:

以上svn merge命令有几种情况:

  • 如果仅回滚某个版本:svn merge -c -回滚到的版本号 .
  • 如果回滚版本号不连续:svn merge -c -回滚到的版本号1,-回滚到的版本号2 .
  • 如果回滚连续版本号:svn merge -r 开始版本号(包含):结束版本号(不包含) .

SVN重定向url

svn switch 新URL

SVN合并代码

snippet.bash
svn merge trunk_svn_URL
svn merge -c 66060 trunk_svn_URL
svn merge -r 66059:66060 trunk_svn_URL

SVN回退指定版本

svn merge -c -66060 trunk_svn_URL

删除所有非版本控制文件

svn st | grep '^?' | awk '{print $2}' | xargs rm -rf

查看文件修改状态

svn st

查看文件修改状态,排除不受版本控制的文件。

svn st | grep -v '^?'

使用diff文件patch

生成.diff文件:
svn diff > yz.diff

使用.diff文件:
patch –p0 –d ./ < yz.diff

从svn info中格式化提取信息

提取HEAD版本最近修改日期并格式化:

snippet.bash
svn info | sed -n "/^Last Changed Date:[ ]*/p" | sed "s/[ ]*Last Changed Date:[ ]*//g" | sed "s/-//g" | awk '{print $1}'

输出格式:20170125

SVN常见错误

"added: svn:executable"问题

有时候新增文件,svndiff最后会提示“added: svn:executable”,可以使用以下命令消除:

svn propdel svn:executable <文件>

"Property 'svn:mime-type' not found"问题

arc diff
svn: warning: W200017: Property 'svn:mime-type' not found on 'set_variables.sql@'
svn: E200000: A problem occurred; see other errors for details

解决方法:

snippet.bash
svn propset svn:mime-type text/plain set_variables.sql

"Property changes"问题

snippet.bash
svnst
MM   vendor/gbase/storage/express/shared/core/ExpressEngine.cpp
 
svn diff vendor/gbase/storage/express/shared/core/ExpressEngine.cpp
Property changes on: vendor/gbase/storage/express/shared/core/ExpressEngine.cpp
------
Modified: svn:mergeinfo

解决方法:

先拷贝该文件:

snippet.bash
cp -f vendor/gbase/storage/express/shared/core/ExpressEngine.cpp ExpressEngine.cpp.bak

再revert:

snippet.bash
svn revert vendor/gbase/storage/express/shared/core/ExpressEngine.cpp

最后覆盖该文件:

snippet.bash
cp -f ExpressEngine.cpp.bak vendor/gbase/storage/express/shared/core/ExpressEngine.cpp


打赏作者以资鼓励: