Gerando pacotes de atualização com base no SVN
Olá galera,
Hoje vou dar uma dica sobre geração de pacotes utilizando o Subversion.
O cenário é o seguinte: você desenvolve um projeto que utiliza o SVN como controlador de versões.
Periodicamente, você deve enviar pacotes para o cliente com atualizações do sistema (novas implementações, correções, ajustes, enfim...).
Entretanto, tais pacotes são incrementais, já que não é necessário enviar toda a estrutura do sistema a cada atualização.
Pelo Windows, é possível fazer a exportação dos arquivos mediante a utilização da ferramenta TortoiseSVN.
Através da opção Log, é obtido o histórico das revisões. Com base nesse histórico, podemos selecionar a última revisão que fora enviada ao cliente e a revisão desejada, comparar as revisões (a fim de obter os arquivos alterados) e, finalmente, exportá-los para uma pasta que manterá a estrutura do sistema.
Dessa forma, em produção, só será necessário mover a pasta para a raiz do projeto, que os arquivos alterados substituirão os mais antigos.
Ok... mas e no Linux ?
Desconheço uma ferramenta para Linux que possua uma GUI tão completa quanto a do Tortoise para Windows (se alguém conhecer, deixe nos comentários por favor).
Para tarefas mais simples, utilizo o RapidSVN, mas ele peca em alguns pontos, como esse.
Entretanto, se perdemos na facilidade, ganhamos no desempenho...
Existe um script chamado MOFIO (que pode ser baixado em: http://osmonitoring.com/mofio/mofio.tar.gz).
Ele faz o export dos arquivos alterados (preservando a estrutura de diretórios) entre a revisão passada como parâmetro e a HEAD.
(O que ele faz, na verdade, é um diff entre as duas revisões, gera um .txt contendo a lista de modificações e, com base nele, copia os arquivos alterados).
Vamos à sua utilização:
Obs.: recomendo copiar a pasta do MOFIO para a raiz do projeto.
O script aceita dois argumentos: revisão e destino, portanto, no terminal (posicionado na raiz do projeto), digite:
./mofio.sh 75 /home/pacote/projeto
Assim, "/home/pacote/projeto" conterá os arquivos modificados entre a revisão 75 e a HEAD (revisão mais recente disponível no repositório), em sua respectiva árvore de diretórios.
Depois da criação da estrutura, você pode compactá-la, facilitando o envio ao cliente.
1 Comentário para “Gerando pacotes de atualização com base no SVN”
Deixe um comentário |


Elegante….