如何从Tortoise SVN暂时应用(或归档)PATCH / DIFF更改?

时间:2011-06-05 21:16:46

标签: tortoisesvn diff patch visualsvn

自从离开企业界创办自己的创业公司以来,我已经使用 Tortoise SVN + Visual SVN 大约一年了。 Tortoise SVN中有一个我从未想过的功能:

我如何将一堆更改捆绑到PATCH或DIFF文件中,然后:A)与我的联合创始人共享;或者B)将它们归档为一个独立的变化,我可以在我的开发箱上“应用”或“恢复”?

在我以前的雇主,我们使用了一个内部工具,让我们构建包含一组本地更改的所谓 DPK文件。您可以将更改的文件添加到DPK,然后与同事共享。他们可以查看差异工具中的更改,也可以应用DPK的所有更改来测试他们的框中的更改。审核完成后,您可以检查这些更改。您也可以同时应用多个DPK(假设您没有重叠更改)。

我想在VS2010 IDE中使用Tortoise SVN + Visual SVN实现同样的目标。

我的真实情况是,我的广告系列有一些广泛的更改,但我的包装盒上还没有完成。我希望将这些更改和存储存储在DIFF文件中,还原更改,转到其他内容,继续处理,并在几天内从存档的DIFF文件中重新应用我的更改。

1 个答案:

答案 0 :(得分:0)

不情愿地回答我自己的问题。 Tortoise SVN提供此功能。基本上,您创建PATCH文件,分发或归档,然后应用PATCH。唯一的诀窍是当你进行“申请”时确保你在WC(工作副本)中的正确位置。申请时,您会在左侧看到一个弹出菜单,其中包含更改列表中所有文件的列表。您可以逐个或批量应用修补程序。似乎工作得很好。在发布这个问题之前,我应该更多地深入研究文档。

以下是选择位置的文字:

  

“补丁文件已应用于您的   工作副本。这应该从   与以前相同的文件夹级别   创建补丁。如果你不确定   这是什么,只看第一个   补丁文件的行。例如,   如果正在处理的第一个文件是   doc / source / english / chapter1.xml和   补丁文件中的第一行是   索引:english / chapter1.xml然后你   需要将补丁应用到   doc / source /文件夹。但是,提供   你是正确的工作副本,   如果你选错了文件夹级别,   TortoiseSVN会注意到并提出建议   正确的水平。“

请务必仔细挑选位置。如果Tortoise SVN因为您在VS文件资源管理器中选择了错误的节点而无法找到它,它将尝试查找匹配的位置,这可能是错误的。在我的测试中,当我指定错误的位置时,Patch功能实际上试图映射到分支(!!)。

以下是相关链接:

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-patch.html