2 Stimmen

Mercurial - eine Möglichkeit, die geänderten Dateien aus einer Reihe von Changesets zu erhalten?

Ich habe einen Satz von Code markiert, der auf unseren Server hochgeladen werden soll.

Ich frage mich jedoch, welche Möglichkeiten es gibt, sie anschließend zu pflegen. Theoretisch könnten die Mercurial-Änderungssätze verwendet werden, um alle Dateien zu "exportieren", die seit dem markierten Änderungssatz geändert wurden, so dass ich bei nachfolgenden Builds nur die geänderten Dateien hochladen muss.

Ist dies möglich?

2voto

Lasse V. Karlsen Punkte 364542

Es gibt wahrscheinlich mehrere Möglichkeiten, diese Liste von Dateien zu erhalten, aber hier ist eine davon:

hg diff --stat -r TAG:

Die Ausgabe sieht dann etwa so aus:

\[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(-)

Hier ist ein weiteres Beispiel, das den Befehl log mit XML-Ausgabe verwendet:

\[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>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X