2010-12-06 6 views
5

Como título, si copio de un archivo a archivo de destino, entonces confirmo el cambio. Después quiero encontrar el archivo principal del archivo copiado, ¿Cómo puedo hacer? por ejemplo ...¿Cómo puedo encontrar el archivo principal de un único archivo después de copiar?

hg copy archivo1 archivo2
hg ci -m "copia archivo1 archivo2 a"

cómo encontrar a los padres de fichero2? Si utilizo el comando hg parents, solo encuentro parent de changeset no file2.

gracias ....

Respuesta

2

Uso --template para acceder formato:

hg log --template "{file_copies}\n" file2.txt 

Filtrar cadenas vacías (primera línea - en Unix, segundo - en Windows):

hg log --template "{file_copies}\n" file2.txt | grep . 
hg log --template "{file_copies}\n" file2.txt | findstr /R "." 
0

Bueno, una forma es que se puede hacer un diff del archivo:

 
hg log file2 -r 0: 

Si conoce el conjunto de cambios donde fue introducida debe especificar que después de la de colon:

 
hg log file2 -r 0:1 

La salida:

 
[C:\Temp\repo] :hg diff test2.txt -r 0:1 
diff --git a/test1.txt b/test2.txt 
copy from test1.txt 
copy to test2.txt 

Pero podría haber mejores formas.

+0

hg log comando tiene la capacidad de seguir los archivos copiados. – pyfunc

+0

+1 Gracias, no lo sabía. –

7

hg log proporciona la facilidad

hgt $ hg log --copies -v b.py 
changeset: 1:a9c003a9bddb 
tag:   tip 
user:  "xxxxx" 
date:  Mon Dec 06 01:40:01 2010 -0800 
files:  b.py 
copies:  b.py (a.py) 
description: 
copied file 

Uso del verbose mode y también --copies de encontrar si el archivo se ha utilizado el uso de comandos hg copy

Cuestiones relacionadas