Mercurial: Как я могу хранить вещи только локально?

У нас есть некоторые ограничения на то, что нам разрешено помещать в наш центральный репозиторий Mercurial.

Есть ли какой-нибудь способ, которым я могу хранить вещи в своем локальном репозитории Hg, не перенося его в центральный?

Замечания:

  1. Файлы могут быть связаны с файлами в центральном хранилище (например, ветки).
  2. Местные вещи могут быть позже включены в центральное хранилище.

4 ответа

Решение

Если вы используете ветки, вы можете установить их видимость secret, Это предотвратит их толкание.

hg phase --secret --force my-branch

Когда вы хотите поделиться, вы меняете их фазу на draft и тогда они будут автоматически собраны во время операции толчка.

Увидеть hg help phases для дополнительной информации.

Вы также можете использовать Mercurial Queues. С MQ вы можете работать с патчами (которые являются наборами изменений) и обновлять или переупорядочивать их на основании изменений в официальном репозитории. Это также облегчит включение некоторых или всех ваших изменений в основной репозиторий или просто откажется от них позже.

Я думаю, что вы хотите расширение полки или расширение чердака.

Другой вариант - если вы используете более новую Hg с лучшим ветвлением, вы можете просто разветвить центральное репо где-нибудь, например, как bitbucket, и использовать его в качестве своего хранилища для своих временных вещей и, возможно, ветвления.

Наконец, вы также можете просто использовать .hgignore но это может быть проблематичным позже, когда кто-то проверяет файл с тем же именем.

Подтвердите свое локальное хранилище, затем нажмите на удаленное хранилище, когда закончите.

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

Другие вопросы по тегам