2009-04-23 3 views
2

Я не нашел подходящего объяснения этой проблемы, поэтому я надеюсь, что кто-то может пролить свет на нее. Моя мысль заключается в том, что это «так, как есть», но я хотел бы понять немного лучше в любом случае.TFS: Частые слияния в ветку разработки

Вот моя ситуация: у меня есть главная ветка и ветка развития (dev). Большинство разработчиков работают в Main, но для моего конкретного проекта я работаю в Dev. Я хочу, чтобы код в Dev так сильно синхронизировался с Main, поэтому я часто встраиваюсь в Dev.

В первый раз, когда я сливаю Main-> Dev, он копирует файл F1, который был изменен в Main, но не в Dev. Отлично. В следующий раз, когда я объединил Main-> Dev, F1 снова изменился в Main, поэтому он должен скопировать его (не был изменен в Dev).

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

Кто-нибудь знает, почему TFS не справляется с этой ситуацией. Кто-нибудь знает, как облегчить слияние в моей ситуации?

спасибо.

+0

Я попытался проверить этот сценарий на одном конкретном файле, и я не смог воспроизвести то, что увидел вчера. Кто-нибудь видел что-то подобное раньше? – TheSean

ответ

1

Это определенно «Не так, как есть». Я никогда не видел, чтобы это происходило так, как вы описываете. Кажется, что в вашей среде должно быть что-то не так, как вы работаете.

Это не отвечает на ваш вопрос, но я бы поставил под вопрос, почему «большинство» разработчиков работают в Main. Главная задача должна быть стабилизирована, и в этом очень мало людей будут работать непосредственно; только те, кто делает перерыв/исправления. Новое кодирование всегда выполняется в Dev и сливается с Main.

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

+0

Хорошо «большинство» относительное. есть только я и еще один человек, работающий в подразделении dev, и, вероятно, 15 или более человек убивают ошибки в основном. в других дочерних подразделениях есть множество других проектов, которые, вероятно, составляют большинство наших разработчиков. Я не думаю, что в нашей структуре проекта есть что-то особенное. Мой филиал ветви был разветвлен прямо от Майн. Каждый раз, когда я сливаюсь, я вижу тонну файлов (конфликтов), которые не имеют изменений в целевой ветке. – TheSean

+0

Я проверил свойство «change» файлов и каждый раз, когда я объединять main-> dev, он отображается как «Merge, Edit». Я попытался слить некоторые файлы снова этим утром, но, конечно, со вчерашнего дня не было никаких изменений, поэтому я получаю «никаких изменений для слияния». – TheSean

0

После некоторых испытаний и еще нескольких слияний я пришел к выводу, что это «не так, как есть». Я не мог достоверно воспроизвести поведение, которое я первоначально наблюдал. Во время последующих слияний я не столкнулся с одной и той же трудностью, но все еще было какое-то странное поведение, которое я не могу полностью объяснить (не знаю, почему мне пришлось вручную разрешать конфликты, когда в некоторых файлах их не было).

Так что я не могу сказать, что слияние TFS никоим образом не соответствует, но в этом есть что-то странное.

спасибо.

Смежные вопросы