Introdução ao controle de origem

O Visual Studio oferece suporte ao controle de origem usando a camada Visual Studio Integration Protocol (VSIP) no seu Integrated Development Environment (IDE).VSIP pode hospedar uma variedade de pacotes de controle de origem, geralmente implementados como plug-ins escritos para os protocolos apropriados.Um exemplo de um plug-in de controle de origem é o plug-in SourceSafe LAN suportado pelo Visual SourceSafe.Para obter detalhes do plug-in, consulte a ajuda do Visual SourceSafe.

Observação:

O Visual Studio refere-se ao controle do código-fonte empacota sistema autônomo plug-ins, embora eles pode ser implementado sistema autônomo outros tipos de módulos de software.

O controle de origem do Visual Studio é simplesmente um ambiente para plug-ins de controle de origem de terceiros.Por isso, sua funcionalidade só é ativada pela instalação de um plug-in.Para usar um plug-in de controle da origem de terceiros, você deve, geralmente, instalar o aplicativo de terceiros e/ou o(s) plug-in(s) de controle de origem nos computadores cliente e servidor para seu site.Depois de instalar como indicado pelas instruções de terceiros, sua funcionalidade estará disponível através do Visual Studio.As operações que estão ativas são variáveis, dependendo do plug-in de controle de origem.Você deve consultar a documentação de terceiros para detalhes operacionais de pacotes específicos.

Consulte "Visão Geral (controle de origem)" na ajuda do Visual Studio para obter detalhes de design de controle de origem no Visual Studio.Esta seção da Ajuda também fornece todas as informações que serão necessárias para desenvolver um pacote de controle de origem de terceiros que seja compatível com Visual Studio.

Noções básicas de controle de origem suportados pelo Visual Studio

O suporte de controle de origem básico no Visual Studio inclui a configuração de plug-in de controle de origem e opções de ambiente, comutação de plug-in, acesso ao banco de dados, versionamento e manipulação de projetos do Visual Studio, soluções e arquivos e metadados associados.O controle de origem no Visual Studio também aplica protocolos do controle de acessos ao banco de dados, por exemplo, o estilo de trabalho Lock-Modify-Unlock, no qual um usuário que quer modificar um arquivo deve verificá-lo exclusivamente.

É importante lembrar que você deve usar controle de origem em mecanismos do Visual Studio para interagir com um plug-in de controle de origem.Não use outras aplicações de cliente apresentadas por terceiros que forneçam o plug-in, por exemplo, Visual SourceSafe Explorer.O uso apropriado dos mecanismos de controle de origem no Visual Studio garante que somente arquivos corretos sejam adicionados ao controle de origem e que os arquivos de projeto e solução do Visual Studio sejam atualizados com os detalhes corretos do plug-in específico.

Configuração de Plug-in de Controle de Origem e Comutação

O controle de origem do Visual Studio suporta configuração e comutação de plug-in através da entrada Source Control na caixa de diálogo Options.Esta entrada é acessível selecionando-se Options no menu Tools do Visual Studio.Você usará a caixa de diálogo Options para selecionar o plug-in que você deseja utilizar para controle de origem, e configurar as opções de ambiente para o plug-in.

Antes que você e sua equipe possam aproveitar as vantagens dos recursos de controle de origem no Visual Studio IDE, você deve:

  • Determinar se qualquer plug-in de controle de origem está disponível.

  • Se o plug-in de controle de origem que você deseja usar não estiver instalado em seu computador, instale o produto de terceiros que ofereça suporte ao plug-in e reinicie o Visual Studio para registrá-lo.

  • Criar um banco de dados de controle de origem de acordo com a funcionalidade do determinado plug-in.

  • Envie um link, com o local do banco de dados, para todos os membros da equipe.

Acesso ao Banco de dados

Comandos básicos de acesso ao banco de dados, por exemplo, Check Out e Add to Source Control, estão disponíveis no menu File do Visual Studio.No entanto, esses comandos são ativados somente depois que você tiver escolhido o plug-in de controle de origem que deseja usar.Quando você usa um dos comandos básicos de acesso ao banco de dados, o plug-in que você tiver escolhido chama a correspondente funcionalidade de terceiros e/ou o ambiente para concluir a operação associada.

Algumas operações de acesso são ativadas somente com o plug-in selecionado, enquanto outras operações estão somente disponíveis quando você também tiver selecionado um projeto do Visual Studio, solução, ou arquivo no Solution Explorer do Visual Studio.Por exemplo, você pode usar um comando Add to Source Control depois de ter escolhido um plug-in.Entretanto, para usar um comando Check In, você deve ter um item selecionado no Solution Explorer.

Manipulação de arquivo pelo controle de origem

Você pode adicionar os seguintes arquivos ao controle de origem do Visual Studio:

  • Arquivos de solução (*.SLN).

  • Arquivo de projeto, por exemplo, arquivos *.csproj, *.vbproj.

  • Arquivos de configuração de aplicativos com base em XML, usados para controlar comportamento em tempo de execução de um projeto do Visual Studio.

Arquivos que você não pode adicionar ao controle de origem incluem o seguinte:

  • Arquivos de opção de solução de usuário (*.suo).

  • Arquivos de opção de projeto de usuários, por exemplo, arquivos *.. csproj.user, *. vbproj.user

  • Arquivos de informação da Web, por exemplo, *.csproj.webinfo, *. vbproj.webinfo, que controlam o local da raiz virtual de um projeto da Web

  • Criar arquivos de saída, por exemplo, arquivos *.dll e *.exe.

A propagação da alteração do namespace

O controle de origem do Visual Studio oferece suporte à propagação de alteração do namespace em plug-ins controle de origem.Propagação de alteração aplica-se a operações de exclusão, renomeação e mudança de local.Quando você solicitar uma operação para qual a propagação de alteração estiver ativada, o plug-in de controle de origem irá alterar a cópia de trabalho do item controlado por fonte, a cópia principal no banco de dados, e as cópias de outros usuários, quando você fizer o check-in no item e os outros usuários o recuperarem.

Como Controle de Origem Trata Soluções e Projetos

Quando você adiciona uma solução ou projeto ao controle de origem, a primeira coisa que um plug-in de controle de origem deve fazer é identificar uma raiz única para o item que está sendo adicionado.Esta raiz é um caminho ao diretório pai de todas as pastas de trabalho e arquivos que compõem a solução ou projeto.

Uma raiz única geralmente mapeia para um caminho físico no disco.Contudo, se uma solução contém arquivos ou projetos que residem em mais de uma unidade de disco, não há nenhuma pasta física à qual uma raiz única pode fazer o mapa.Uma solução pode mapear a unidade de disco, mas a raiz única de um controle de origem, não.Para apoiar esta situação, o controle de origem do Visual Studio apoia o conceito de uma raiz superunificada.Este tipo da raiz é um contêiner virtual e todos os projetos e os arquivos em uma solução controlada por fonte estão localizados abaixo dele.

Quando você adiciona uma solução usando um plug-in de controle de origem com recursos avançados, o plug-in cria uma pasta raiz vazia de solução no banco de dados.Esta pasta conterá todos os itens em uma solução controlada por fonte.Por padrão, esta pasta está <solutionname>raiz.

Observação:

  Quando você adicionar um projeto único ao controle de origem, a pasta .root não será criada.

O uso de solução raiz oferece os seguintes benefícios:

  • Menos prompt.A solução raiz minimiza o número potencial de ligações de controle de origem para uma solução e, assim, minimiza o número de avisos aos usuários quando você adiciona uma solução para controle de origem e executa outras tarefas.

  • Encapsulamento do projeto.A solução raiz garante que todos os projetos em uma solução possam ser identificados como pertencentes ao mesmo conjunto, mesmo quando uma ou mais projetos residam em diferentes partições ou computadores.

Você pode desabilitar a criação da pasta .raiz <solutionname>, mas ao fazer isso assim, não é recomendável.Para obter mais informações, consulte Como: desabilitar a criação do <solutionname>raiz pasta.

Soluções no Visual Studio são bem-formadas ou não.Uma solução bem-formada é uma solução para a qual a estrutura hierárquica no disco combina com a sua estrutura no Solution Explorer.Todos os projetos em uma solução bem-formada são armazenados em subpastas da pasta solução no disco.Se a solução é bem-formada quando você a adiciona ao controle de origem, o plug-in do controle de origem cria uma pasta abaixo da pasta *.root para conter as cópias principais de arquivo de solução (*.sln) e arquivos de opção de solução de usuários (*.suo) para a solução.Finalmente, o plug-in de controle de origem cria uma pasta sob a pasta .sln para cada projeto adicional no banco de dados do controle de origem.

Se uma solução não é bem-formada, o plug-in do controle de origem cria uma pasta para a solução e para o seu projeto inicial.Em seguida, as pastas para cada projeto adicional são criadas em paralelo com a pasta de solução.

Modos de exibição de uma solução ou projetos

O Visual Studio fornece três exibições distintas de uma solução controlada por fonte ou projeto: Design, controle do código-fonte e físicos.Muitas tarefas de controle de origem são mais fáceis de executar quando não há um mapeamento um-para-um entre os elementos individuais desse modo de visualização.Contudo, se você criar as suas soluções e projetos e os acrescentar ao controle de origem usando as configurações padrões do Visual Studio, suas soluções e projetos não serão, necessariamente, organizados do mesmo modo no disco como eles estão no Solution Explorer e no banco de dados.

O modo design de uma solução ou projeto, que você vê no Solution Explorer, é um retrato lógico do conteúdo de uma solução ou projeto.Geralmente, o modo design é limpo e significativo.Arquivos desnecessários estão ocultos e arquivos de vários locais físicos diferentes são colocados em um contêiner de projeto único.

O modo de controle de origem de uma solução ou projeto, que você vê em um aplicativo autônomo, como Visual SourceSafe Explorer, é também um modo de exibição lógico de uma solução ou projeto.Entretanto, o modo de exibição de controle de origem não é, necessariamente, um reflexo do modo de exibição lógico.

O modo de exibição físico de uma solução ou projeto, que você vê no Windows File Explorer, provavelmente não refletirá a estrutura hierárquica da lógica ou visão do controle de origem.

As diretrizes a seguir podem ajudá-lo a obter fidelidade organizacional entre o modos de exibição de design, físico e controle de origem de suas soluções controladas por fonte e projetos:

  • Primeiro, crie uma solução em branco e adicione projetos a ela.Isso o ajuda a manter a relação lógica pai-filho entre uma solução e seus projetos no armazenamento.Em seguida, quando você adicionar a solução ao controle de origem, o modo de exibição de controle de origem e design irá espelhar a hierarquia da solução no disco.

  • Atribua a cada solução um nome exclusivo e descritivo que se diferencia do nome de cada um dos projetos contidos.

  • Evite adicionar arquivos de link para uma solução ou projeto controlado por fonte origem.

  • Se possível, armazene todos os arquivos de uma solução ou projeto em uma unidade de disco.

Conexões de controle de origem e ligações

O Visual Studio define uma conexão como uma ligação de dados ativa entre o Visual Studio e um servidor de banco de dados.Quando você adiciona uma solução ou projeto ao controle de origem, o plug-in de controle de origem copia o item e todo o seu conteúdo do disco para o banco de dados.Uma pasta controle de origem é criada para cada pasta que contém um arquivo solução ou projeto.Após adicionar o item, o plug-in de controle de origem vincula sua cópia de trabalho local de uma solução ou projeto à sua versão no banco de dados.

Cada solução controlada por origem tem, pelo menos, uma ligação de controle de origem.No entanto, um item pode ter várias ligações e requerer várias conexões com o banco de dados.O número de vínculos e conexões depende de como você cria a solução inicialmente e se seus projetos e arquivos estão todos salvos na mesma partição.

Como um exemplo de vínculos e conexões, pense em uma solução bem formada de controle de origem, com vários projetos, como uma casa com várias salas.Quando você constrói a casa, você pode instalar uma linha de dados única de alta velocidade de uma sala à rua.Você instala um roteador atrás de um firewall para distribuir a alimentação de dados para outras salas e você paga um provedor de serviços de Internet para conectar sua casa com a Internet.

Você pode pensar em vínculo de controle de origem como representação da linha de dados única criada para a casa.Quando você abre uma solução controlada por fonte, uma conexão é criada através dessa ligação.A conexão estabelece um 'aperto de mão' entre a sua cópia de trabalho da solução no disco e a cópia mestra da solução no banco de dados.

Se uma solução controlada por origem não for bem formada, você pode vê-la como uma casa na qual cada sala é unida à Internet diretamente.Tarifas de Internet são mais caras do que as da casa de conexão única, os custos de manutenção são superiores, e mudar para um provedor de serviços de Internet diferente é muito mais difícil e demorado.

Idealmente, uma solução e seu projeto compartilham uma ligação de controle de origem única.Soluções Single-Binding são mais gerenciáveis do que soluções Multiple-Binding.Elas tornam mais fácil:

  • Desconectar do controle de origem para trabalhar off-line.

  • Conectar-se ao banco de dados após a reconexão com a rede.

  • Ramificar em uma etapa.

Você pode criar uma solução de multiprojeto com uma ligação única, criando uma solução em branco antes de adicionar seus projetos.Você também pode fazer isso, selecionando a opção Create Directory for Solution na caixa de diálogo New Project, ao criar um par de solução de multiprojeto.

Se você criar um par de solução de multiprojeto em uma etapa e não selecionar a opção Create Directory for Solution na caixa de diálogo New Project (desativado por padrão), uma segunda ligação será criada quando você adicionar um segundo projeto à solução.Uma ligação é criada para o projeto inicial e para a solução.Ligações adicionais são criadas para cada projeto adicional.

Terminologia de controle de origem

A documentação do Visual Studio usa um número de termos para descrever recursos e conceitos de controle de origem.A tabela a seguir define alguns dos termos comuns.

  • Versão base
    A versão do servidor de um arquivo do qual uma versão local é derivada.

  • Vinculação
    Informação que correlaciona uma pasta de trabalho de uma solução ou projeto no disco à pasta no banco de dados.

  • Ramificação
    Processo de criar uma nova versão, ou ramificação, de um arquivo compartilhado ou projeto sob controle de origem.Uma vez que uma ramificação tenha sido criada, as duas versões sob controle de origem terão um histórico compartilhado até um determinado ponto e históricos divergentes após esse ponto.

  • Conflict
    Duas ou mais alterações diferentes para a mesma linha do código em situações em que dois ou mais desenvolvedores tenham feito o check-out e editado o mesmo arquivo.

  • Conexão
    Uma ligação de dados ativa entre um cliente do controle de origem (por exemplo, Visual Studio) e um servidor de banco de dados do controle de origem.

  • Banco de dados
    Local onde todas as cópias mestre, histórico, estruturas de projeto e informações do usuário são armazenados.Um projeto sempre está contido em um banco de dados.Vários projetos podem ser armazenados em um banco de dados, e vários bancos de dados podem ser usados.Outros termos normalmente usados para um banco de dados são repositório e armazenamento.

  • History
    Registro de alterações de um arquivo desde que ele tenha sido adicionado, inicialmente, no controle de origem.Com o controle de versão, você pode retornar a qualquer ponto no histórico do arquivo e recuperar o arquivo como ele existia até esse momento.

  • Rótulo
    Nome definido pelo usuário anexado a uma versão específica de um item controlado por fonte.

  • Cópia local
    Arquivo em uma pasta de trabalho do usuário para a qual são copiadas alterações antes que seja feito um check-in.Uma cópia local é, às vezes, chamada de uma cópia de trabalho.

  • Cópia mestra
    A versão mais recente do check-in de um arquivo controlado por fonte, em oposição à cópia local de um arquivo em sua pasta de trabalho.Outros termos para cópia mestra são versão do servidor e versão do banco de dados.

  • Mesclar
    Processo de combinar diferenças entre duas ou mais versões modificadas de um arquivo em uma nova versão de arquivo.Mesclar pode afetar diferentes versões do mesmo arquivo ou alterações feitas a uma mesma versão do arquivo.

  • Arquivo compartilhado
    Um arquivo com versões que residem em mais de uma localidade de controle de origem.Outros termos para um arquivo compartilhado são cópia e atalho.

  • Raiz solução
    Uma pasta vazia em um banco de dados que contém todos os itens de uma solução controlada por origem.Por padrão, esta pasta está <solutionname>raiz.

  • Raiz Superunificada
    Um contêiner virtual abaixo do qual todos os projetos e os arquivos em uma solução controlada por origem estão localizados.Por exemplo [SUR]: \ é a raiz super-unificada de uma solução controlada por fonte que contém os projetos que estão localizados em:\C:\Solution\ProjOne [SUR] e [SUR]:\D:\ProjTwo.

  • Raiz unificada
    Um caminho para a pasta pai de todas as pastas de trabalho e arquivos em uma solução ou projeto controlado por origem.Por exemplo, c:\Solucao é a raiz unificada de uma solução controlada por fonte contendo arquivos localizados em c:\Solucao, c:\Solucao\Proj1 e c:\Solucao\Proj2.

  • Pasta de trabalho
    Local no qual as cópias locais de itens controlados por origem são armazenados, geralmente no seu próprio computador.Outro termo para uma pasta de trabalho é espaço de trabalho.

Consulte também

Tarefas

Como: desabilitar a criação do <solutionname>raiz pasta

Referência

Caixa de diálogo New Project