Vincular várias pastas em uma única pasta para que os caminhos relativos funcionem. (Fedora)

Vincular várias pastas em uma única pasta para que os caminhos relativos funcionem. (Fedora)

Eu tenho um repositório SVN que possui uma estrutura que não está alinhada com os caminhos de construção relativos necessários.

O diretório do repositório SVN se parece com isso

  1. raiz
    • alfa
      • porta-malas
        • p1
        • p2
        • pág.3
      • marcação
      • filial
    • bravo
      • porta-malas
        • pág.4
        • p5
        • pág.6
      • marcação
      • filial

A estrutura de diretório de construção que eu preciso é

  1. raiz
    • p1
    • p2
    • pág.3
    • pág.4
    • p5
    • pág.6

Eu gostaria de poder manter a estrutura do SVN sozinha, principalmente porque não tenho capacidade real de ajustá-la. Eu também gostaria que se outra coisa fosse adicionada a um tronco, digamos p7 em alfa, que o diretório de construção tivesse isso automaticamente adicionado a ele. Para que a compilação funcione, eu precisaria ser capaz de, de dentro de p1, emitir um comando como cd ../p2/ e movê-lo para a pasta p2.

Acho que alguma forma de link é o caminho que preciso, mas estou um pouco perdido sobre como abordar isso.

Desde já, obrigado.

Responder1

Uma maneira de fazer isso (usando apenas SVN) é criar um terceiro projeto no root, chame-o de "build". Poderia ter um tronco, tags, galhos normalmente, se você quiser. Dentro do projeto "build" você poderia manter seu makefile ou qualquer outra coisa, mas principalmente "build" teria apenas uma regra svn:externals para extrair todos os componentes necessários (e na revisão apropriada). Em seguida, você pode criar qualquer estrutura de diretório que desejar, deixando os locais normais do repositório de lado.

Uma grande desvantagem desse método é que fica mais difícil construir alterações antes de confirmá-las. Mas você ainda pode fazer isso trabalhando suas alterações na cópia de trabalho "build" com uma modificação temporária no svn:externals se necessário para obter o HEAD em vez de uma revisão específica.

informação relacionada