2010-07-02 1 views
0

Я перешел из Subversion в Team Foundation Server Microsoft для контроля версий, и я понимаю, что вы не можете объединить прерывистые смены изменений в TFS.Слияние дискретных наборов изменений в TFS 2008 Version Control?

К примеру, у меня есть файл с именем «baseline.txt», который выглядит следующим образом:

line one 

Затем я ветка файла в новый файл под названием «branch.txt», а затем сделать два проверить модули на «baseline.txt», так что он, наконец, выглядит следующим образом:

line one 
line two //checked-in change-set A 
line three //checked in change-set B 

Теперь я хочу, чтобы объединить только с изменением набора B в «branch.txt». Другими словами, я ожидаю «branch.txt», чтобы выглядеть после слияния:

line one 
line three //checked in change-set B 

В принципе, я хочу, чтобы пропустить переключающий множество А и объединить переключающий множество B. Это возможно в Subversion, но в TFS, если я хочу получить changeet-B, мне также нужно получить все смены «до» B.

Это правда? Вот что показывают мои эксперименты, но «Understanding ChangeSets and Merge with Team Foundation Server», кажется, указывает по-разному.

+0

Не уверен, , но [этот вопрос о необоснованных слияниях] (http://stackoverflow.com/questions/1437304/tfs-baseless-merge-on-specific-changesets) может иметь ответ, который вы ищете. –

ответ

0

Эта статья сбивает с толку, и я не верю, что она точна. Когда второе изменение отмечено, оно должно генерировать конфликт слиянием. В то время, вам нужно будет разрешить конфликт в один из трех способов:

  1. Слияния изменений
  2. перезаписи с новой ревизией или
  3. Держите старые, и отказаться от новых изменений.

Независимо от того, когда вы готовы слиться обратно в baseline.txt, у вас есть версия «точка-в-время» файла, который вы собираетесь проверить в.

+0

Robaticus, в этой последовательности проверок не возникнет конфликтов. Единственный потенциал для конфликта - это если произойдут изменения после того, как файл branch.txt был создан и до слияния набора изменений B. –

+0

Я предположил, что checkin 1 и checkin 2 были сделаны из двух отдельных машин. В этом случае возникнет конфликт слияния, который необходимо будет устранить. Я не могу представить себе сценарий, в котором оба изменения могут быть сделаны с одного и того же компьютера. – Robaticus

+0

Другим конфликтом будет фактическое слияние при выборе версии Baseline.txt, связанной с набором изменений B. Прочитав это во второй раз, я думаю, что это конфликт, к которому вы обращаетесь. 3 изменения (начальное добавление, строка 2 и строка 3), используемые для создания файла baseline.txt, не будут включать разрешение конфликтов. –

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

  • Нет связанных вопросов^_^