SVN 常见问题操作总结

公司采用SVN作为版本控制工具,因此熟练应用SVN的一些操作也可以提高日常工作效率。想回自己用到的一些稍麻烦的操作如下:

  1. 从历史版本中创建代码分支:打开SVN客户端,单击URL右边的HEAD弹出选择版本窗口,输入要创建分支的历史版本号(SVN同一URL下的文件版本是依次递增的,每次提交文件或目录都会增加相应的版本号);

回溯到历史版本后右键单击要创建分支的文件夹选择copy to 弹出如下窗口

输入要创建分支的URL及对应的目录名称,单击OK再输入注释即可。以前总是先把历史版本导出到本地,然后再在分支目录中创建文件夹,然后提交到该分支文件夹中,这样操作太繁琐。

2.其它可能经常遇到的问题:

(1)更新时提示文件发生冲突:"One or more files are not a conflicted state。"

多人同时修改同一文件的同一部分,SVN无法自动进行合并,会导致该错误;解决方法:对工作复本中的文件和服务器的文件进行比较,手工合并即可。

(2)"Commit failed;File already exists"提交失败,文件**已存在。

版本管理系统在改变你的计算机上的工作副本时,是非常的小心的。在做任何事情之前,它都尽可能把您的意图写到你的计算机上的日志文件中去。但如果偶然地操作中断了(例如:突然停电了,您的计算机死机了),那么日志文件记录就可能同您最后的工作状态不一致。一种建议解决途径:先把要提交的东西拷出来放到其它目录,再更新本地文件,然后把拷出来的文件重新放回去提交。

(3)Working copy'**'locked. Please execute the 'Clean up'command.

Subversion客户端在提交内容之前会在本地的工作拷贝写日志,防止其他客户端再次作操作,如果这个提交过程中发生错误,就会存在未清理的日志,解决这个问题之需要执行"清理"操作,整理你的计算机上的工作副本,清理错误的日志记录,使您可以继续操作。

(4)执行clean up时,出现错误"Subversion reported an error while doing a cleanup!" \'**\' is not a working copy directory "

遇到这种情况,先删除隐藏文件夹.svn中的tmp下面的临时文件,再执行clean up。

(5)在SVN中选中一个目录show log时,出现了某些版本只显示版本号和(no date),没有其他信息,什么原因引起的?

出现了(no date)的revision,为其他人修改了你所没有权限访问的某个目录下的文件。

posted on 2012-06-20 18:36  时间朋友  阅读(9022)  评论(0编辑  收藏  举报

导航