Альтернатива подмодуля Git?

У меня есть пара рабочих деревьев с некоторыми зависимостями. AFAIK, подмодуль git будет обеспечивать следующее:

  • иметь копию каждого рабочего дерева (подчиненного) в подкаталоге каждого рабочего дерева, использующего его (мастер)
  • главный репозиторий дублирует всю информацию от подчиненных

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

У меня есть другая идея:

  • Каждый мастер хранит список всех своих подчиненных.
  • Никакой другой информации в мастере не требуется.
  • С каждой фиксацией в мастере создается " моментальный снимок-фиксация "на ведомом.
  • " Снимок-фиксация "- это снимок текущего состояния работы. g, оно игнорирует текущее состояние индекса (я уже использую "snapshot-commits" перед тем, как отбросить некоторые незавершенные изменения).
  • "snapshot-commits" собираются в ветке, имя которой происходит от имя хозяина.Сообщение фиксации содержит хэш основной фиксации. (IMHO, это лучше, чем лавинная рассылка тысячами тегов.)
  • Проверка работает как обычно, если только не требуется рекурсия в ведомые устройства.

Единственные проблемы, которые я вижу, следующие:

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

Я спрашиваю, реализовал ли кто-нибудь это уже (или это плохая идея).

11
задан maaartinus 16 July 2011 в 02:00
поделиться