Подтвердить что ты не робот

Как разделить и слить в TFS

Этот вопрос является производным от предыдущего вопроса: Как использовать ресурсы, которые совместно используются в проектах

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

Мы с тех пор внесли изменения в родительский проект и проверили их. В Source Control Explorer я нажимаю правой кнопкой мыши на разветвленную папку в родительском проекте и выбираю "Слияние", намереваясь направить изменения в зависимый проект. Я выбираю дочерний проект в качестве адресата, а затем выбираю "Последняя версия". Мастер сообщает мне: "Нет изменений для слияния".

С моей точки зрения, это неверно, так как недавно обновленные файлы явно отличаются.

Есть ли фундаментальное непонимание процесса слияния в TFS здесь? Что мне нужно делать по-другому?

4b9b3361

Ответ 1

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

Первый шаг - понять диагностические команды tf history, tf merges и tf merge/candid. Вот хорошее введение: http://blogs.msdn.com/dstfs/archive/2009/04/15/a-note-on-merging-and-the-use-of-tf-merges-tf-merge.aspx

Если вы новичок в ветвлении и слиянии в TFS, ваша история, вероятно, не очень сложна. Я думаю, что, скорее всего, вы найдете свой ответ одним быстрым призывом к объединению tf. Тем не менее, отслеживание истории слияния может стать чрезвычайно запутанным в общем случае, поэтому, если у вас есть проблемы, не стесняйтесь отправлять сообщения с более подробной информацией.

Ответ 2

Перейдите к одному определенному файлу, который, как вы знаете, изменился в вашем "родительском" проекте. Попробуйте слить именно этот файл. Ничего не проверяйте; просто посмотрите, что произойдет.

Что-то для просмотра: инструменты объединения не будут включать файлы, которые были добавлены после вашего ветки. Вы должны явно разделить новые файлы, прежде чем сможете слить любые дальнейшие изменения. Если файл добавляется как к родительским, так и к дочерним папкам без использования операции ветвления, инструменты слияния не рассматривают их как версии одного и того же файла (и вы не можете объединить изменения между ними). ​​