【问题标题】:How can I fix this SVN commit which fails as "out of date"?如何修复这个因“过期”而失败的 SVN 提交?
【发布时间】:2009-10-23 01:06:08
【问题描述】:

在我的存储库中,我有两个修订版。 src 代码在修订版 2 上,但我有一个文件搞砸了,所以我将它恢复到修订版 1。

经过几个小时的调试,该 javafile 工作正常,但我无法提交。 SVN 说 javafile 已经过时了。这可能是因为我正在编辑 javafile.java rev1,对吧?

我该如何解决这个问题?我知道我可以将修改后的 javafile rev1 代码复制/粘贴到对应的 rev2 中,然后提交,但还有其他方法吗?我是否错误地使用了 SVN?

【问题讨论】:

标签: svn


【解决方案1】:

更新工作副本应该可以解决它。

从命令行:

X:\WorkingCopy>svn up

或在 TortoiseSVN 中右击并选择SVN Update...

当你更新时,你可能会遇到冲突,这将在你的代码中标记为

>>>>>
...
-----
...
<<<<<

您需要手动解决这些问题。完成后,不要忘记将文件标记为已解决。

X:\WorkingCopy>svn resolve \path\to\file

或在 TortoiseSVN 中右击并选择TortoiseSVN -&gt; Mark as Resolved...

【讨论】:

  • 但是如果我编辑了一些方法,我会得到冲突错误吗?我将如何解决这个问题? :(
  • 冲突意味着您和其他人对同一组代码进行了更改。您现在将在源代码中看到 >>>>>> --------- 和
  • 您可以通过遵循以下建议来预防大而痛苦的冲突:'尽早提交,经常提交'
  • 部分取决于您将文件“还原”到修订版 1 的方式或含义。如果您在使用版本 2 并在其上放置了版本 1 文件的副本,那么将不会更新或需要解决冲突。如果您将工作修订版设置为 1,然后进行编辑并尝试提交,那么您会得到这个过时的问题。相反,您应该将您的工作版本放在首位,并使用还原/合并工具(或删除新内容)删除将应用于您的工作版本的更改。
  • 泰班尼。明白了,格雷格,我应该更新头部版本而不是之前的 TY 版本。
【解决方案2】:

我在 Eclipse (Windows 10) 中遇到了这个问题。通过右键单击有问题的文件夹 > Team > Update to HEAD 解决了这个问题

【讨论】:

    【解决方案3】:

    更新您的工作副本,并通过将具有您本地修改的版本的结果文件复制到带有冲突标记的版本上来解决合并冲突。在其上运行svn resolved,然后签入。这确实假设有没有您想保留的其他更改。

    【讨论】:

      猜你喜欢
      • 2011-03-18
      • 2012-01-02
      • 1970-01-01
      • 2012-04-27
      • 2018-02-12
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多