Incluindo a Revisão SVN no Versionamento da Sua Assembly .NET
No mundo do desenvolvimento de software, manter o controle de versão é crucial. Para aqueles que usam o Subversion (SVN) como seu sistema de controle de versão, poder incluir o número de revisão do repositório SVN na string de versão de um assembly .NET pode melhorar a rastreabilidade e facilitar a depuração. Se você tem se perguntado, “Há uma maneira de fazer isso sem ferramentas de terceiros como o CC.NET?”, a resposta é um sonoro sim.
O Problema: Versionamento Sem Ferramentas Adicionais
Você pode ter encontrado situações em que deseja que sua string de versão não apenas reflita os números de versão major e minor, mas também o número de revisão SVN. Um formato típico de versão que você pode considerar se parece com isto:
Major.Minor.SVNRev
Infelizmente, encontrar um método simples para atingir isso em .NET sem software adicional pode ser um desafio, especialmente se você já fez algo semelhante em linguagens como C ou C++. Em C/C++, isso poderia ser alcançado usando um script de construção que atualizasse um arquivo de cabeçalho com o número da versão.
A Solução: Usando SubWCRev
Uma maneira eficaz de incorporar o número de revisão SVN no versionamento do seu assembly .NET é através do SubWCRev, uma utilidade incluída com o TortoiseSVN. SubWCRev lê palavras-chave SVN dos seus arquivos e as substitui pelas informações de revisão apropriadas durante o processo de construção.
Guia Passo a Passo para Implementar SubWCRev
-
Baixar e Configurar o TortoiseSVN:
- Comece baixando o TortoiseSVN, se ainda não o fez.
- Instale-o na sua máquina para acessar a utilidade SubWCRev incluída.
-
Configurar Seu AssemblyInfo.cs:
- Abra seu arquivo
AssemblyInfo.cs
; este arquivo normalmente contém as informações de versão do seu assembly. - Adicione marcadores de posição onde os números de versão serão substituídos por
SubWCRev
.
Exemplo:
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0.0")]
- Abra seu arquivo
-
Criar um Arquivo de Template:
- Crie um novo arquivo de texto (por exemplo,
VersionInfo.txt
) e estruture-o para definir como as informações de versão devem ser preenchidas. - Use marcadores de posição para o número de revisão.
Exemplo de
VersionInfo.txt
:[assembly: AssemblyVersion("${VersionNumber}.0")] [assembly: AssemblyFileVersion("${VersionNumber}.0")] [assembly: AssemblyInformationalVersion("${VersionNumber}.${Revision}")]
- Crie um novo arquivo de texto (por exemplo,
-
Executar o SubWCRev:
- Utilize o comando SubWCRev para substituir os marcadores de posição no seu arquivo
VersionInfo.txt
por números de versão reais do seu repositório SVN. - Isso pode geralmente ser feito via linha de comando ou incluído nos seus scripts de construção.
- Utilize o comando SubWCRev para substituir os marcadores de posição no seu arquivo
-
Construir Seu Projeto:
- Ao construir seu projeto, o SubWCRev gerará um novo
AssemblyInfo.cs
com a versão preenchida com sua revisão SVN.
- Ao construir seu projeto, o SubWCRev gerará um novo
Conclusão
Ao incorporar o SubWCRev no seu fluxo de trabalho de projeto .NET, você pode garantir facilmente que a string de versão do seu assembly inclui o número de revisão SVN, tudo sem depender de software externo como o CC.NET. Essa abordagem não apenas torna seu versionamento mais informativo, mas também o mantém simples e gerenciável.
Agora que você sabe como incluir o número de revisão SVN
no versionamento do seu assembly .NET, experimente no seu próximo projeto, e você apreciará a clareza que isso traz.