SVN和文件名'更改'的问题

时间:2011-01-17 17:49:43

标签: visual-studio-2010 tortoisesvn visualsvn

我在Visual Studio 2010中编程,使用TortiseSVN和VisualSVN作为我的客户端连接到SVN存储库。

虽然整个SVN的事情很普遍,但我经常遇到一些问题。不断出现的一件事是,如果我对文件进行更改 - 即文件名,或将它们移动到新文件夹等,我最终会遇到与存储库的各种冲突,这只会导致各种奇怪的错误。

我理解像这样的版本控制和签入/签出访问的重要性,但你们大多数人都在做什么来处理这种事情?我的意思是,我已经尝试过整个'从Subversion中删除',更改我的文件,然后'添加到Subversion'的事情,它似乎似乎没有做好这项工作。在处理Web项目时尤其令人沮丧,因为随着项目的发展和变得多方面,文件名可能会经常发生变化。

是否有任何标准的方法来处理这类事情,或者它只是SVN的一个缺陷?

3 个答案:

答案 0 :(得分:4)

首先,我必须承认,在过去的几年里,我介入了SVN提供的每一个陷阱。 但在99%这是我的错。

常见的错误是:

  • 重命名文件,只将lowercase.txt更改为UPPERCASE.txt(仅限Windows,以避免将名称更改为UPPERCASE1.txt,而不是重命名为UPPERCASE.txt)
  • 使用资源管理器进行重命名/删除/移动操作(更好地使用Tortoises内置方法
  • 交叉合并相关冲突

还有一些我现在记不清了。

我还没有使用过visualsvn,但我认为它是建立在Tortoise之上的。如果你使用Visual Studio,我会推荐ankhsvn http://ankhsvn.open.collab.net/,它与visual studio有很好的集成,可以捕获你可以犯的大多数错误(全部来自IDE)。

答案 1 :(得分:1)

另一个提示:不要尝试在一次提交中移动/删除/重命名一大堆文件和目录。在subversion服务器和客户端v1.6(Ankhsvn和乌龟都依赖于它们)中至少存在一些错误,至少搞砸了你的工作副本。多重提交方法将起作用(首先重命名,提交,然后移动一个文件夹,提交等)。

答案 2 :(得分:0)

Subversion将文件名更改为删除和添加,这可能会有些问题。这只是Subversion的一个固有限制,也是我们中的一些人转而使用不同版本控制系统的原因之一。