В TFS «последний» для определенного пути определяется как последний файл, который был зарегистрирован для этого элемента (с разрешением любых конфликтов слияния). Я бы предложил несколько вещей, которые могли бы дать вам рабочий процесс, который вы хотели бы:
- Может ли вам помочь работа в филиале? Затем вы можете решить, когда объединить изменения из основной строки кода в область, над которой вы работаете.
- Teamprise поддерживает функцию синхронизации в Eclipse, поэтому вы можете щелкнуть правой кнопкой мыши по проекту и выбрать «Синхронизировать». Это покажет вам ваши изменения по сравнению с последней версией в хранилище. Оттуда вы можете сравнить эти файлы с последней версией и посмотреть, какие из них вы хотите обновить, а какие оставить в локальной (рабочей области) версии.
- Если вы выполните «Просмотр истории» для любого файла или папки, вы получите историю изменений, которые произошли с этим файлом. Затем вы можете получить любую нужную вам версию, выбрав «Получить эту версию» в представлении истории.
- Если ветвление не работает для вас, то вы можете попробовать метки. В TFS ярлыки похожи на «теги» и доступны для редактирования. Используя механизмы (такие как синхронизация и получение из истории), вы можете решить, какие версии файлов вы хотели бы иметь, и пометить их своей конкретной меткой. Затем вы можете сделать «Получить конкретный» и добавить имя вашего ярлыка, если хотите.
Если вы спрашиваете: «Есть ли способ легко откатить изменения», чтобы вы могли сказать, что версия 4 или файл имели изменение, которое вы не хотели, поэтому вы хотели бы откатить код для всех? до версии 3, то я боюсь, что единственный способ сделать это сейчас - это извлечь файл, получить более старую версию (из представления истории), а затем снова зарегистрировать этот файл. После выпуска TFS 2010 иметь встроенную поддержку Rollback в качестве операции управления версиями, и Teamprise должен поддерживать ее, как только она будет доступна на сервере.
Кроме того, я хотел бы добавить, что лично я очень много работаю с такими инструментами, как непрерывная интеграция (и TFS 2008 имеет отличную поддержку CI из коробки, но другие серверы CI с открытым исходным кодом, такие как CruiseControl и Hudson, также поддерживают TFS). Это, наряду с использованием факта, что возвраты в TFS являются атомарными, означает, что разработчики могут научиться верить, что «последняя» версия кода всегда хороша. Это побуждает разработчиков регулярно обновлять и проверять изменения.
Возможно, именно из-за этих способов работы мы, возможно, упустили некоторые функциональные возможности из Teamprise, которые могли бы помочь вам больше, и мы могли бы просто предполагать, что люди хотят получить последние версии, поэтому мы делаем это проще всего. Если вы не чувствуете, что Teamprise адекватно поддерживает вас в доступе к функциям Team Foundation Server, я хотел бы услышать ваше мнение. Мой электронный адрес: martin@teamprise.com. Кроме того, вы можете связаться с нашей горячей линией поддержки по адресу support@teamprise.com, посетить форумы Teamprise по номеру http://support.teamprise.com или позвонить в нашу службу поддержки по телефону (217) 356-8515, доб. 2. Нам нравится получать отзывы от наших клиентов, чтобы сделать продукт лучше, и именно клиенты не чувствуют себя хорошо обслуживаемыми текущими инструментами, которые часто дают лучшие отзывы.
Если откат - это функция, которая вам очень нужна, сообщите нам об этом.