如何合并具有提交历史记录的两个文件?

问题描述 投票:0回答:1

在我们的存储库中,我们有一些文件是从我们使用的应用程序导出的。直到最近,无论何时创建新的导出文件,该文件都被复制/粘贴到存储库中并提交,因此版本控制和提交历史记录都在同一文件上。

但是,似乎有人将最近的导出文件复制/粘贴到了存储库中,其名称包含一个日期(我应该进行额外的版本控制),添加了文件并提交了它们,从而创建了单独的版本和提交历史记录。

因此,这是一个原始示例(列出的修订是该文件的最新修订):

Alfa.abc                 (Revision 100)
Bravo.abc                (Revision 135)
Charlie.abc              (Revision 117)

这是现在的样子的示例(列出带有日期的文件的修订是该文件的唯一修订):

Alfa.abc                 (Revision 100)
Alfa_10052019.abc        (Revision 152)
Bravo.abc                (Revision 135)
Bravo_10062019.abc       (Revision 154)
Charlie.abc              (Revision 117)
Charlie_10012019.abc     (Revision 141)
Charlie_10102019.abc     (Revision 177)

因此,在第二个示例中,Charlie.abcCharlie_10012019.abcCharlie_10102019.abc是不同的修订,并且与之前的修订(177的修订是141的修订是117的修订)相比有递增的变化版本不正确。

是否有将这些文件合并在一起的方法,所以只有一个Charlie.abc文件具有Charlie.abc拥有的所有以前的修订版,再加上带有日期(141,177)的文件中的两个新修订版?我知道合并可能不是描述这个词的正确词,但希望我的解释是有意义的。

如果有解决方法,则修复后Charlie.abc的日志如下所示:

Revision     Date          Message
88           09/27/2019    artifact #316     *This was an existing revision
117          09/29/2019    artifact #316
141          10/01/2019    artifact #316
177          10/10/2019    artifact #316

我是GUI用户,因此,如果有使用GUI的解决方案,那将是理想的选择。

谢谢!

svn tortoisesvn
1个回答
0
投票

我不确定在Subversion中是否可行,但可以手动合并它们的差异作为替代解决方案吗?

  1. 在TortoiseSVN中使用svn diff或Diff命令来查找原始文件和新文件之间的差异。
  2. 手动将这些差异添加到原始文件中,基本上就是将它们合并在一起。如果要使用GUI,您仍然可以使用标题为TortoiseMerge的同一个Diff窗口来快速执行此操作。
  3. 提交修改的文件。
  4. 根据您的需要,您可以删除带有下划线的文件或仅取消版本控制,然后将其添加到忽略列表。

我知道这会给您新的提交日期和修订号,但是如果没有其他效果,那仍然可以接受。

© www.soinside.com 2019 - 2024. All rights reserved.