如何更正“提交失败。 文件xxx已过期。 找不到xxxpath“。

我最近遇到了一个特别棘手的问题,就是颠覆中的合并的结果。 我们的Subversion服务器是@ 1.5.0,我的TortoiseSVN客户端现在是@ ​​1.6.1。

我正在尝试将一个function分支合并到我的主干中。 合并似乎工作正常; 但是,提交失败并显示以下错误消息。

Commit failed (details follow): File 'flex/src/com/penbay/invision/portal/services/http/soap/ReportServices/GetAllBldgsParamsByRegionBySiteResultEvent.as' is out of date '/svn/ibis/!svn/wrk/531d459d-80fa-ea46-bfb4-940d79ee6d2e/visualization/trunk/source/flex/src/com/penbay/invision/portal/services/http/soap/ReportServices/GetAllBldgsParamsByRegionBySiteResultEvent.as' path not found You have to update your working copy first. 

我工作的干线是最新的。 我甚至检查出一个新的不同的文件夹,以确保没有任何本地残缺与合并。 我已经做了一些更多的研究,我认为这个问题的一部分是用户错误。 我认为我们的问题是:

  1. 我们有一些开发人员在1.5之前和颠覆客户端的工作。 我相信这有可能破坏合并信息。
  2. 在其他分支我们进行了部分合并。 也就是说,我们并不总是在分支的根部进行合并。 这是为了方便更新同一分支中的Flex和.NET工作。
  3. 我们在我们的分支上执行循环(reflection)合并。 这是因为我们有多个并行分支,我们想定期更新我们的分支与最新的代码在主干。

所有这些东西都不是Subversion书籍/团队推荐的。 我们已经吸取了教训,现在知道最佳做法。 但是,我们首先需要合并并提交我们最新的分支。

纠正我们遇到的问题的最好方法是什么?

删除干线和分支中的所有合并信息将是一个可行的解决scheme? 不,我已经做到了这一点,但是这并没有解决我得到的错误。

我今天有同样的问题,我没有做任何中间合并,所以从您的开幕职位只有#1可能适用 – 但是我已经提交从Ubuntu的svn客户端,以及在Windows窗口tortoisesvn。 幸运的是在我的情况下,没有改变干线,所以我可以用分支来replace干线。 可能不同的SVN版本呢? 这很令人担忧。

如果你使用svn移动/复制/删除function,虽然没有历史遗失在我的情况下 – 我svn移动树干,然后svn移动分支树干。

我刚刚遇到了这个问题,原因似乎是一个目录被标记为冲突。 修理:

 svn update svn resolved <the directory in conflict> svn commit 

我在1.6.2服务器上得到这个1.6.8的龟。 所有在Windows上,没有合并在这个分支。

我重命名了一个目录,并以某种方式(可能由于AnkhSVN)目录中的两个文件被标记为“replace”,而不是“正常”。 目录中的其他文件还有一些额外的小改动。

恢复标记为已replace的文件可解决问题。

我尝试提交工作副本时遇到同样的问题。 我所做的是将Subversion报告为“path未find”的文件夹添加到忽略列表中。 提交(应该成功)。 然后将相同的文件夹添加回Subversion。 再次提交。

我刚刚有类似的问题,但没有任何分支或合并导致问题。 我的解决方法是:

  • svn导出我的工作文件夹(包括未版本控制的文件)到一个临时文件夹。
  • 重命名工作文件夹的备份。
  • svn结帐的树干。
  • 将temp文件夹中的所有文件夹复制到新的工作文件夹中。
  • svn提交。

现在一切都好了。

我也有同样的问题,我通过以下方法解决相同的问题

 svn resolve --accept=working <FILE/FOLDER NAME> svn cleanup svn update <FILE/FOLDER NAME> svn commit <FILE/FOLDER NAME> -m "Comment" 

希望对你有帮助 :)

我知道这是一个老post,但是这个问题还是相当频繁的发生。 我发现解决它的最简单的方法是重命名/删除受影响文件夹中的.svn / all-wcprops文件,然后运行更新并提交。

好家伙! 这看起来不好! 我能想到的唯一select是工作副本是腐败的。

尝试删除工作副本,执行全新的检出并再次执行合并。

如果这不起作用,那么logging一个错误。

我一直无法find令人满意的解决scheme, 但是,我发现一个不满意的解决scheme。

我删除了主干内的所有文件,并提交了这些更改。 然后我将分支代码导出到trunk中,添加了所有的文件,并做了一个大的提交。 这有我的树干模仿我的分支1:1(这正是我想要的)的影响。

不幸的是,由于所有文件的历史现在已经“丢失”,这造成了很大的分歧。 但由于时间限制,似乎没有任何其他select。

我仍然对其他人可能有的答案感兴趣,因为我想知道根本原因是什么以及将来如何避免。

合并了一个分支后,我又遇到了同样的问题。 我能看到的唯一的两个解决scheme是通过Pacifika提供的svn移动解决scheme或手动合并文件与diff工具。 但是我find了解决方法…

不工作的机器运行Subversion客户端1.6.5。 我在Subversion 1.5.4的机器上做了同样的事情,它工作 ! 在这两台机器上,我做了1)清理干线结算,2)svn合并…,和3)svn提交。 我的服务器是1.5.x的价值。

希望这有助于某人。

在Mac 10.6.5上遇到类似SVN 1.6.5的问题,升级到SVN 1.6.9,提交成功。

我想我已经看到了类似的文件夹在服务器上移动,但工作副本仍然绑定到较旧的SVN文件夹结构。 不知道是否有人在你有机会合并分支之前,在你的箱子里移动了东西。

这是可能吗?

这看起来像svn:mergeinfo属性在分支和中继之间的怪异问题。

导致下面的问题(原谅我的命令行指令,因为我做了很多龟):

  1. 你是在树干根级别还是在子文件夹级别合并? 根据我的经验,最好是在根层面上做,这样整个树干认为它已经被合并到而不仅仅是一部分(这似乎在1.5.0中大大混淆了svn)

  2. 我的下一个问题是你使用--reintergrate参数? 我永远不会记得如何去乌龟,但是当你从分支回到树干时,你应该使用这个参数。

  3. 重新整合之前,您是否将树干合并到分支中? 这可以帮助消除您在合并时可能看到的冲突?

  4. 你有没有在分支上的不是在根级别的任何svn:mergeinfo属性? 我发现这总是会导致问题。 你总是可以通过svn -R pg svn:mergeinfo来find它。 然后,您可以logging位于根目录下的位置和修订版本,如果发现它们相关,则通过svn merge --record-only -r start:end <location>将它们移动到根目录,然后从子根目录位置删除它们用svn pd svn:mergeinfo <location>然后你需要提交这些改变

  5. 一旦你完成了所有的事情,再次尝试合并。

我怀疑,但也许运行svn清理工作目录将有所帮助。

我遇到同样的问题,打我的头,发现我已经把represotory中的目录从“/”更改为“/ trunk”,忘记做TortoiseSVN中的“Switch”命令!

哇,这个我花了一段时间来解决,因为我通过Eclipse使用SVN。 最后,我唯一能做的就是提交所有不受影响的文件,然后(在Eclipseclosures的情况下)重命名项目目录,然后从SVN中重新检查项目。 很高兴现在正常工作!

显然SVN不是一个非常可靠的程序。 我有同样的问题(与Turtoise使用SVN),并通过保存.cs文件的内容,然后返回1版本解决它。 这显示了这样的冲突:“<<<<<<<文件名我的更改

=======代码从版本库合并“

而我没有做任何特别的事情(只是一次修改)。

我用保存的内容replace了这个文件的内容,保存,然后通过TortoiseSVN→选中。 然后我可以将修改提交到存储库。

当我尝试提交一个已删除的包(包含各种java类,但没有任何东西需要更多)时,我遇到了同样的问题。

我的解决scheme/解决方法,以解决这个问题:

  • 我把整个包裹都还了回来
  • 先删除内容
  • 提交已删除的内容
  • 最后我再次提交了删除的软件包(并且在大多数情况下工作:-))

然而,有时候不可能提交一个被删除的软件包(不包含任何内容)

我的解决方法:

  • 我在包里创build了一个虚拟类
  • 之后我重复了上述步骤

我最后的提示

但是有时候,再次使包/项目同步变得很简单,而且之后一切都很顺利。

关于我的configuration:

  • Eclipse霓虹灯
  • SVN接口:JavaHL(JNI)1.8.13(r1667537)
  • VisualSVN服务器pipe理器,版本:3.3.1

也许我可以帮助一个人提出我的一个提示。

我有同样的问题,不知道是什么原因背后,但我通过在terminalinput固定

 svn update 

然后我承诺并繁荣它的工作!