È necessario convertire un trunk di progetto in un ramo quando si utilizza CVS

StackOverflow https://stackoverflow.com/questions/907644

  •  05-09-2019
  •  | 
  •  

Domanda

Sto convertendo un ampio repository CVS multiprogetto in Subversion utilizzando cvs2svn.Funziona davvero bene, ma ci sono alcuni progetti CVS che dovrebbero davvero essere rami di altri progetti.

Utilizzando un file di opzioni sono in grado di specificare che il trunk del progetto "ShouldBeBranch" deve essere posizionato in "/OtherProject/branches/ShouldBeBranch", ma non riesco a trovare un modo per evitare di creare directory Subversion per i tag e i rami di il progetto ShouldBeBranch (che sono vuoti, ma comunque creati).

L'unica opzione che vedo al momento è eliminare le directory da Subversion una volta completata la conversione, ma mi chiedevo se qualcuno conoscesse un modo per eseguire questa operazione all'interno del processo di conversione?Ho anche esaminato il file dei suggerimenti sui simboli, ma con 270 progetti specificare un progetto tramite il numero di indice sembra troppo difficile!

Molte grazie, David

È stato utile?

Soluzione

Probabilmente il progetto "ShouldBeBranch" si ha filiali e tag. Dove vuoi quelli finire?

Se si desidera solo il tronco del progetto "ShouldBeBranch" da includere nella conversione:

  • escludere tutti gli altri simboli del progetto "ShouldBeBranch"
  • impostato la sua trunk_path ad un percorso all'interno del altro progetto
  • impostare il branches_path e tags_path su Nessuno nel file delle opzioni (questo impedisce loro di essere creato)

La parte del file delle opzioni che aggiunge il progetto "ShouldBeBranch" sarà quindi conterrà linee come questa:

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

Altri suggerimenti

Eseguire le correzioni dopo l'importazione mi sembra la cosa migliore.Se sposti il ​​progetto runk di un progetto in branch\qualcosa, Subversion terrà semplicemente traccia della cronologia.

Questo post sul blog descrive un modo per rinominare i percorsi utilizzando un ciclo di dump/caricamento.In questo modo cambierà la cronologia, in modo tale che quando guardi indietro alla cronologia dei file sembrerà che siano sempre stati all'interno di branch\qualcosa.

Se dovessi tornare alla vecchia versione, lo faresti aspettarsi deve essere nel progetto runk.Quindi non penso che sia una buona cosa cercare di cambiare la storia.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top