Как говорит Мартин, Perfarce - это то, что вы хотите. Я использовал его на предыдущей работе, и в целом он работает довольно хорошо, если вы просто работаете с одной ветвью перформанса в одном ртутном клоне. Если вы начнете клонировать несколько раз из своего оригинального клона Mercurial, то все станет сложнее. Не невозможно, просто сложно.
В целом, это работает путем объединения всех изменений с момента вашего последнего извлечения из Perforce. Создание единого списка изменений исполнения из них. Пометьте комментарий этого списка изменений хешем версии Mercurial и подтвердите его исполнение. Затем он повторно импортирует это изменение из Perforce и объединяет его в ваше дерево Mercurial, и, поскольку они оба одинаковые, слияния нет.
В основном это работает довольно хорошо для рабочих процессов pull / edit / commit / update. К сожалению, это не помогает, когда дело доходит до интеграции (если я что-то пропустил), так как ветки Perce не преобразуются в Mercurial. Не знал бы, что сливать.