SVN常见问题
目录[隐藏] |
1. 提示SVN证书过期?
问题描述:
访问SVN库时,会多次弹出证书过期的提示,如下图所示:
解决方案:
腾讯云平台于2012年11月1日发布了新的SVN域名以解决该问题,请开发者切换到新的SVN库地址,SVN库地址查看详见:SVN简介及使用限制#5. SVN库地址说明。
2. 用户名密码校验失败?
一般是由于保存了某个SVN库的登录凭证,导致访问另外1个SVN库时密码错误导致的,请开发者清除登录凭证。
访问SVN库时,会弹出要求用户输入SVN库用户名和密码的弹框,如下图所示:
注意不要勾选下面的“Save authentication”,原因是如果1个开发者有多个应用,则有多个SVN库,保留1个SVN库的登录凭证可能会导致登录别的SVN库失败。
如果失败,请选择右键菜单的“TortoiseSVN”->“Settings”->“Save Data”对话框中,点击“Authentication data”旁的“Clear”按钮,清除登录凭证。 清除登录凭证如下图所示:
3. SVN提交文件时提示文件冲突怎么办?
1. 如果执行svn commit命令时遇到了"xxx is out of date"提示,如下图所示:
那么一般是因为您修改了本地某文件或目录结构,而别人也修改了同一个的文件或目录并且先于您提交到了SVN库。
2. 解决的办法是先使用svn update命令获取SVN库上最新修改的文件,这个命令并不会直接覆盖掉您本地所做的修改,SVN客户端会先尝试将SVN库上该文件的修改合并到你的本地文件中。
如果SVN客户端成功的进行了合并,您可以再次执行SVNcommit命令进行本地文件的提交即可。
3. 如果SVN客户端无法进行自动合并(可能因为文件是一些二进制文件,或者两人修改的地方是同一个,或者修改的地方太多等原因),则svn客户端会提示“one or more files are in confict state”,即告诉您有文件发生了冲突,如下图所示:
4. 如果是文本文件冲突,则在文件夹下会多出几个冲突文件,如下图所示:
其中:
-f2是尝试合并的文件,里面有svn客户端加入的一些标记;
-f2.r69是您本地修改文件的基础版本,69是版本号;
-f2.mine是您本地修改后的文件,即f2.mine是在f2.r69文件基础上更改的;
-f2.r70是服务器上最新版本的文件,即别人修改后提交的文件。
此时的解决方法有多种:
(1)比较f2.r70和f2.mine,将您自己做的修改和别人做的修改手工合并,然后把合并后的内容覆盖到f2中。
最后右键点击f2,然后选择Resovled,之后f2.mine,f2.r69,f2.r70文件都会自动被删除。然后您再次执行svn commit就可以了。如下图所示:
(2)如果要保留别人的修改而放弃自己的修改,则可以删掉f2,f2.mine, f2.r69,f2.r70几个文件,再执行以下update,这样会重新从服务器上把最新文件下载到本地。
(3)如果是保留自己的修改而放弃别人的修改,则可以删掉f2,f2.r69,f2.r70,然后把f2.mine改名为f2,然后再次执行svn commit,就可以把自己的修改上传到svn服务器。
5. 如果发生冲突的是二进制文件,此时SVN客户端是无法执行自动合并的,这样目录下只会多出以.rXX结尾的两个文件,而不会出现.mine结尾的文件,此时的处理方法可以参考上面的(2)(3)。