Drukuj Bieżący Skrót Rewizji Mercurial?

Czy istnieje lepszy sposób wyodrębnienia bieżącego hasha rewizji w Mercurial niż

hg log -l1|grep changeset|cut -d: -f3

?

Część mojego skryptu wdrażania webapp "tagi" przesłane tarball aplikacji z unikalnym hash rewizji.

Author: rentzsch, 2010-03-21

8 answers

Try:

hg id -i

Przykład:

$ hg id -i
adc56745e928
 174
Author: Ry4an Brase,
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-03-21 04:25:51
hg --debug id -i

To wyświetli długi hash, z plusem, jeśli są niezatwierdzone zmiany.

 37
Author: Frank,
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-02-15 20:48:11

Możesz użyć --template z Komendą nadrzędną, używam tego, aby uzyskać długi hash:

hg parent --template '{node}'
 17
Author: shadowspawn,
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-02-16 20:16:53

Podsumowując odpowiedzi i ich odpowiedzi, wydaje się, że jest to najlepszy sposób na wydrukowanie unikalnego identyfikatora (nie krótkiego formularza) z aktualna wersja :

hg log -l 1 --template '{node}\n' -r .
 12
Author: rog,
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
2013-08-02 12:29:09
hg log -l 1 --template '{node|short}\n'

Zobacz docs , paragrafy "podstawy szablonów" i następne.

 7
Author: Alex Martelli,
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-03-21 03:26:58

Najbardziej szczegółowe polecenie nieaktualne, które ze względu na obecność --template może drukować tylko informacje o wersji, jeśli wymagana jest zwięzłość (co sugeruje pytanie):

hg log -l 1 -b . -T '{rev}:{node|short}\n'

Lub dla unikalnej długiej formy haszu:

hg log -l 1 -r . -T '{node}\n'

-b . lub branch(.) (kropka dla nazwy gałęzi) oznacza bieżącą gałąź katalogu roboczego , a -r . oznacza bieżącą rewizję katalogu roboczego, która jest udokumentowana w hg help revsets oraz hg help revisions.

Uwaga Jeśli istnieje niezakontraktowane połączenie, . (kropka) wyświetla tylko pierwszy rodzic dwóch rodziców grupy roboczej.

 3
Author: Shelby Moore III,
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
2017-05-23 12:26:32

Jak zauważyli inni, nie używaj log -l.

Użyj hg log -r ., Aby uzyskać szczegółowe informacje, w przeciwieństwie do używania hg id, którego wyjście jest ograniczone i nie obsługuje szablonów. Możesz również utworzyć mały alias, taki jak here = log -r . i użyć hg here. Jeśli chcesz tylko użyć hash hg log -r . --template '{node}\n'.

 1
Author: Gru,
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-08-01 09:27:49

W przypadku użycia TortoiseHg, kliknij prawym przyciskiem myszy Wiersz revision w Workbenchu i wybierz "Copy hash" (zgodnie z documentation ).

Tutaj wpisz opis obrazka

 0
Author: texnic,
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-07-24 16:32:36