Criando pastas do recipiente pai para soluções
Na API plug-in de fonte de controle de versão 1.2, um usuário pode especificar um destino de controle de origem de raiz única para todos os projetos da Web dentro da solução. Esta raiz única é chamado de uma raiz de Unificação de Super (SUR).
Na versão 1.1 de origem de API ao plug-in de controle, se o usuário adicionado a uma solução multiprojeto ao controle de origem, o usuário foi solicitado a especificar um destino de controle de origem para cada projeto da Web.
Novos sinalizadores de recurso
SCC_CAP_CREATESUBPROJECT
SCC_CAP_GETPARENTPROJECT
Novas funções
Função SccGetParentProjectPath
O Visual Studio IDE quase sempre cria uma pasta SUR ao adicionar uma solução ao controle de origem. Especificamente, ele faz isso nos seguintes casos:
O projeto é um compartilhamento de arquivo de projeto da Web.
Há unidades diferentes para o projeto e o arquivo de solução.
Existem diferentes compartilhamentos para o projeto e o arquivo de solução.
Projetos foram adicionados separadamente (em uma solução controlada por fonte).
Na Visual Studio é sugerido que o nome da pasta SUR ser o mesmo que o nome da solução sem a extensão. A tabela a seguir resume o comportamento nas duas versões.
Característica |
tSource plug-in de controle API versão 1.1 |
Plug-in API versão 1.2 do controle de origem |
---|---|---|
Adicionar solução ao SCC |
SccInitialize() SccGetProjPath() SccGetProjPath() SccOpenProject() |
SccInitialize() SccGetProjPath() SccCreateSubProject() SccCreateSubProject() SccOpenProject() |
Adicionar projeto à solução controlada por origem |
SccGetProjPath() OpenProject() |
SccGetParentProjectPath() SccOpenProject() Dica Visual Studio supõe que uma solução é um filho direto da SUR. |
Exemplos
A tabela a seguir lista exemplos de dois. Em ambos os casos, o Visual Studio usuário é solicitado a fornecer um local de destino para a solução sob controle de origem até o user_choice é especificado como um destino.Quando o user_choice for especificado, a solução e os dois projetos são adicionados sem avisar o usuário para destinos de controle de origem.
Solução contém |
Em locais de disco |
Estrutura do banco de dados padrão |
---|---|---|
sln1.sln Web1 WEB2 |
C:\Solutions\sln1 C:\Inetpub\wwwroot\Web1 \\server\wwwroot$\web2 |
$/user_choice/sln1 $/user_choice/C/Web1 $/user_choice/Web2 |
sln1.sln Web1 Win1 |
C:\Solutions\sln1 D:\Inetpub\wwwroot\Web1 C:\solutions\sln1\Win1 |
$/user_choice/sln1 $/user_choiceD/web1 $/user_choicesln1/win1 |
A SUR pasta e subpastas são criadas independentemente da operação for cancelada ou falha devido a um erro. Eles não são automaticamente removidos em condições de erro ou Cancelar.
Visual Studiopadrões de comportamento da versão 1.1 se o plug-in de controle de origem não retornar SCC_CAP_CREATESUBPROJECT e SCC_CAP_GETPARENTPROJECT sinalizadores de recurso. Além disso, os usuários do Visual Studio pode escolher reverter para o comportamento da versão 1.1, definindo o valor da seguinte chave para DWORD: 00000001:
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\SourceControl] "DoNotCreateSolutionRootFolderInSourceControl" = DWORD: 00000001