Controle de Versão baseado em SVN
Dependendo do tipo de repositório, este estará acessível através de um conjunto de protocolos que incluem:
- Acesso convencional a ficheiros, normalmente para repositórios locais ou baseados na rede.
-
O protocolo
svn, utilizando texto simples ou TCP/IP – ou o equivalente segurosvn+ssh. -
O método
http, geralmente utilizando WebDAV sobre http – ou o equivalente segurohttps.
Os repositórios Subversion (SVN) são ligados e, quando necessário, criados na página Data Management – Design Repositories page da caixa de diálogo Preferences.
Gerir repositórios de design SVN
Os repositórios de design SVN são geridos na página Data Management – Design Repositories page da caixa de diálogo Preferences. A partir desta página, pode executar várias ações, incluindo:
-
Criar novos repositórios SVN baseados em ficheiros, utilizando as capacidades de controlo de versões incorporadas no Altium Designer.
-
Ligar a repositórios SVN existentes.
-
Controlar o estado ativo de cada repositório definido.
Para cada repositório registado, ou melhor, ligado, é apresentada a seguinte informação:
- Name – um nome significativo para o repositório. Este poderá, por exemplo, refletir os projetos de design armazenados no repositório. Este nome é utilizado noutros locais do software para a seleção rápida de um Design Repository a utilizar, por exemplo ao abrir um projeto a partir do controlo de versões.
- Activated – se o repositório está disponível para utilização pelo sistema (ativado) ou não (desativado). Um repositório recém-criado ou ligado será ativado por predefinição.
- Type – o tipo de repositório; SVN ou Git.
- Repository – o URL para a pasta raiz do repositório.
- Status – se a ligação entre o Altium Designer e o repositório foi bem-sucedida ou não Se a ligação não for bem-sucedida, será apresentado um comentário a indicar o problema.
Criar um novo repositório SVN
A criação de novos Design Repositories a partir do Altium Designer é efetuada na página Data Management – Design Repositories page da caixa de diálogo Preferences. Clique no botão
e escolha SVN no menu pendente associado. Surgirá a caixa de diálogo Create SVN Design Repository.
A caixa de diálogo disponibiliza um conjunto de opções de configuração que lhe permitem definir a localização da pasta do repositório e o método (protocolo de ligação), bem como o nome da ligação local e o caminho da pasta de destino para os ficheiros de design extraídos. Tenha em atenção que os métodos de acesso svn e http exigem informações adicionais relacionadas com o sistema anfitrião e o respetivo acesso.
Com todas as definições especificadas conforme necessário, clique em OK. O repositório será criado na localização indicada e será estabelecida uma ligação a esse repositório a partir do Altium Designer. Surgirá uma entrada para o mesmo na lista de Design Repositories na página Data Management – Design Repositories da caixa de diálogo Preferences.

Exemplo de um repositório de design SVN recém-criado, apresentado no Altium Designer como Local Repository.
Ligar a um repositório SVN existente
Num ambiente colaborativo, um ou mais Design Repositories podem já ter sido criados numa localização acessível por vários utilizadores. Nesse caso, não precisa de criar um novo repositório – reinventando a roda, por assim dizer – bastando simplesmente ligar-se ao repositório existente pretendido. Isto também se aplica se tiver removido um repositório da sua lista de repositórios e quiser adicioná-lo novamente.
Para ligar a um repositório existente, na página Data Management – Design Repositories da caixa de diálogo Preferences clique no botão
e escolha SVN no menu pendente associado. Surgirá a caixa de diálogo SVN Design Repository. Introduza um nome pelo qual se referirá ao repositório no Altium Designer, especifique um caminho de checkout predefinido e indique o método de acesso ao repositório e o caminho para a pasta raiz do repositório. Também pode especificar uma subpasta específica dentro do repositório.
Com todas as definições especificadas conforme necessário, clique em OK – será estabelecida uma ligação e o repositório ficará pronto a ser utilizado.
Ligar a um repositório existente – neste caso, um repositório local no disco rígido.
Ligar a um repositório existente – neste caso, um repositório interno a uma instalação de servidor.
Options and Controls of the SVN Design Repository Dialog
Propriedades do Design Repository
- Name - reveja e/ou altere o nome do repositório de design.
- Default Checkout Path - clique no botão procurar na caixa de texto para procurar e selecionar a pasta do repositório de design.
Repositório
- Method - o método (protocolo de ligação) do repositório de design.
-
Server - o servidor anfitrião do repositório.
-
Server Port - veja se o repositório utiliza uma porta de servidor predefinida ou não predefinida.
-
Default - se selecionado, o repositório utiliza uma porta de servidor predefinida.
-
Non Default - se selecionado, o repositório utiliza uma porta de servidor não predefinida. A informação da porta do servidor também será apresentada.
-
-
Repository Subfolder - a subpasta designada do repositório. Clique em
no lado direito do campo Repository Subfolder para aceder à caixa de diálogo Browse Repository directories dialog e selecionar a subpasta na diretoria do repositório.
-
User Name - o nome de utilizador do repositório.
-
Password - a palavra-passe do repositório de design.
-
Test - clique para testar se a ligação ao seu repositório de design funciona. Surgirá uma caixa de diálogo para confirmar se funciona ou não. Se a ligação falhar, volte a verificar e corrija a informação.
Editar propriedades do repositório
Também pode editar as propriedades de um Design Repository em qualquer altura. Por exemplo, pode querer alterar o nome do repositório, tal como é apresentado e referenciado no Altium Designer. Ou pode querer editar a ligação, talvez para estabelecer uma ligação a um repositório diferente. Para o fazer, selecione a entrada do repositório na lista de repositórios (na página Data Management – Design Repositories da caixa de diálogo Preferences ), depois clique no botão
. Surgirá a caixa de diálogo SVN Design Repository (ou a caixa de diálogo Git Repository), a partir da qual pode efetuar as alterações necessárias.
Desligar de um repositório
Para desligar de um Design Repository, selecione a respetiva entrada na lista e clique no botão
. O repositório é removido da lista de Design Repositories ligados. O repositório em si não é eliminado; fica simplesmente desligado do sistema. Para voltar a utilizar um repositório, ligue-se novamente ao mesmo.
Utilizar repositórios de design SVN
Uma vez definida, a natureza conectada de um Repositório de Design SVN simplifica a capacidade de adicionar um projeto a esse repositório ou de abrir um projeto existente a partir desse repositório. Em vez de ter de memorizar o caminho ou percorrer um menu de navegação para selecionar o repositório, basta escolher o repositório pretendido a partir de uma lista conveniente de todos os Repositórios de Design aos quais está atualmente ligado e que estão ativados para utilização.
De um modo geral, os ficheiros de projeto podem ser adicionados a um repositório de controlo de versões utilizando os comandos dos painéis Projects ou Storage Manager, o que envolve os passos de registar os ficheiros para adição e, em seguida, efetuar o commit desses ficheiros para o VCS.
O processo apresentado abaixo utiliza o painel Projects, que é mais prático para acesso imediato, mas importa referir que o painel Storage Manager fornece mais detalhes e opções de VCS.
Adicionar um Projeto Local a um Repositório de Design SVN
Adicionar um projeto de design local (que atualmente não está sob controlo de versões) a um Repositório de Design é um processo simples. Com o projeto aberto, utilize o comando Add Project Folder To Version Control a partir do painel Projects ou do painel Storage Manager ou do Project » History & Version Control menu principal. Surgirá a caixa de diálogo Add to Version Control. O campo na parte superior desta caixa de diálogo apresenta uma lista pendente de todos os Repositórios de Design ligados e ativados. Selecione o repositório pretendido.
A hierarquia de pastas no Repositório de Design escolhido é-lhe apresentada na área Folders da caixa de diálogo. Especifique uma pasta existente na qual adicionar os ficheiros de design ou crie uma nova pasta utilizando o botão
. Neste último caso, será adicionada uma pasta na posição especificada dentro da hierarquia de pastas do repositório, com o nome da pasta de origem que contém o projeto.

Adicionar um projeto de design local a um repositório de design local.
Clique em
para confirmar as definições. A caixa de diálogo será então preenchida com entradas de ficheiros derivadas da pasta de origem, com os ficheiros constituintes do projeto selecionados – se necessário, utilize as caixas de seleção para ativar ou desativar ficheiros para inclusão. Selecione
para confirmar as seleções – tenha em atenção que as entradas de ficheiros no painel Projects têm agora o estado Scheduled for addition Isto indica que o VCS registou os ficheiros para adição ao controlo de versões e que estes estão prontos para serem submetidos (Commit) ao repositório VCS.
Ficheiros agendados para adição
Efetuar o Commit de um Projeto
Os ficheiros com o estado Scheduled for addition serão adicionados ao controlo de versões e ao repositório de design quando for efetuado o Commit. Para o fazer, selecione o comando Version Control » Commit Whole Project no menu de clique com o botão direito do painel Projects para iniciar o processo.
O comando Commit Whole Project
A apresentação seguinte da caixa de diálogo Add to Version Control permite desmarcar ficheiros individuais do projeto (ou selecionar ficheiros adicionais) para inclusão sob controlo de versões. Também pode ser adicionado um comentário, que será incluído na próxima revisão do VCS.
Inclusão de determinados ficheiros adicionados sob controlo de versões
O projeto e os respetivos documentos de design constituintes são então copiados para o repositório VCS e registados como uma nova revisão, enquanto o estado dos ficheiros nos painéis do Altium Designer é alterado para No Modification
Criar um Novo Projeto com Controlo de Versões
Ao criar um novo projeto com controlo de versões, o campo Repository na caixa de diálogo Create Project dialog apresenta uma lista pendente de todos os Repositórios de Design ligados e ativados. Selecione o repositório pretendido.

Criar um novo projeto de design com controlo de versões – todos os Repositórios de Design definidos estão disponíveis para utilização.
A opção Local Storage na caixa de diálogo Create Project define onde é armazenada a cópia de trabalho do projeto. São estes ficheiros que são abertos e editados no Altium Designer e que, no final, são submetidos novamente ao repositório (checked-in) como novas revisões quando as edições estiverem concluídas.
Abrir um Projeto com Controlo de Versões a partir de um Repositório de Design SVN
Igualmente simples é a possibilidade de abrir um projeto de design com controlo de versões que reside num Repositório de Design. Utilize o comando File » Checkout – surgirá a caixa de diálogo Check Out. Utilize o campo Check out from para escolher o repositório pretendido a partir de uma lista pendente de todos os repositórios de design ligados e ativados disponíveis para si.
A hierarquia de pastas no Repositório de Design escolhido é-lhe apresentada na área Folders da caixa de diálogo. Utilize esta área para especificar a pasta exata que deve ser extraída do repositório.
Utilize o campo Check out to para especificar para onde deve ser efetuado o check-out do conteúdo da pasta indicada. Esta é a sua área sandbox local.

Efetue o check-out de um projeto de design com controlo de versões existente a partir de um Repositório de Design indicado com facilidade controlada!
Bloqueio de Ficheiros de um Projeto SVN
O SVN VCS suporta bloqueio de ficheiros para que nenhum outro utilizador possa efetuar commit de alterações aos ficheiros bloqueados. Para bloquear um ficheiro de design do projeto sob SVN VCS, clique com o botão direito no mesmo no painel Projects e selecione o comando History & Version Control » Lock (ou selecione o comando Lock no menu de clique com o botão direito de um ficheiro no painel Storage Manager). Um ficheiro bloqueado é apresentado com o ícone
nos painéis Projects e Storage Manager.
O ficheiro foi bloqueado por si ou por outro utilizador. Quando bloqueado por si, o ficheiro não pode ser atualizado para uma nova revisão no repositório por outro utilizador (a menos que o desbloqueio seja forçado). Embora seja utilizado um único tipo de ícone para assinalar um ficheiro bloqueado, o texto associado indicará quem bloqueou o ficheiro – Locked by me ou Locked by someone else. O texto do VCS também indicará condições combinadas, por exemplo: Modified and locked by me.
Para desbloquear um documento que está atualmente bloqueado, clique com o botão direito no mesmo no painel Projects e selecione o comando History & Version Control » Unlock (ou selecione o comando Unlock no menu de clique com o botão direito de um ficheiro no painel Storage Manager). Depois de desbloqueado, qualquer utilizador pode efetuar o commit do documento com quaisquer modificações para o repositório de controlo de versões.
Limpar um Documento
Antes de serem feitas quaisquer alterações à sua cópia de trabalho local do ficheiro do projeto, o SVN cria uma espécie de lista de “tarefas a fazer” — ações que precisa de executar para realizar as alterações em segurança. À medida que executa estas ações, coloca um bloqueio na parte relevante da cópia de trabalho enquanto processa. Isto impede que outros clientes Subversion acedam à cópia de trabalho a meio da alteração. Quando termina, este bloqueio é libertado e o Subversion limpa a sua lista privada de tarefas a fazer. No entanto, se uma operação do Subversion for interrompida — por exemplo, se o processo for interrompido ou se o computador falhar — a lista privada de tarefas a fazer permanece no disco. Isto permite que o SVN regresse posteriormente a essa lista para concluir quaisquer operações inacabadas e devolver a sua cópia de trabalho a um estado consistente.
O comando de limpeza, acedido clicando com o botão direito na entrada do documento do projeto e escolhendo o History & Version Control » Cleanup ou selecionando o comando Project » Version Control » Cleanup nos menus principais, procura na sua cópia de trabalho e executa quaisquer tarefas pendentes, removendo os bloqueios da cópia de trabalho à medida que conclui essas operações e, em última análise, devolvendo a sua cópia de trabalho do documento do projeto a um estado consistente.