Ветвление в TFS 2010 и вынуждение повторно загрузить код - PullRequest
8 голосов
/ 24 сентября 2010

Когда я создаю ветку от основной линии в TFS 2010, мне нужно загрузить весь код, который я только что разветвил.

У меня уже есть последняя основная версия на моем ноутбуке, так почему TFS требует от меня эффективной загрузки того, что уже есть на моем жестком диске?

Даже если я скопирую файлы основной линии в папку и сопоставлю новую ветку с этой папкой, он все равно выполнит полностью рекурсивное получение и захлестнет нашу полосу пропускания примерно на 30 минут.

Кажется, что это пустая трата времени и времени - это обходной путь / процедура, о которой я не знаю?

Ответы [ 2 ]

9 голосов
/ 24 сентября 2010

Для более быстрого переключения между ветвями, попробуйте опцию tf get /remap.Из блога Брайана Гарри:

Это новая опция в tf get, которая предназначена для использования, когда вы хотите переключить свое рабочее пространство с одной ветви на другую в той же кодовой базе.Сначала вы измените отображение рабочей области, а затем выполните команду tf get / remap.Поскольку большой процент файлов в двух связанных ветвях часто идентичен, эта команда оптимизирует это.Вместо того, чтобы загружать весь контент, он будет загружать только вещи, которые отличаются между двумя ветвями.Я могу сократить время получения очень большого рабочего пространства с 10 минут до нескольких секунд.

Обратите внимание, что для этого требуется TFS 2008 SP1 или более поздняя версия.

0 голосов
/ 24 сентября 2010

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

Я удивлен, что "получить" занимает больше 30 минут. Ваш TFS сервер удален? Вы получаете больше двоичных файлов, чем нужно? Если у вас есть удаленный сервер, вы можете рассмотреть возможность использования прокси-сервера TFS для повышения производительности. Хотя это не решит эту конкретную проблему, но может ускорить работу других разработчиков.

Последний вопрос: почему вы так много разветвляетесь? Хотя я понимаю идею ветвления по функции и то, что она увеличивает количество раз, которое вам потребуется для ветвления, это все же должно быть относительно редкое явление. И если это происходит редко, то да, тридцать минут для загрузки могут раздражать, но вам нужно спросить себя, действительно ли это проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...