【问题标题】:Subversion: How do I commit a Update To Revision?Subversion:如何提交对修订的更新?
【发布时间】:2011-02-23 20:41:08
【问题描述】:

我有一种情况:

  • 开发人员正在开发 SVN 项目。
  • 人检查 SVN 项目,走开,孩子/猫/妻子坐在/dools/sleepwalks/whatever 在计算机上并插入 gobbledygook asdfg-code。个人提交项目。
  • 开发人员看到错误文件并更新到修订版回到上一个工作版本

一切都很好,直到开发人员想要提交项目。如果开发人员对有问题的文件进行了更改,它将被提交就好了。但如果不是 - 开发人员仅更新到修订版并且没有进行进一步更改 - 该文件将不会被提交,并且对项目的任何更新都会将 gobbledygook asdfg-code 文件呈现给您。

问题:如果我只是“更新到修订”一个文件,如何在不手动编辑文件的情况下再次提交它?

【问题讨论】:

    标签: svn tortoisesvn


    【解决方案1】:

    我认为你选择了错误的路径来解决这个问题。

    与其更改您正在查看的修订版,您应该拥有:

    1. 已更新到包括垃圾在内的最新版本
    2. 在修订日志中发现垃圾提交并选择恢复此更改
    3. 无论是否对工作副本进行任何其他更改,都已提交清理

    因此,您现在要做的就是更新到最新版本(应用垃圾更改)并恢复他们的更改,从而使您恢复正常。就好像他们在您工作时进行了更改,但一开始并没有进行更改。

    只有当您的代码与工作分支/主干的负责人保持同步时,您才能提交。

    SVN 在早期版本的这个时候不会动态地为你创建一个分支,你必须选择创建一个分支,或者更新到头部。

    【讨论】:

    • 所以根本没有办法再次提交更新到某个版本的文件?
    • @Rob:不可能追溯更改修订版。这是版本控制的一个重点......
    • (如何)可以使用 svn 命令行客户端完成第 2 步(“恢复此更改”)吗?
    • 在某种程度上取决于您的命令行客户端 - 示例请参见 the following answer
    • 您的方法有效*(谢谢!),但我仍然感到困惑:为什么这种方法与 OP 描述的方法不同?直觉上,我认为“更新到修订版......”应该做同样的事情。 (但它没有,正如 OP 解释的那样。为什么不呢?)
    【解决方案2】:

    如果您在 Windows 上,并且正在使用 TortoiseSVN:

    1. 右击目录,选择“TortoiseSVN > Merge...”
    2. 选择“合并一系列修订”
    3. 在“要合并的 URL”中选择当前分支(在当前目录中检出的分支)
    4. 在“要合并的修订范围”中输入或选择(“显示日志”)最新的错误修订
    5. 标记“反向合并”复选框

    然后在合并之后,只需提交! :)

    【讨论】:

      【解决方案3】:

      您可以使用以下命令简单地撤消更改

      svn merge -c -RevisionWhichWasWrong ^/trunk
      

      RevisionWhichWasWrong 是您签入的最新版本。之后只需执行

      svn commit 
      

      就是这样。

      顺便说一句:如果您从未对文件的内容进行过更改,则无法签入。

      【讨论】:

        【解决方案4】:

        好问题!据我所知,这只能通过手动向文件添加空格或其他内容来实现,因此 subversion 会将文件视为已更改。之后,它会创建一个新修订版。

        【讨论】:

          【解决方案5】:


          1- 更新到您想成为最后一个版本的特殊版本。

          2- 将此版本导出到文件夹。

          3- 将工作副本更新到最新版本.

          4- 将导出的文件和文件夹覆盖到工作副本文件夹中。

          5- 提交!

          【讨论】:

            猜你喜欢
            • 2016-05-17
            • 2015-11-24
            • 2010-10-08
            • 1970-01-01
            • 1970-01-01
            • 2011-01-01
            • 2014-05-04
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多