Domanda

Sto cercando un modo per unire due storie di revisione per un singolo file.

Uno dei nostri progetti è stato monitorato tramite RCS. Ora, questo progetto vive in CVS. Inizialmente è stato impegnato come un nuovo progetto. Di conseguenza, la cronologia CVS non mostra le revisioni precedenti rilevate tramite RCS.

Ad esempio, supponiamo che il file foo.c sia stato rivisto 10 volte in RCS, quindi 2 volte in CVS. RCS ha le versioni da 1.1 a 1.10 e CVS ha le versioni 1.1, 1.2 e 1.3. La versione 1.10 di RCS e la versione 1.1 di CVS sono identiche.

Sto cercando di creare una cronologia combinata in modo che foo.c mostri 12 versioni, da 1.1 a 1.12. Poiché CVS memorizza le revisioni nello stesso formato di file di RCS, dovrebbe essere una semplice questione iniziare con il file RCS esistente, quindi controllare le nuove modifiche con "ci" comando (preservando i timestamp, gli userid e i messaggi di commit). Eventuali tag CVS dovrebbero anche essere preservati. Questo nuovo file RCS avrebbe quindi la cronologia completa, che potrebbe quindi essere aggiunta al repository CVS, sostituendo la vecchia versione.

Supponi che non ci siano rami in questa base di codice. Solo sviluppo in linea retta.

Esiste già un tale programma di utilità?

È stato utile?

Soluzione

Ho appena scritto una libreria Python, EditRCS ( PyPi ), per manipolare i file RCS. Lo script di esempio rcs_join unirà la prima revisione di un file RCS alla testa di un altro e aggiornerà le revisioni di ramo e tag.

Speriamo che faccia quello che vuoi (anche se probabilmente è troppo tardi adesso!)

Altri suggerimenti

Se si tratta di un singolo file e non è necessario trasferire un gran numero di revisioni, è sempre possibile effettuare il checkout dal vecchio sistema di versioning una revisione alla volta e commetterlo nel nuovo sistema di versioning (la maggior parte dei metadati del sistema di versioning può co -esistono nella stessa directory) & # 8230; questo metodo funziona, ovviamente, qualunque sia il sistema di versioning di origine e destinazione ed è quello che ho fatto personalmente quando ho avuto un problema simile al tuo.

Oppure puoi provare lo Tailor , che può convertire da / a molti sistemi di versioning, sebbene Non so davvero se può anche " unire " due storie diverse in una sola come te.

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