Слияние TFS по версии файла - PullRequest
1 голос
/ 12 января 2012

Я недавно опубликовал вопрос о недостатках слияния отдельных файлов.

Можно ли объединять отдельные файлы из одной ветви в другую

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

Я пытаюсь убедить мою команду при переходе с VSS на TFS, что мы должны объединяться только на уровне филиала. Тем не менее, мне не хватает хорошего примера потенциального влияния слияния по версии файла. Может кто-нибудь объяснить или дать хорошую ссылку на информацию о слиянии по версии файла (не обязательно changeset).

Что-то, в чем я не уверен, это то, что если вы объединяете по версии файла, вы все еще объединяете наборы изменений, связанные с этой версией файла? Если эти наборы изменений влияют на другие файлы, изменяются ли эти файлы?

Заранее спасибо, ребята!

1 Ответ

3 голосов
/ 12 января 2012

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

tf merge $/TP/Branch1/file1.cs $/TP/Branch2/file1.cs /version:C1234

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

При слиянии таким образом TFS запоминает, что набор изменений былчастично объединено и предложит вам объединить оставшуюся часть набора изменений при следующем объединении.

вы можете увидеть частичные объединения, используя

tf merge $/TP/Branch1 $/TP/Branch2 /recursive /candidate любые наборы изменений в списке с * рядом сони уже частично слиты

...