Pergunta

Eu estou convertendo um grande, multi-projecto repositório CVS para Subversion usando cvs2svn. Ele está trabalhando muito bem, mas existem alguns projetos CVS que realmente deveria ser ramos de outros projetos.

Usando um arquivo de opções que eu sou capaz de especificar que o tronco do projeto 'ShouldBeBranch' deve ser colocado em '/ OtherProject / ramos / ShouldBeBranch', mas não consigo encontrar uma maneira de evitar a criação de diretórios do Subversion para as tags e ramos do projeto ShouldBeBranch (que estão vazios, mas ainda criado).

A única opção que eu posso ver no momento é para excluir os diretórios do Subversion uma vez que a conversão foi concluída, mas eu queria saber se alguém sabia uma maneira que isso poderia ser feito dentro do processo de conversão? Eu também estou olhou para o arquivo de dicas de símbolo, mas com 270 projetos especificando um projeto pelo número olhares índice muito difícil!

Muito obrigado, David

Foi útil?

Solução

Provavelmente seu projeto "ShouldBeBranch" em si tem ramos e tags. Aonde quer aqueles acabar?

Se você quiser apenas o tronco do projeto "ShouldBeBranch" para ser incluído na conversão:

  • excluir todos os outros símbolos do projeto "ShouldBeBranch"
  • definir seu trunk_path para um caminho dentro do outro projeto
  • definir o branches_path e tags_path para Nenhum no arquivo de opções (Isso as impede de ser criado)

A parte de seu arquivo de opções que adiciona o projeto "ShouldBeBranch" vai, assim, conter linhas como este:

run_options.add_project(
    # ...
    trunk_path='OtherProject/branches/ShouldBeBranch',
    branches_path=None,
    tags_path=None,
    # ...
    symbol_strategy_rules=[
        ExcludeRegexpStrategyRule(r'.*'),
        ],
    )

Outras dicas

Fazendo os ajustes após a importação parece ser a melhor coisa para mim. Se você SVN mover projeto \ tronco de um projeto de ramo \ alguma coisa, Subversion apenas rastrear história.

Este blog descreve uma maneira de fazer caminhos de mudança de nome, utilizando um ciclo de descarga / carga. Desta forma, irá mudar a história, de modo que quando você olhar para trás na história de arquivos parece que eles sempre foram dentro ramo \ alguma coisa.

Se você fosse para voltar para a versão antiga, você esperar que estejam de projeto \ tronco. Portanto, eu não acho que é uma coisa boa para tentar histórico de alterações.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top