В любом случае, я могу легко объединить ветки Git, созданные в CVS2Git Migration?

Недавно мы перенесли наш CVS-репозиторий в Git.

В нашем CVS-репозитории у нас было несколько веток с кодом, который мы спрятали после завершения разработки, пока у нас не было времени запланировать их на более поздний момент.

Когда мы выполняли миграцию с использованием CVS2Git, это приводило к переносу веток в репозиторий Git, но способ, которым это работало, заключался в том, что в ветке Git появлялись только те файлы, которые фактически были разветвлены в CVS.

Так, например, если у нас было следующее дерево файлов / папок в CVS на HEAD:

lib
   -com
      -example
         -folder1
            -file1a
            -file1b
         -folder2
            -file2a
            -file2b

И затем мы разветвляли только файлы "file1a" и "file2b" в ветке BRANCH_COOL_FEATURE в CVS, в результате ветвь "BRANCH_COOL_FEATURE" в Git содержит ТОЛЬКО файлы "file1a" и "file2b".

Я ищу самый простой способ определить все файлы, включенные в ветку CVS, в которые я хотел бы объединиться, включая точку, с которой они были разветвлены в CVS, так что я точно знаю, в какой diff нужно объединиться, и затем автоматически сделать слияние.

Это лучшее, что у меня есть, но я надеялся, что есть лучший способ:

1) git diff - name-status в MASTER и BRANCH_COOL_FEATURE с diff-фильтром, установленным в M, чтобы идентифицировать все файлы, фактически измененные в ветви, или просто взять полный список файлов в ветви 2) Для каждого из файлов посмотрите историю CVS и сопоставьте временные метки, чтобы определить две сгенерированные Git-фиксации для этого файла, которые представляют собой объединяемый diff 3) Запустите git merge для этого конкретного файла и укажите эти две фиксации как diff для слияния в

Ценю любую помощь, спасибо!

-Гит новичок

PS У меня нет тонны подробностей о том, как выполнялось реальное преобразование CVS2Git, но, если это важно, я, вероятно, смогу его заполучить.

Есть ли способ легко

0 ответов

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