.hgignore не работи

Създадох .hgignore файл, но преди това изпратих структурата на проекта на сървъра. Сега hgignore не работи за тези файлове, които са били изпратени по-рано. Прочетох някъде, че трябва да премахна тези файлове и директории от списъка за проследяване или да ги добавя по някакъв „личен“ начин, но не мога да разбера как трябва да го направя. Проблемът е още по-сложен, защото написах sh скрипт, който копира част от тази структура на друго място (проектът се състои от някои клиентски приложения и www сървър, тези сървърни файлове се копират на друго място след всяка команда hg push). Така че искам да игнорирам някои файлове (но искам тези файлове да съществуват на сървъра, просто бутнати веднъж с някаква конфигурация) и искам да копирам тези игнорирани файлове с моя sh скрипт (най-важното нещо в този скрипт е фактът, че използвам „hg архив“, за да се справя с това, което искам да копирам). Надявам се това да е разбираемо за някой :)


person sennin    schedule 21.03.2012    source източник


Отговори (2)


.hgignore игнорира само файлове, които все още не са добавени към хранилището. Използвайте hg forget, за да спрете проследяването на вече добавен файл.

Не можете да регистрирате файл и да игнорирате промените след това. За конфигурационни файлове най-добрата практика е да проверите файл с шаблон и да игнорирате действителния локален конфигурационен файл. След това някой, който изтегля репото, може да копира файла с шаблона и да направи своите локални промени. Вашият sh скрипт може да автоматизира това.

person Mark Tolonen    schedule 22.03.2012

По принцип Марк Толонен вече каза всичко важно в своя отговор.

Просто исках да добавя пример за тази част от неговия отговор:

За конфигурационни файлове най-добрата практика е да проверите файл с шаблон и да игнорирате действителния локален конфигурационен файл. След това някой, който изтегля репото, може да копира файла с шаблона и да направи своите локални промени. Вашият sh скрипт може да автоматизира това.

Отговорих на подобен въпрос преди време с подробен пример:
как да игнорирате файлове в kiln/mercurial с помощта на tortoise hg, които са част от хранилището

Моят отговор обаче е за Visual Studio (което очевидно не използвате, според въпросите, които сте задавали досега), но може да ви помогне да получите основната идея, така че трябва да можете лесно да я приемете във всеки друга среда.

person Christian Specht    schedule 23.03.2012