Обмен файлами между хранилищами Mercurial - PullRequest
1 голос
/ 09 февраля 2012

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

Однако природа этих файлов означает, что я не могу просто переместить их в общий общий проект и просто заставить другие проекты зависеть от этого проекта. Они должны быть внутри каждого проекта. Символьные ссылки также не подходят, потому что некоторые из наших разработчиков используют Windows.

Как я могу поделиться этими файлами между репозиториями и распространять изменения по всему (по крайней мере, на моем локальном компьютере)? Я использую Eclipse.

Ответы [ 2 ]

3 голосов
/ 09 февраля 2012

Для вашего конкретного случая hgignore вы можете поместить такую ​​запись в файл .hg/hgrc каждого проекта:

[ui]
ignore.common = ~/hgignore-common

Если вы знаете, что ваша общая библиотека всегда будет в родительском каталоге, какчасто это можно сделать с настройкой подпункта:

[ui]
ignore.common = ../hgignore-common

или, если вы знаете, что он всегда будет в одном каталоге извещений проекта, который вы могли бы сделать:

[ui]
ignore.common = ../company-wide-defaults/hgignore-common

К сожалению, естьне существует абсолютного способа ссылаться на файл, который действителен везде, но вы можете, по крайней мере, до того момента, когда на вашем компьютере все ваши проверки ссылаются на общее игнорирование.

0 голосов
/ 14 февраля 2012

Жесткая ссылка вместо копирования соответствующих файлов работает с Eclipse - хотя вам нужно обновить каждый из других проектов, чтобы он принял изменения. Однако вы можете настроить Eclipse для наблюдения за файловой системой и автоматического обновления, когда это необходимо - я рекомендую это.

Он не работает по умолчанию с Emacs, потому что Emacs разрывает жесткие ссылки (что обычно правильно, но в данном случае это не то, что вам нужно). Однако вы можете отключить это поведение для многосвязных файлов с помощью (setq backup-by-copying-when-linked t).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...