Pergunta

Eu estou procurando uma maneira de juntar dois históricos de revisão para um único arquivo.

Um dos nossos projectos foi rastreado via RCS. Agora, este projecto vive em CVS. Ele foi inicialmente cometidos como um novo projeto. Como resultado, a história CVS não mostra as versões antigas que foram rastreados via RCS.

Por exemplo, suponha que o arquivo foo.c foi revista 10 vezes em RCS, em seguida, 2 vezes em CVS. RCS tem versões 1.1 a 1.10, e CVS tem versões 1.1, 1.2, e 1.3. RCS versão 1.10 e CVS versão 1.1 são idênticas.

Eu estou tentando criar uma história combinada de tal forma que mostra foo.c 12 versões, 1.1 a 1.12. Desde lojas CVS revisões no mesmo formato de arquivo como RCS, que deveria ser uma simples questão de começar com o arquivo RCS existente, em seguida, o check-in as novas mudanças com o comando "ci" (preservando a data e hora, os IDs de usuário e mensagens de confirmação) . Quaisquer tags CVS também precisam ser preservados. Este novo arquivo RCS teria, então, a história completa, que poderia então ser adicionado ao repositório CVS, substituindo a versão antiga.

Suponha que não há ramos nesta base de código. Apenas desenvolvimento linha reta.

Será que um tal programa utilitário já existem?

Foi útil?

Solução

Acabo de escrever uma biblioteca Python, EditRCS ( PyPI ), para manipular arquivos RCS. O rcs_join script de exemplo irá juntar-se a primeira revisão de um arquivo RCS para a cabeça de outro e atualizar as revisões do ramo e tag.

Esperamos que faz o que quiser (embora provavelmente é muito tarde agora!)

Outras dicas

Se é um único arquivo e você não tem de transferir um grande número de revisões, você sempre pode check-out do sistema de controle de versão antiga revisão de cada vez e se comprometer que no novo sistema de controle de versão (a maioria de versões metadados do sistema de lata co -exist no mesmo diretório) ... este método funciona, é claro, qualquer que seja o sistema de controle de versão origem e de destino e isso é o que eu pessoalmente fiz quando eu tive um problema semelhante ao seu.

Ou você pode tentar a ferramenta Tailor , que pode converter de / para muitos sistemas de controle de versão, embora Eu realmente não sei se ele pode também "merge" duas histórias diferentes em um único como você precisa.

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