Existe uma maneira de tar diretamente a versão mais recente de uma pasta SVN sem os arquivos ocultos SVN? Eu gostaria de criar um arquivo tar sem os arquivos SVN. Sei que você pode obter as informações mais recentes com os arquivos de rastreamento SVN, mas existe um liner que enviará as informações diretamente para um arquivo?
13
Respostas:
A maneira mais fácil de fazer uma cópia da versão mais recente de um repositório sem todas as pastas .svn é usar o
svn export
comandoAqui está como eu faria o arquivo:
Onde URL é a URL do seu repositório svn e PATH é um caminho local adequado para salvar uma cópia do repositório exportado. Não sei como fazê-lo mais diretamente do que isso. Infelizmente, você acaba com a cópia exportada, por isso pode querer colocar tudo em um pequeno script bash que, em seguida, exclui os arquivos temporários.
Edição: Embora este seja o método mais fácil e seja o que eu usei, seria cuidadoso. Em minha pesquisa, encontrei este http://narfation.org/2009/01/08/creating-recreatable-tar-gz-from-svn, que claramente nos diz o problema da propriedade preservada do grupo / usuário, que causa problemas ao implantar em outro sistema. Eu tentei esse script com modificações próprias para se adequar ao meu propósito e você também pode se beneficiar.
fonte
Talvez a versão 1.23 do tar permita excluir todos os arquivos de versão da linha de comando, mas infelizmente não funciona na minha versão 1.20:
fonte
Vá para o diretório de trabalho do subversion (checkout) e execute:
Se você estiver usando utilitários GNU, também poderá executar:
Se possível, eu recomendaria usar o formato ustar (
-H ustar
).fonte
Eu também vejo:
Graças alcatrão.
fonte
Se bem entendi, você está querendo tar os resultados de um svn checkout?
Então, no pseudocódigo, seria algo parecido com isto:
fonte
Isso é adaptado de uma frase que escrevi. Supõe que você tenha um diretório ~ / tmp. Você precisará alterar as variáveis PROJ e URL nas duas primeiras etapas. O resto deve funcionar.
Para facilitar a cópia:
Para facilitar a visualização:
fonte
Este é o meu esforço de tentar criar um tarball determinístico a partir de um repositório SVN.
Requer o GNU tar 1.27 ou posterior.
Recursos:
pax
cabeçalho estendidogit archive
faria.tar.gz
e.tar.xz
compressões. Para gzip, você pode otimizar a compressão mais usandoadvdef
de advancecomp (advdef
usos zopfli biblioteca).Como exemplo, eu uso o repositório subversion em si como uma fonte para checkout e criação do tarball. Observe que não é dessa maneira que o SVN empacota seus tarballs e não tenho nenhuma relação com o desenvolvimento do SVN. É apenas um exemplo , afinal.
fonte