如何更新使用SVN副本创建的SVN分支?

如何更新使用SVN副本创建的SVN分支?,svn,version-control,merge,Svn,Version Control,Merge,我知道没有问题,但我找到的所有资源都失败了,或者给了我新的问题 我的SVN回购中几乎没有分支机构。所有开发者都可以访问他的个人分支。每个分支都由beta分支的一个副本创建 svn copy svn://192.168.0.2/svn/example/branches/beta svn://192.168.0.2/svn/example/branches/dev/devN 现在,当dev1完成工作时,他将他的工作合并到beta中(pwd=./beta/) 好吧,我的问题是,其他开发人员如何使用

我知道没有问题,但我找到的所有资源都失败了,或者给了我新的问题

我的SVN回购中几乎没有分支机构。所有开发者都可以访问他的个人分支。每个分支都由beta分支的一个副本创建

svn copy  svn://192.168.0.2/svn/example/branches/beta
svn://192.168.0.2/svn/example/branches/dev/devN
现在,当dev1完成工作时,他将他的工作合并到beta中(pwd=./beta/)

好吧,我的问题是,其他开发人员如何使用dev1更改将自己的分支更新到最新的beta版

当dev2进行合并时(提交了自己的更改后| pwd=./dev/dev2)

他得到了这个信息:

svn: E195016: Merge tracking not allowed with missing subtrees; try restoring these items first:
pointing his files. -> impossible to merge.

有没有一种方法可以“更新”分支副本?

当有人在没有告诉Subversion的情况下删除某个内容时,会出现错误消息。如果要在该工作副本上运行
svn status
,Subversion所抱怨的路径应显示为
在输出的第一列中。通常这意味着有人使用OS命令而不是svn命令来删除路径

如果您确实希望删除路径,那么可以通过使用
svn rm
命令告诉Subversion这一点来修复此问题。在状态输出的第一列中,路径将显示为已删除,并带有
D
,合并应继续进行(尽管可能存在树冲突)


如果您想了解Subversion项目中的血淋淋的详细信息,请参阅该项目,该项目解释了添加此错误消息的原因。

我收到了此错误,我刚刚使用TortoiseSVN进行了签出。没有删除任何内容。 我确实发现,在一条长路径的末尾,创建了一个“公共”目录,当我转到Repo broswer时,它不会出现。如果我删除父目录并进行更新,“common”目录会再次出现。父目录还显示了一个红色的X,表示OrtoiseSVN认为某些内容是通过OS命令而不是SVN delete命令删除的


我认为代码中有一个bug。我不知道这是否与路径长度有关(Windows 7的问题?),或者是否存在其他问题。

如果您在Windows中工作,并且路径超过256个字符,Windows将开始对某些事情感到不快。我通常通过直接在根文件系统(例如C:\WRK)的短目录下创建工作区来解决这个问题。这将使用比C:\Users\user\U name\Desktop\directory短得多的路径。创建工作区后,我会向桌面添加快捷方式以方便访问。

我收到了相同的消息。svn状态表示一个文件有一个!。它在我的文件系统中,svn在它的数据库中有它,但svn也认为它被删除了(事实并非如此)。我必须删除它,通过subversion删除它,提交所有内容,直到svn状态正常,文件确实丢失。之后,我将这个神秘的文件复制回原处,添加并再次提交。在那之后,subversion和文件系统被反向同步。这一定是subversion中的错误。但幸运的是,我可以修复它。

当存储库中有一个文件的大小写混合,而另一个文件的大小写在Windows中时,我在Windows客户端上发生了此错误。例如,存储库中的“Test.xml”和存储库中的“Test.xml”。
因此,Subversion在这里似乎区分大小写,而Windows则不区分大小写。

我有同样的症状,在Windows上使用cygwin Subversion客户端1.13.0版进行了新的签出。我不知道这是路径长度问题还是案例问题,正如其他答案所示,但切换到linux主机并使用客户端版本1.7.14重新签出解决了我的问题。

顺便说一句,常见合并模式避免在Source中使用PEG修订这不是正确的方法。与为每个用户创建单独的分支不同,您应该创建一个分支,用户应该从此分支签出,他们应该在工作区中工作并提交更改。因此,其他用户只需更新其工作副本即可获得更改。这会让你的生活更轻松。
svn merge svn://192.168.0.2/svn/example/branches/beta@4242 .
svn: E195016: Merge tracking not allowed with missing subtrees; try restoring these items first:
pointing his files. -> impossible to merge.