Mercurial - 从一组更改集中获取更改文件的方法?

时间:2010-12-10 08:36:21

标签: mercurial

我已经标记了一组要上传到我们服务器的代码。

但是,我想知道之后维护它的选项。从理论上讲,Mercurial的变更集可用于“导出”自标记变更集以来已更改的所有文件,因此在后续构建之后,我只需要上传已更改的文件。

这可能吗?

1 个答案:

答案 0 :(得分:2)

获取该文件列表可能有几种方法,但这里有一个:

hg diff --stat -r TAG:

这将输出如下内容:

[C:\Dev\VS.NET\DiffLib] :hg diff --stat -r 27:
 .hgignore                                           |    2 +
 Binaries.fbp7                                       |  Bin
 Binaries.fbpInf                                     |   13 +-----
   ...
 19 files changed, 370 insertions(+), 41 deletions(-)

这是另一个,使用带有XML输出的log命令:

[C:\Dev\VS.NET\DiffLib] :hg log --style=XML --verbose -r 27:
<?xml version="1.0"?>
<log>
<logentry revision="27" node="fc6db773ccbb335cc11f42ea4588adea6b179cd8">
<author email="lasse@vkarlsen.no">Lasse V. Karlsen</author>
<date>2010-11-30T12:03:38+01:00</date>
<msg xml:space="preserve">Ensured &quot;.orig&quot; files are ignored.</msg>
<paths>
<path action="M">.hgignore</path>
</paths>
</logentry>
<logentry revision="28" node="a1f739dd59a73d37ff058f3cc89e0b42d535bee5">
<author email="lasse@vkarlsen.no">Lasse V. Karlsen</author>
<date>2010-11-30T12:17:06+01:00</date>
<msg xml:space="preserve">Changed to .NET 3.5 to support more projects. Impl
e&lt;T1,T2&gt;</msg>
<paths>
<path action="M">DiffLib.Tests/DiffLib.Tests.csproj</path>
<path action="M">DiffLib/AlignedDiff.cs</path>
<path action="M">DiffLib/DiffLib.csproj</path>
<path action="M">README.markdown</path>
</paths>
</logentry>