Есть ли двунаправленный мост между p4 и git? - PullRequest
9 голосов
/ 25 июня 2011

Есть ли хороший (надежный и автоматизированный) метод для перемещения изменений git между производительностью и git для нескольких пользователей? git-p4, кажется, хорошо обрабатывает однопользовательский случай, но я ищу многопользовательский вариант.

В настоящее время мы переходим от множества различных систем контроля источников к одной; мерзавец. Нам может понадобиться перейти от мерзавца к исполнению и предоставить хороший способ продемонстрировать мерзавец к исполнению. В случае эфира необходим двунаправленный мост между ними.

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

Ответы [ 3 ]

5 голосов
/ 27 июня 2011

Честно говоря, вам лучше просто перейти на Git и, возможно, проверить в самом репозитории git, чтобы выполнить, если у вас есть требование по той или иной причине использовать выполнение.

git <-> мосты перформанса проблематичны, особенно в распределенной среде. Либо один человек выступает в роли привратника - либо каждый человек синхронизируется с выступлением индивидуально, а не друг с другом.

--------- ОБНОВЛЕНО ---------------

Похоже, что Perforce предоставил «Perforce Fusion» - см. http://www.perforce.com/product/components/git-fusion

Это может быть работоспособным решением, и у них есть бесплатная пробная версия.

1 голос
/ 04 июля 2011

Я усовершенствовал git-p4, чтобы он использовал примечания git (https://github.com/ermshiperete/git-p4).. Это дает преимущество в том, что репозиторий git может использоваться несколькими людьми. Однако он по-прежнему не допускает полной автоматизации, поскольку каждый разработчик имеет представить свои изменения в p4.

Способ, которым я его настроил, заключается в том, что скрипт на сервере проверяет, были ли внесены какие-либо новые изменения в p4. Если это так, он выполняет синхронизацию git-p4 и вносит изменения в репозиторий git (включая заметки git-p4). Разработчики, работающие с git, извлекают ветку master и ветку git-p4 notes из репозитория git, вносят свои изменения и отправляют их в локальное репозиторий git. Затем они выполняют отправку git p4 и после этого отправляют ветку master + git-p4 notes в удаленное хранилище git.

Это работает довольно хорошо, хотя иногда серверный скрипт проверяет дроссели p4 - в этом я виню свой скрипт. Тем не менее, это решение для бинтов, и я надеюсь, что скоро мы сможем полностью перейти на git.

1 голос
/ 27 июня 2011

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

Надеюсь, это немного поможет.

Удачи!

...