Использование hg и git в одном и том же дереве не несет в себе никакого конфликта; Поскольку эти программы были разработаны независимо, само собой разумеется, что они не мешают друг другу.
Однако и в этом случае hg накладывается на git (другой способ убедиться, что репозиторий git зависит от базовой структуры каталога hg ). Таким образом, рассмотрим следующий пример, где у вас уже есть клонированный режим org, и есть патч, ожидающий извлечения из онлайн-хранилища.
Вот как может выглядеть hg перед тем, как вы извлечете изменения из git :
c:\myfiles> hg log -l 1 changeset: 123:da5f372c3901 tag: tip user: John Doe <john@doe.com> date: Fri Jun 13 12:00:00 2014 -0500 summary: Some change in the work files
Затем вы извлекаете изменения в режиме org из git . Однако здесь важнее всего то, что действие pull не сразу отражается на репозитории hg .
Вы можете проверить, работают ли более новые исправления в режиме org . Если они не работают сразу после запуска, вы должны запустить hg revert --all
, что восстановит то, как хранилище выглядело во время последней фиксации. Если они работают или вы не обнаружите никаких проблем, вам следует зафиксировать изменение в hg, отражающее, что вы перенесли набор изменений в org-mode .
c:\myfiles> hg com -m "Pulling changes in org-mode" c:\myfiles> hg log -l 1 changeset: 124:da5f372c3901 tag: tip user: John Doe <john@doe.com> date: Fri Jun 13 12:01:00 2014 -0500 summary: Pulling changes in org-mode
Если git хранит свои метаданные относительно хранилища в папке org-mode (то есть, как hg делает с папкой .hg в корне хранилища), не должно быть проблем с откатом коммита в hg (если случайно после коммита обнаружите, что есть проблема с org-mode ):
c:\myfiles> hg rollback rolling back last transaction c:\myfiles> hg log -l 1 changeset: 123:da5f372c3901 tag: tip user: John Doe <john@doe.com> date: Fri Jun 13 12:01:00 2014 -0500 summary: Some change in the work files
Кроме того, как указано в моих комментариях, вы можете делать это независимо от того, какое программное обеспечение VCS вы используете. Если у вас есть:
c:\my_repo c:\my_repo\2nd_repo
Проблем не будет, так как для работы с каждым репозиторием вам придется работать, находясь внутри каталога, в котором вы работаете.
1 - я адаптировал некоторый код отсюда, потому что, как указано, у меня нет большого опыта в этой теме