Repositórios de terceiros no Subversion; mods locais?

5

Estou construindo um pequeno aplicativo como uma interface para suportar funções, monitoramento, execução baseada na Web de testes de unidade, etc. Isso será verificado no Subversion.

Eu quero incluir um aplicativo de terceiros , que também está disponível no Subversion. Até agora, prefiro referenciar o repositório remoto para facilitar as atualizações, especialmente quando fiz modificações locais.

Agora, quero que o aplicativo de terceiros seja distribuído ao lado do aplicativo pai. Subversion externos estão fora, desde que eu não posso cometer meus mods locais. git svn parece ter potencial, mas não tenho certeza dos detalhes. (Parece sujo ter um diretório .git com metadados svn armazenados em um repositório svn.)

Então, como você lida com modificações em projetos Subversion que você não pode comprometer? Estou bastante aberto a qualquer combinação de git e svn, preferencialmente permitindo que o código viva em nosso repositório Subversion existente.

Atualização: Atualmente, estou pesquisando filiais de fornecedores , que é mais convenção do que recurso. Existe uma ferramenta chamada svn_load_dirs.pl para ajudar com o processo.

    
por Annika Backstrom 08.12.2010 / 14:34
fonte

4 respostas

2

O pistão é ideal para isso -

link

Ele armazena o código externo no repositório do SVN, pode facilmente mostrar diferenças entre o seu código e o ramo do fornecedor e também lida com a atualização.

    
por 22.12.2010 / 19:45
fonte
1

Eu cuido da situação de repositórios externos criando uma cópia em nosso repositório local e mesclando periodicamente as alterações do repositório externo para o repositório local (por exemplo, svn merge do externo em minha cópia de trabalho e, em seguida, confirme). Assim, posso manter-me razoavelmente atualizado sobre o código externo, mas posso fazer (e manter) as alterações locais de que preciso.

Obviamente, você precisa ter certeza de que tem permissão para distribuir uma versão modificada do código ao lado do seu aplicativo.

    
por 08.12.2010 / 14:49
fonte
0

Eu uso o Subversion e o que funcionou melhor para mim, é armazenar bibliotecas de terceiros no repositório em uma estrutura de diretórios padronizada:
- Library1
- v1.0
- v2.0
etc

Meus objetivos são:
- facilidade de descoberta
- alterar o rastreamento
- checkout e build simples (para novos Devs e Integração Contínua)
- não tendo dependências externas, então você tem tudo o que é necessário para executar no futuro

Há uma boa discussão sobre SO para isso também:

link

HTH!

    
por 18.12.2010 / 09:36
fonte
0

Eu tento importar todos os repositórios "antigos" (CVS, Subversion) para um repositório Git ou Mercurial local. Dessa forma, eu posso facilmente rastrear a versão oficial, a fusão é muito, muito, muito melhor no DCVS do que no Subversion e eu posso ramificar quantas vezes eu quiser sem qualquer abanão.

O único inconveniente até agora é se acostumar com a idéia de manter separados os projetos separados; não tente importar mais de um projeto em um DCVS.

    
por 21.12.2010 / 12:25
fonte