Mercurial: могу ли я игнорировать файл для push / pull, но все же зафиксировать? (.Hgsub) - PullRequest
4 голосов
/ 26 августа 2011

У меня есть репо с двумя суб-репозиториями, настроенными так:

project/
   |-- folder1
   |-- folder2
   |-- www       [subrepo]
   |-- dev       [subrepo]

На машине А я извлек проект, www и dev и изменил .hgsub как таковой.Я должен зафиксировать это для того, чтобы hg (commit -S и т. Д.) Распознавали подкаталоги www и dev.

Однако машина B использует только функциональность www проекта, поэтому это выглядит так:

project/
   |-- folder1
   |-- folder2
   |-- www       [subrepo]

Опять же, .hgsub на компьютере B имеет запись только для www, и я должен зафиксировать это для hg, чтобы распознать его как подпункт.

Что бы я хотелсделать это сделать толкать и тянуть к моему центральному репо, но НЕ толкать / тянуть .hgsub.В противном случае, если я фиксирую и нажимаю .hgsub с машины A, скажем, а затем извлекаю из машины B, я автоматически получаю подпункт dev, а также подпункт www, который мне не нужен.

Поэтому я изменяю.hgsub снова на компьютере B, чтобы иметь только www и зафиксировать его, чтобы он вступил в силу.Я выполняю некоторую работу в подпункте www на компьютере B и хочу вернуться к центральному репо, но это также приведет к изменению на .hgsub.Теперь, когда я запускаю машину А, мой подпункт «dev» исчезает, и я должен снова добавить его в .hgsub, и я иду туда-сюда, пока не вырву свои волосы в отчаянии.

Есть ли способ обойти это?.hgsub должен быть локально зафиксирован на каждой машине, чтобы подзаголовки работали, но я не хочу, чтобы их толкали или тянули.Есть ли .hgignore для push / pull?

ура.

1 Ответ

6 голосов
/ 26 августа 2011

Push / pull не работает с файлами, он работает с наборами изменений.

Таким образом, нет никакого способа толкнуть / вытащить частичную ревизию, либо вы ее толкаете, либо нет.

Если вы не хотите, чтобы репозиторий всегда содержал этот файл / вложенный репозиторий, вам не следует организовывать свои проекты таким образом. Вместо этого вы можете захотеть настроить вторичный проект, используя только те суб-репозитории, которые вам нужны для этого другого сайта.

Другими словами, вы могли бы рассмотреть 2 проекта, один со всеми суб-репо, а другой только с несколькими.

...