#git #tfs #visual-studio-2013
#git #tfs #visual-studio-2013
Вопрос:
Как Visual Studio запоминает, какой репозиторий GIT / TFS (Git поверх TFS) в данном командном проекте был клонирован на локальный компьютер?
При просмотре репозиториев git в командном проекте Visual Studio показывает значок справа от репозиториев, которые еще не были клонированы.
Этот значок исчезает, как только репозиторий был клонирован на локальном компьютере. С этого момента Visual Studio сохраняет сопоставление (remote repository, local path)
где-нибудь.
- Где сохраняются эти сопоставления?
- Существует ли API, предоставляющий доступ к этой информации?
Ответ №1:
Подробное описание — пока
Похоже, что файл %APPDATA%MicrosoftVisualStudio12.0Team ExplorerGitTeamProjects.config
содержит эту информацию.
<?xml version="1.0" encoding="utf-8"?>
<!--This file caches information about Git team projects.-->
<collection_list>
<collection guid="9737cdde-596c-43f5-bea7-eadbe664f536" collectionUri="http://tfs:8080/tfs/tahaa" />
<collection guid="d3ee7565-1499-4a84-9eb3-7e97bf3a932e" collectionUri="http://tfs:8080/tfs/test2013">
<project name="_TestBuilds" projectUri="vstfs:///Classification/TeamProject/2706587b-a4b3-4404-a5b1-0e8f210eddc5">
<repository name="SetupConfigurator" guid="54ff434a-bced-4457-8b7c-7f2ab2577514" LastActiveClone="K:TFSSetupConfigurator" />
<repository name="Trunk" guid="a08927d7-4e0a-4035-ae5d-964bf03926a4" LastActiveClone="K:_TestBuilds" />
<repository name="IntegrationTests" guid="37286658-9138-4bab-bc93-9eeb67addd36" LastActiveRepo="Yes" LastActiveClone="K:GitRepositoriesIntegrationTests" />
</project>
</collection>
</collection_list>
Я изменил его один раз, и Visual Studio, похоже, тогда потеряла сопоставления.
Но после восстановления исходного содержимого Visual Studio, похоже, больше его не использует.
Я также нашел список репозиториев, хранящихся в реестре (в HKEY_CURRENT_USERSoftwareMicrosoftVisualStudio12.0TeamFoundationGitSourceControlRepositories
).
Repositories
hash
Name(REG-SZ)
Path(REG-SZ)
hash
Name(REG-SZ)
Path(REG-SZ)
...
Visual Studio 2015
Имя файла немного изменилось: %APPDATA%MicrosoftVisualStudio14.0Team ExplorerTeamExplorer.config
Путь к реестру изменился до HKEY_CURRENT_USERSoftwareMicrosoftVisualStudio14.0TeamFoundationGitSourceControlRepositories
Как обновить сопоставления Visual Studio
Давайте предположим, что все ваши репозитории git находятся в одной папке на локальном компьютере, и что путь к этой папке равен K:GitRepositories
- откройте Visual Studio 2015
- откройте Team Explorer
- нажмите значок подключения
- в разделе «Локальные репозитории Git» нажмите кнопку Добавить
- введите ‘K:GitRepositories ‘ в текстовом поле затем ‘Добавить’
Готово! Ваши сопоставления были обновлены.
Комментарии:
1. 1 У меня есть prod TFS-сервер и тестовый TFS-сервер, и мне нужно было сопоставить одно и то же репозиторий git с обоими. Я нашел файл GitTeamProjects.config, но это ничего не дало. После нахождения этого сообщения я увидел элемент реестра и смог это исправить. Потрясающая находка и спасибо за публикацию!
2. Мне нужно было изменить местоположение, в котором хранился мой локальный репозиторий, и я не смог найти нигде в VS2013, чтобы изменить его. Изменение настроек в реестре в указанном вами расположении сработало отлично, спасибо!