TFS 2010 Gated Checkin с эксклюзивными проверками - PullRequest
2 голосов
/ 26 августа 2010

Мы используем TFS 2010 с закрытыми проверками.У меня есть вопрос о том, что я считаю странным поведением.Посмотрите на следующий процесс:

  1. Файл A проверен исключительно мной.
  2. Файл A изменен
  3. Файл A проверен в
  4. TFS просит внести изменения
  5. Сборка начата
  6. Файл A локально возвращается к старой версии
  7. Сборка завершена успешно
  8. Требуется согласование -> однако восогласовать, что не нужно вносить никаких изменений
  9. После нажатия кнопки «ОК» файл A регистрируется с моими изменениями, однако мой локальный файл остается старой версией.

Почему у него такое поведение?Это не кажется мне логичным.Это кажется логичным до шага 8. Там он должен получить последнюю версию файла A для моего локального хранилища.Это где-то настройка?

Ответы [ 3 ]

2 голосов
/ 26 августа 2010

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

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

1 голос
/ 07 августа 2013

Стеллажи

Что происходит, когда вы регистрируетесь, ваши изменения добавляются в набор полок.Другими словами, ваши изменения отложены.При откладывании изменений вы можете откатить локальные изменения.

Например, когда вы работаете над проблемой, и вдруг вам нужно исправить другую проблему с более высоким приоритетом.Затем вы можете отложить свои изменения (проблемы, над которой вы работаете) и откатить эти изменения локально.Это позволяет вам работать над новой проблемой и проверять ее изменения, когда вы закончите.После завершения вы можете отменить предыдущую работу (первой проблемы) и продолжить работу.

Стеллажи со стеллажами

При стеллажах со стеллажами наборы полок создаются автоматически.При откладывании у вас есть возможность сохранить ваши локальные изменения или нет.Теперь вы можете отложить изменения, не откатывая их локально.Поэтому, если флажок «Сохранить локальные изменения» не установлен, у вас будет это странное поведение (я также нахожу его очень не интуитивным).

Блокировка и опция «Сохранить локальные изменения»

Флажок «Сохранить локальные изменения» отключен, однако, если какие-либо файлы в вашем рабочем пространстве заблокированы.Даже если они не имеют ничего общего с вашими изменениями (тоже не очень интуитивно имхо).Блокировки могут быть установлены вручную для файлов или автоматически в случае монопольных блокировок (снимите флажок «Разрешить несколько проверок» в конфигурации сборки проекта).Поэтому, если у вас есть эксклюзивная блокировка, и кто-то изменяет файл, он становится заблокированным, и поэтому вы не можете использовать опцию «Сохранить локальные изменения».

Обходной путь

Чтобы обойти эту проблему, я думаю, вы можете выбрать один из нескольких ядов:

  • Не использовать закрытые проверки
  • Не использовать блокировку и, следовательно, не использовать эксклюзивные блокировки
  • Не использовать коллег
  • Научиться ждать окончания сборки и всегда выполнять Получить последнюю версию (Reconcile не будет этого делатьпотому что он будет делать это только для файлов, которые вы изменили за это время) или убедитесь, что вы автоматически GLV при редактировании файла.
  • Не используйте TFS: -)

Надеюсь, это поможет.

0 голосов
/ 14 декабря 2010

Кроме того, в случае сбоя встроенной регистрации, файлы shelveset остаются проверенными учетной записью службы сборки. Мы нашли способ отменить извлеченные файлы, но согласование не работает, поскольку «Сохранять ожидающие изменения локально» неактивно, если в командном проекте включена «исключительная проверка».

...