Ветвление и слияние в VSTS - PullRequest
1 голос
/ 16 сентября 2008

Насколько эффективно объединение, когда папки и проекты были переименованы в вашем решении?

Ответы [ 4 ]

1 голос
/ 16 сентября 2008

У нас был большой успех с TFS 2005, когда дело доходит до удаления / переименования файлов, с несколькими очень конкретными исключениями, а именно:

  1. Файлы, которые были переименованы как в исходной, так и в целевой ветвях (это обычно тривиально решается нажатием на «Игнорировать изменения сервера»);
  2. Файлы, которые были переименованы в целевой ветви, но удалены в исходной ветви. Я вспоминаю один случай, когда слияние не сработало независимо от того, что мы пытались, и мы были вынуждены «отменить» изменение в исходной ветке и повторить операцию после слияния.

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

1 голос
/ 16 сентября 2008

По моему опыту, TFS может отслеживать переименования, если вы выполняете все переименования в SourceControlExplorer (TFS).

Проблемы, как правило, возникают, когда другие люди вносят изменения в исходные файлы, в то время как кто-то еще делает масштабные переименования / перемещения, в то время как кто-то еще редактирует переименованную версию.

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

Как и во всех вопросах ветвления / слияния, проблема значительно уменьшается за счет проверки и слияния мало и часто.

0 голосов
/ 23 апреля 2009

У меня был опыт массовых перемещений файлов и папок с TFS 2008. Это было сделано для того, чтобы сделать нашу структуру исходного кода более согласованной. Все, что мне нужно было сделать, это перетащить (и ждать) в Team Explorer, а затем зафиксировать изменения.

0 голосов
/ 23 апреля 2009

У нас было много проблем с TFS 2005 и вообще удаляет. Я еще не определил причину, но некоторые члены моей команды столкнулись с проблемами при объединении изменений, которые затрагивали переименованную или удаленную папку. Это особенно верно, если в ветви, где произошло переименование, было много рефакторинга (и переименования, и переименования). Я не выяснил причину или шаги воспроизведения, поскольку я лично не был вовлечен ни в одну из ситуаций, где это не работало.

Я видел некоторые другие общие проблемы удаления, подобные этой: 1 в ветви A, уменьшите разрешения в подкаталоге 1 только для чтения 2. Создайте филиал B (разветвленный от A до B) (регистрация) 3. Удалить филиал B (проверить) 4. Создайте новую ветку из A, присвойте ей то же имя, что и в ветви B 5. Получите странную ошибку разрешений, связанную с тем, что TFS все еще «видит» доступ только для чтения в удаленной ветви B.

Единственный способ избежать этого - вставить шаг 2a: переименовать ветвь B в _Branch B (регистрация)

В целом, TFS отлично подходит для нас, но в деле удаления, переименования и слияния происходит что-то непонятное. Мы надеемся скоро перейти на 2008 год, и я надеюсь, что он решит наши проблемы.

...