2010-04-20 9 views
26

Wiem, że Mercurial może śledzić nazwy plików, ale jak mogę je zmienić na show mnie zmienia nazwy zamiast dodawać/usuwać, gdy robię hg status? Na przykład zamiast:Wyświetlanie nazw w stanie hg?

A bin/extract-csv-column.pl 
A bin/find-mirna-binding.pl 
A bin/xls2csv-separate-sheets.pl 
A lib/Text/CSV/Euclid.pm 
R src/extract-csv-column.pl 
R src/find-mirna-binding.pl 
R src/modules/Text/CSV/Euclid.pm 
R src/xls2csv-separate-sheets.pl 

Chcę wskazać, że cztery pliki zostały przeniesione.

Wydaje mi się, że czytałem gdzieś, że wyjście jest tak, aby zachować kompatybilność wsteczną z czymś lub innym, ale nie martwię się tym.

+0

Czy masz na myśli "status hg"? Nie uważam, że dziennik hg generuje dane wyjściowe w formacie, który podałeś. –

+0

Właściwie używam następujących elementów, aby zrobić dziennik hg Pokaż dodatkowe rzeczy (i kolory): http://bitbucket.org/sjl/mercurial-cli-templates/src/ Zmieńmy więc pytanie na "hg status". –

Odpowiedz

32

Istnieje kilka sposobów, aby to zrobić.

Zanim zdecydują, można użyć hg diff --git pokazać, co zostało przemianowane:

$ hg diff --git 
diff --git a/theTest.txt b/aTest.txt 
rename from theTest.txt 
rename to aTest.txt 

Zauważ, że to działa tylko jeśli użyto hg mv, hg rename lub mv i hg addremove --similarity 100.

Po popełnić, można nadal korzystać hg diff, ale musisz określić zmianę używając -r:

$ hg diff -r 0 -r 1 --git 
diff --git a/test.txt b/theTest.txt 
rename from test.txt 
rename to theTest.txt 

Zarówno hg status i hg log użyj -c wiersza polecenia, aby zobaczyć źródło, z którego został skopiowany plik.

$ hg status -C 
A aTest.txt 
    theTest.txt 
R theTest.txt 

Linia tuż poniżej aTest.txt wskazuje źródło został skopiowany z (theTest.txt).

$ hg log -v -C 
changeset: 1:4d7b42489d9f 
tag:   tip 
user:  jhurne 
date:  Tue Apr 20 20:57:07 2010 -0400 
files:  test.txt theTest.txt 
copies:  theTest.txt (test.txt) 
description: 
Renamed test.txt 

Można zobaczyć pliki, które zostały dotknięte (TEST.TXT i theTest.txt) i że "theTest.txt" została skopiowana z Test.txt.

14

Możesz dowiedzieć się, ile plików zostało zmienionych z podsumowaniem hg. Jeśli chcesz zobaczyć rzeczywiste pliki, które zostały przemianowane najszybszy sposób znalazłem to zrobić: wyjściowy coś

hg st -a -C 

to będzie tak:

A <path\to\renamed\file> 
    <path\copied\from> 
A <path\to\added\file> 
A <path\to\renamed\file> 
    <path\copied\from> 

Ponieważ stan Hg uznaje się rename Aby skopiować i usunąć, pliki o zmienionej nazwie będą zawierały listę skopiowanych plików. Pliki, które zostały dodane, ale nie zostały zmienione, nie będą zawierały skopiowanego pliku.