Вопрос

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top