在Mercurial中提交个别行?

时间:2014-04-09 14:25:08

标签: mercurial

我正在使用Workbench,但如果有针对此扩展或某些扩展的命令行解决方案,我也可以使用它。

我经常在每个环境中使用配置文件(在.NET中工作,所以请不要回答la"更改配置文件"等等),有时候我需要提交文件的特定更新。我在Github for Mac客户端中看到过这种行为,但在Mercurial / Workbench中有这样的行为吗? e.g。

web.config

config value="123"
whatever blah blah

更改两行,例如

config value="42"
whatever

我的目标是只提交第2行(无论),而不提交第1行(配置值=" 42"

3 个答案:

答案 0 :(得分:4)

您可能需要Mercurial附带的RecordExtension,但必须启用才能使用。

答案 1 :(得分:2)

Record Extention在这种情况下无法胜任工作。它会将两个更改合并为一个您可以包含或不包含的大块,但它不允许您拆分它们。

您需要的是CRecord Extention,因为它允许您选择单独的行。它也是一个更好的界面。

编辑:自写这篇文章以来,Record和CRecord已经融入核心。 commit -i现在相当于record,如果将其添加到.hgrc,则记录命令将使用更好的界面。

[ui]
interface=curses                                                      

答案 2 :(得分:0)

@Transactionalhg record可以完成这项工作,但是您必须使用hg commit -i命令才能手动编辑补丁。 对于您的情况,您将必须替换:

e

-config value="123"
-whatever blah blah
+config value="42"
+whatever

这不是最好的UI,但是可以完成工作。