2010-07-27 16 views
12

Ich mag würde eine Datei wiederherstellen, die gelöscht wurde in einigen begehen, und es unter einem anderen Namen wieder herzustellen, so dass er die Geschichte teilt. In Subversion würde ich tunMercurial: Wiederherstellen von Dateien

svn cp [email protected] dest 

, d. H. Pegrevisionen verwenden. Was ist das Äquivalent in Mercurial?

+0

Ich glaube nicht, dass hg eine Datei Geschichte verfolgen kann zwischen direkt umbenennt. Interessante Frage jedoch. –

Antwort

7

Ich glaube nicht, Mercurial hat eine eingebaute Möglichkeit, dies zu tun. Aber ich denke, man kann über den gleichen Effekt:

hg up -C REV # Update to revision containing a copy of the file 
<modify the file in question> 
hg commit # Create second head based on old revision 
hg merge # Merge two heads into one 
# Note: make sure to choose to have the file exist 
hg commit 
hg mv MYFILE MYNEWNAME 

Dies wird die Datei alle ihre alte Geschichte halten, wie am besten Mercurial kann es verfolgen.

+1

I'd've den ‚mv‘ erfolgte vor der Zusammenführung, in dem neuen unbenannte Zweig, aber das Endergebnis ist das gleiche. –

+0

Das ist für mich in Ordnung war, mit Ry4an Empfehlung nur die Datei zu bewegen, wo die Prozedur schlägt „<, um die betreffende Datei ändern>“. –

7

Wäre das nicht nur (wenn Sie "hg remove" d src in REV + 1):

hg revert -rREV src 
hg status 
A src 
hg rename src dest 
hg commit -m"restored src and renamed it to dest" 

Arbeit?

bearbeitet: Ich habe es gerade getestet und es scheint in Ordnung zu sein. Eigentlich ist für "src" kein "hg add" notwendig, da revert sich darum kümmert. Wenn Sie jedoch begehe man nur anstelle von zwei (wie im Code oben), wird hg eine Warnung:

src wurde noch nicht verpflichtet, so dass keine Kopie Daten werden für dest gespeichert werden.

Hoffe, es wird helfen.

+0

Das würde funktionieren, um die Datei wiederherzustellen; Das gleichzeitige Umbenennen ist nicht möglich (da die hinzugefügte Datei keinen Verlauf hat). Mit zwei Commits hätte das aber auch funktioniert. –

Verwandte Themen