Mercurial-wszystkie pliki, które zmieniły się w changeset?

Jak można określić wszystkie pliki, które zmieniły się w danym zestawie zmian?

Nie szukam w tym przypadku Diffa, tylko listę Dodaj/usuń / modyfikacje.

hg log -vprX robi listę diffów, ale chcę tylko pliki.

Author: Marcus Leon, 2010-09-24

7 answers

Jeśli chcesz wyświetlić listę tylko plików, które się zmieniły, powinieneś użyć polecenia " status" Poniżej znajduje się lista zmian w plikach w revision REV

hg status --change REV
 128
Author: pyfunc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-24 17:27:16

Po Prostu Usuń p z hg log -vpr wyświetli listę plików. -p oznacza show patch. Możesz również użyć szablonu , aby sformatować wyjście według własnego gustu.

 16
Author: Geoffrey Zheng,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-24 18:44:23

Wiem, że pytanie dotyczy pojedynczego zestawu zmian, ale jeśli chcesz, aby wszystkie pliki zostały zmodyfikowane dla szeregu zestawów zmian, możesz zrobić

hg status --rev 1 --rev 10 -m
 9
Author: Nick DeVore,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-31 20:15:08

Znalazłem to pytanie poprzez Googlowanie dla podobnej koncepcji. Aby wyświetlić wszystkie pliki, które zmieniły się przez Zakres zestawów zmian, jest to tak proste, jak:

hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n" | sed -e 's/ /\n/g' | sort -d | uniq
  1. hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n" wyświetli listę KAŻDEGO pliku zmienionego lub dodanego w każdym zestawie zmian, od [start rev] do [end rev], z plikami każdego zestawu zmian w nowej linii. Zamień {file_mods}{file_adds} na {files}, aby wyświetlić wszystkie pliki zmodyfikowane, dodane lub usunięte.
  2. sed -e 's/ /\n/g' podzieli wszystkie pliki do wyświetlenia w osobnych liniach i
  3. sort posortuje listę za Ciebie, abyśmy mogli filtrować ją za pomocą uniq
  4. uniq filtruje listę w celu usunięcia duplikatów-plików, które zmieniły się w więcej niż jednej wersji.
 2
Author: Eric Lawler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-01 20:31:13

Aktualna Zatwierdzona Rewizja

hg status --change .

. jest skrótem od bieżącego rev, podobnie jak @HEAD w Git

Aktualna Wersja

hg status

Arbitralna Zatwierdzona Rewizja

hg status --change REV_ID
 1
Author: Gibolt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-15 17:27:34

Wiem, że to pytanie jest stare i dziwi mnie, że nikt nie zaproponował zmodyfikowanego kodu w postaci OP. mam listę zmodyfikowanych/dodanych / usuniętych plików (nie oznaczonych, które są które) po prostu uruchamiając hg log -v. Albo tego, czego potrzebowałem hg log -v -l5, aby zobaczyć pliki, które zostały zmodyfikowane/dodane/usunięte w ostatnich 5 commitach (w tym te, których jeszcze nie wcisnąłem do repo).

 0
Author: Đorđe Relić,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-21 14:39:08

Jeśli jesteś jak większość sklepów, używasz systemu biletowego do śledzenia zmian. Jeśli znasz numer paragonu i chcesz znaleźć wszystkie commity powiązane z tym paragonem( zakładając, że umieścisz numer paragonu w wiadomości commit), możesz użyć:

hg log -k TICKET_NUMBER

To wyświetla wszystkie wersje związane z paragonem. Jednak nie wymienia plików. Możesz użyć jednej z powyższych odpowiedzi, aby następnie uzyskać listę plików powiązanych z wersjami.

To make it prostsze, łącząc informacje z poprzednich odpowiedzi, możesz wykonać następujące czynności, aby wyszukać zmiany, w tym zmienione pliki:

hg log -vk TICKET_NUMBER
 -1
Author: iDimensionz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-21 14:33:14