У меня есть закрытая регистрация, которая изменяет некоторые файлы набора изменений, предоставленные пользователем, запрашивающим сборку. Сборка в основном устанавливает номер версии сборки в исходных файлах для всех целей.
Операция проверки на входе выполняет проверку полки пользователя. Теперь я хочу также проверить измененные файлы в моей сборке, которые могут конфликтовать с файлами, входящими в состав шелвсета пользователей. Это приводит к конфликтам слияния.
Используется VersionControlServer.CheckinShelveset, у которого нет опций принудительной регистрации в случае конфликтов слияния из-за другой регистрации предыдущего набора полок. Я попытался изменить набор полок, предоставленный пользователем, но не могу изменить набор полок, который не был создан тем же пользователем. Поэтому я вынужден создать второй набор полок и подождать, пока не завершится успешная операция регистрации, выполняемая на контроллере сборки.
Когда у меня есть рабочее пространство, я мог бы разрешить изменения, но на контроллере сборки нет рабочего пространства (оно находится на агенте сборки), поэтому мне пришлось бы создать новое рабочее пространство, отложить полку другого пользователя и попытаться объедините мой другой shelveset с этим и затем попытайтесь зарегистрироваться, что не легко и более серьезно, это заняло бы довольно много времени.
Есть ли способ включить набор полок и заставить TFS просто перезаписать последнюю версию, не имея рабочего пространства? Или есть другой способ, чтобы мои изменения сборки были зарегистрированы без конфликтов слияния? Если бы я раньше проверил агент сборки, то gated checin потерпит неудачу с конфликтами слияния на контроллере сборки.