Algumas notas
-
Organização da árvore de repositórios, funções de diferentes nós dentro do repositório Subversion são apenas uma questão de convenções, "melhores práticas" e hábitos e estritamente relacionados ao estilo de trabalho, não usadas ferramentas do lado do cliente para acessar o repositório. Ou seja, "usando o TortoiseSVN" é informação irrelevante à luz da sua tarefa (mesmo / encontrado e satisfeito / técnica será | pode ser usado com qualquer svn-client em qualquer sistema operacional)
-
Sua tarefa de negócios precisa ser definida (melhor e mais correta, no meu POV) não como "como usar ramificações", mas como "como armazenar e vincular projetos relacionados em caso do Subversion SCM-backend ", onde o uso de branches (ou qualquer outra hierarquia dentro de repo) é apenas uma escolha e não melhor (IMNSHO)
Soluções
Externos do Subversion
Qualquer parte do repositório SVN, que precisa ser clonada em qualquer outro lugar (e a relação entre o clone e o original salvo no futuro) pode ser utilizada em svn:externa l truque. Dessa forma, adicionaremos ao repositório "virtual tree", que existe em algum lugar - de alguma forma, mas pode aparecer no checkout'ed WC como parte do nosso repositório
(neste diretório do tronco da imagem é externo do repo independente)
Sua estrutura simples atual de program_mod
dir /B
corefile.php
additionalfile.php
impõe uma restrição na versão do Subversion (tanto no cliente quanto no servidor), porque os arquivos externos foram adicionados apenas no Subversion 1.6, para diretórios externos
dir /B /S
z:\mod\additionalfile.php
z:\mod\Core
z:\mod\Core\corefile.php
versões anteriores também podem ser usadas. A última opção também tem mais uma ligeira vantagem em termos de controlabilidade no caso de expansão do core-project em um projeto multi-file: no caso de externals baseados em arquivos, você terá que adicionar todos os novos arquivos manualmente, externalidades de diretório incluirá todos os arquivos dentro do objeto externo
Ramifica e mescla
Do outro lado, você pode usar o método de mesclagem de ramificação para manter program_mod
Ramifique a origem do núcleo (/ trunk) em alguns, qualquer nó separado dentro do repositório ( branches/program_mod
, f.e). Adicione additionalfile.php neste ramo. Depois de cada trunk-commit / better / ou antes do lançamento de program_mod / worse / merge trunk no branch program_mod (ou svn copy corefile
no post-commit hook - TBT!)