我在几周前开始使用SVN。我现在面临一个奇怪的问题。我们有一个文件,由我添加到存储库中。另一位开发人员昨天检查了它,对它进行了一些修改,然后将它发布到了存储库。今天,我对该文件进行了一些修改,并将其发布到了存储库。但是当我下载该文件时它没有要求我合并这些更改,所以现在我只有我修改过的版本,而其他开发人员所做的更改甚至没有显示在日志中。
我在这里缺少什么?我应该如何合并两个变化?我们使用TortoiseSVN作为客户。
编辑:所有其他开发人员都可以在他们的SVN客户端看到日志条目!因此,似乎提交已正确完成。答案 0 :(得分:7)
我们刚才也发生了同样的事情。除了提交它的人之外,其他人都看到了最新版本。修复他的svn目录没有帮助... Show All没有帮助......
事实证明,当您发出“显示日志”命令时,您有3个选项框:
当他选择Include Merged Versions框时,TortoiseSVN在Show Log中再次检索了几乎相同的修订版本,但这次包含了最新版本!取消选中此框并未删除最新版本。
我的理论是,Tortoise在本地缓存SVN信息,并使用它而不是通过网络。更改主要选项会强制它重新读取SVN日志历史记录。
答案 1 :(得分:4)
听起来你应该处于这种情况,而Turtle Book:
本地更改,且已过期
该文件已在工作目录和存储库中更改。该文件的svn提交将失败,并显示“过时”错误。该文件应该先更新; svn update命令将尝试将公共更改与本地更改合并。如果Subversion无法以合理的方式自动完成合并,则会将其留给用户解决冲突。
我会验证两件事:
答案 2 :(得分:3)
右键单击桌面,您将看到tortoiseSVN,点击tortoiseSVN->设置。转到已保存的数据并清除上面提到的日志。 如果您有任何其他问题,请与我们联系。
答案 3 :(得分:1)
听起来你的工作副本没有正确更新。我不熟悉TortoiseSVN,但尝试更新您的工作副本并再次检查日志。您的更改可能已默默合并。
答案 4 :(得分:0)
我遇到了同样的问题,它没有显示日志历史记录,现在通过清除SVN设置中保存的数据来解决它