Подтвердить что ты не робот

Есть ли опция ignore-on-commit в mercurial?

Есть ли способ игнорировать изменения в некоторых файлах с фиксацией с помощью mercurial?

У меня есть конкретная ситуация, когда у нас есть файл oracle tnsnames.ora по умолчанию, который указывает на 127.0.0.1, но некоторые разработчики изменят его, чтобы указать на другие системы, но мы не хотим изменять файл по умолчанию.

В подрывной работе я просто добавил это в список изменений в-игнорировать. Есть ли способ сделать это в mercurial?

4b9b3361

Ответ 1

Если файлы, которые вы хотите опустить из команды "hg commit", уже "отслеживаются", вы должны использовать опцию -X. Образец, переданный в -X, довольно гибкий, что позволяет запускать, например:

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

чтобы избежать фиксации любого файла с расширением .conf, независимо от того, насколько глубоко он находится в исходном дереве. В рабочей области, показанной выше, это должно было бы зафиксировать "src/bar.c" и "lib/libbar/loader.c", но не "etc/foo.conf".

Чтобы исключить несколько шаблонов имен файлов, используйте несколько опций -X, например:

% hg commit -X '**.conf' -X '**.sh'

Ответ 2

Традиционно это решается не версией самого файла, а версией его копии в качестве шаблона для других пользователей.

Итак, вы бы hg mv tnsnames.ora tnsnames.ora-template, затем совершите, затем сделайте прямую копию файловой системы tnsnames.ora-template в tnsnames.ora и добавьте tnsnames.ora в файл .hgignore.

Последующие изменения в шаблоне все равно будут вытеснены, но они фактически не изменят рабочую среду, если кто-то не копирует шаблон в фактический файл.

Ответ 3

Вы могли бы псевдоним совершить что-то вроде "hg commit -X excluded_file.ext". Я никогда не пользовался mercurial, поэтому я просто иду по man-странице здесь.

Ответ 4

Ищите файл .hgignore в документации Mercurial.

Вот пример файла игнорирования.

       # use glob syntax.
       syntax: glob

       *.elc
       *.pyc
       *~

       # switch to regexp syntax.
       syntax: regexp
       ^\.pc/