Czy w mercurial istnieje opcja ignorowania przy zatwierdzaniu?

Czy Jest jakiś sposób, aby zignorować zmiany w niektórych plikach w commicie za pomocą mercurial?

Mam konkretną sytuację, w której mamy domyślną Oracle tnsnames.plik ora, który wskazuje na 127.0.0.1, ale niektórzy programiści zmodyfikują go tak, aby wskazywał na inne systemy, ale nie chcemy zmieniać pliku domyślnego.

W subversion, po prostu dodałem to do listy zmian ignore-on-commit. Czy można to zrobić w mercurial?

Author: Martin Geisler, 2009-05-19

4 answers

Jeśli pliki, które chcesz pominąć w poleceniu " Hg commit "są już" śledzone", powinieneś użyć opcji-X. Wzór przekazywany do-X jest dość elastyczny, dzięki czemu można uruchomić na przykład:

% hg stat
A etc/foo.conf
M src/bar.c
M lib/libbar/loader.c
% hg commit -X '**.conf'

Aby uniknąć popełnienia jakiegokolwiek pliku z".conf " rozszerzenie, niezależnie od tego, jak głęboko w drzewie źródłowym żyje. W obszarze roboczym pokazanym powyżej będzie to commit " src / bar.c " i " lib/libbar/loader.c "ale nie" etc / foo.conf".

Aby wykluczyć wiele wzorców nazw plików, użyj wiele opcji-X, np.:

% hg commit -X '**.conf' -X '**.sh'
 49
Author: Giorgos Keramidas,
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
2009-05-22 01:16:36

Tradycyjnie rozwiązuje się to nie poprzez wersjonowanie samego pliku, ale poprzez wersjonowanie jego kopii jako szablonu dla innych.

Więc możesz hg mv tnsnames.ora tnsnames.ora-template, następnie zatwierdzić, a następnie wykonać prostą kopię systemu plików tnsnames.ora-szablon do tnsnames.ora, i dodać tnsnames.ora do ... plik hgignore.

Kolejne zmiany w szablonie nadal zostaną wypchnięte, ale nie zmienią środowiska pracy, chyba że ktoś skopiuje szablon do rzeczywistego pliku.

 22
Author: Zed,
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
2009-05-21 03:18:03

Możesz dodać Alias commit do czegoś takiego jak ' Hg commit-X excluded_file.ext ' nigdy nie używałem mercurial, więc po prostu przejdę przez stronę man tutaj.

 1
Author: Josh Matthews,
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
2009-05-19 19:29:25

Szukaj .plik hgignore w dokumentacji Mercuriala.

Oto przykładowy plik ignoruj.

       # use glob syntax.
       syntax: glob

       *.elc
       *.pyc
       *~

       # switch to regexp syntax.
       syntax: regexp
       ^\.pc/
 -2
Author: 0x6adb015,
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
2009-05-19 19:31:31