svn diff; #什么都不加,会坚持本地代码和缓存在本地.svn目录下的信息的不同;
svn diff -r 3; #比较你的本地代码和版本号为3的所有文件的不同;
svn diff -r 3 text.c; #比较你的本地代码和版本号为3的text.c文件的不同;
svn diff -r 5:6; #比较版本5和版本6之间所有文件的不同;
svn diff -r 5:6 text.c; #比较版本5和版本6之间的text.c文件的变化。
查看修改的信息使用 log 指令,如下:
svn log; #什么都不加会显示所有版本commit的日志信息;
svn log -r 4:5; #只看版本4和版本5的日志信息;
svn log test.c; #查看文件test.c的日志修改信息;
svn log -v dir; #查看目录的日志修改信息,需要加v;
查看某个版本的某个文件内容,使用cat指令,如下:
svn cat -r 4 test.c; #查看版本4中的文件test.c的内容,不进行比较;
不用下载到本地查看文件的各种信息,使用 list 指令,如下:
svn list http://svn.test.com/svn #查看目录中的文件;
svn list -v http://svn.test.com/svn #查看详细的目录的信息(修订人,版本号,文件大小等);
生成diff文件:
svn diff > xxx.diff
生成 patch:
同事 A 运行如下命令生成 patch:
svn diff > aaa.patch
应用 patch:
同事 B 运行如下命令应用 patch:
patch –p0 < ../aaa.patch
删除该 patch :
patch –p0 -R < ../aaa.patch
svn 回滚
svn merge -r 25:23 file_name
查看特定commit的下的特定文件的内容
svn cat -r 100 test.c
当前的用户在SVN客户端当前路径切换到当初更新SVN的位置上
svn switch --relocate (Old Repository Root) (New Repository Root)
#更换相对路径
svn switch ^\New path
svn : xxx is already under version control,
说明这个目录下已经有 .svn
文件夹了。 如果是从之前的项目拷贝过来的话,是不是应该删掉了 ?