2010-12-10 68 views
2

J'ai tagué un ensemble de code à télécharger sur notre serveur.Mercurial - façon d'obtenir les fichiers modifiés à partir d'un ensemble de changesets?

Cependant, je m'interroge sur les options pour le maintenir après. Théoriquement, les changesets de Mercurial pourraient être utilisés pour «exporter» tous les fichiers qui ont été modifiés depuis le changeset marqué, de sorte qu'après les versions ultérieures, je n'ai besoin que de télécharger les fichiers qui ont été modifiés.

Est-ce possible?

+1

Quel système d'exploitation êtes-vous? Si sous Windows, il y a un outil appelé ROBOCOPY qui vous aidera à mettre en miroir le contenu d'un répertoire dans un autre. Cela pourrait être utilisé pour télécharger des fichiers nouveaux et modifiés sans impliquer Mercurial. Je vais regarder la commande Mercurial pour voir si je peux trouver un moyen de trouver ce que vous voulez. –

+0

Merci pour votre commentaire et réponse, je suis en effet sur Windows alors je vais vérifier Robocopy. J'aime aussi la solution de hg diff. – bcmcfc

Répondre

2

Il y a probablement plusieurs façons d'obtenir cette liste des fichiers, mais en voici une:

hg diff --stat -r TAG: 

Ce sera quelque chose de sortie comme ceci:

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

Voici une autre, en utilisant la commande journal avec sortie XML:

 
[C:\Dev\VS.NET\DiffLib] :hg log --style=XML --verbose -r 27: 
<?xml version="1.0"?> 
<log> 
<logentry revision="27" node="fc6db773ccbb335cc11f42ea4588adea6b179cd8"> 
<author email="[email protected]">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="[email protected]">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>