- 命令记录
- svn命令主要参考svn help,比如 svn help log,用于查看log的所有使用方法
- svn log -g #用于查看merge间的log
- svn log --stop-on-copy
- svn log -r88 -v #用于查看88版本之间所有改动的文件
- svn log --stop-on-copy #用于查看log,但是log只会追溯到copy创建时的地方
- svn diff --summarize -r66:88 #用于查看66版本到88版本之间的所有改动
- svn merge -r88:66 #用于回退到66版本
- svn propget svn:mergeinfo #用于查看merge记录信息
- svn revert . -R #用于解决当前文件夹及其所有子目录下的所有修改及冲突
- svn add xx_dir -N #只添加文件夹到svn【不添加文件夹下的内容】
- svn co xxx_svn_url --depth empty #用于checkout出指定文件夹【不包含文件夹的内容】
- svn co xxx_svn_url/xxx_dir@88 #用于checkout下svn中已经删除的文件夹
- 使用问题及tips
- find ./ -type d -name ".svn" |xargs rm -rf #删除目录下的所有svn管理
- svn st | grep “^!” | awk ‘{print $2}’ | xargs svn rm #删除目录下所有冲突的文件
- svn st | grep “^?” | awk ‘{print $2}’ | xargs svn rm #删除目录下所有未在管理的文件
- svn 出现checksum mismatch while updating的原因大概率是因为某些操作把.svn中的东西修改了。此时可以考虑删除整个文件夹,然后重新update
- svn出现错误信息Server sent unexpected return value (403 Forbidden) in response to CHECKOUT request for xxx,主要是没权限,需要添加写权限
- svn ci -m $’123\n456’ 在bash下可以实现提交地log显示换行,但是在csh下不能执行。csh没有bash好用,在linux terminal下,直接执行bash命令即可切换到bash
- svn 使用copy命令时,出现directory is missing。可能因为使用了svn rm命令,提交后,本地没有使用svn up命令更新状态
- svn local delete, incoming edit upon update. 出现这个原因是因为更新的时候,本地有被svn rm的文件,但是没有还没有提交到svn,而这个文件还被别人修改并上传到svn库了,所以出现了这个情况