Рабочая папка TFS /unmap Существует несколько рабочих областей с именем XYZ

Я пытаюсь понять, как решить следующую ситуацию.

У меня есть сервер TFS 2012 с тремя коллекциями, скажем;

- http://tfs2012:8080/tfs/DefaultCollection/
- http://tfs2012:8080/tfs/CollectionOne/
- http://tfs2012:8080/tfs/CollectionTwo/

В CollectionOne и CollectionTwo у меня есть рабочее пространство с таким же именем, назовем его «TestWorkspace».

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

tf.exe workfold /unmap /workspace:TestWorkspace E:\Temp

Это терпит неудачу с;

Multiple workspaces exist with the name TestWorkspace.
Please specify the Team Foundation Server or qualify the name with the owner.

Поэтому я пробую следующее;

tf.exe workfold /unmap /workspace:TestWorkspace E:\Temp /collection:http://tfs2012:8080/tfs/CollectionOne/

Что терпит неудачу со следующим;

The option collection is not allowed. 

Также не помогает указание владельца рабочей папки, поскольку они принадлежат одному и тому же пользователю.

Как отменить сопоставление рабочей области, которая существует в двух или более коллекциях?


person Jason    schedule 19.08.2013    source источник
comment
Или еще лучше, просто не делайте этого.   -  person Andrew Clear    schedule 27.10.2014


Ответы (2)


Об этом сообщается здесь как об ошибке: https://connect.microsoft.com/VisualStudio/feedback/details/574162/tf-workfold-unmap-not-accepting-collection-option

Обходной путь см. здесь: http://wiert.me/2012/08/29/vs2010-workfold-command-allows-moving-a-local-working-folder-for-a-workspace-but-не-отключать-это-когда-у-у-есть-несколько-рабочих-пространств-с-одним-же-именем/

person sparkplug    schedule 19.08.2013
comment
Пометить это как ответ, поскольку кажется, что это ошибка с TF.exe и рабочей папкой. Чтобы решить эту проблему, нужно либо удалить рабочую область, используя спецификацию коллекции, либо переназначить все рабочие области в другое место. - person Jason; 21.08.2013

Это действительно досадный дефект. Вот простой обходной путь, который я успешно использовал.

# Rename existing workspace to something unique
tf workspace /collection:http://yourserver:8080/tfs/DefaultCollection /newname:TEMPORARY /noprompt DEVBOX-SGY

# Unmap based on new (unique) name
tf workfold /unmap /workspace:TEMPORARY C:\Code\Tools

# Rename workspace back to original name to avoid side-effects
tf workspace /newname:DEVBOXSGY /noprompt TEMPORARY

Лично я не смог использовать обходной путь, упомянутый зажигалкой, потому что мне нужно было что-то дружественное к автоматизации.

person suneg    schedule 25.02.2016