Gestione di un repository SVN sotto copertura

5

Il progetto a cui sto lavorando è la versione controllata da SVN e la regola non detta al lavoro è quella di eseguire il commit solo quando viene aggiunta una nuova funzione stabile (per avere una cronologia delle revisioni "pulita" senza ripristino), quindi lavoro a volte per alcuni giorni senza commettere.

Comunque sono un maniaco commettente (diversi commit al giorno sui miei precedenti progetti git) e questo flusso di lavoro non mi va bene. Idealmente mi piacerebbe biforcare il progetto, commettere una versione instabile sotto il "repository sottomarino" e unirmi a quello stabile ogni volta che la funzione è abbastanza stabile (i miei commit instabili non devono apparire nel repository stabile). Come posso fare questo?

Con SVN: ho cercato Rami fornitori e Esterni ma non ho davvero trovato quello che volevo.

Con Git: è possibile utilizzare Git sul repository unstable undercover e SVN per il repository stabilizzato senza conflitti tra i due CVS durante le unioni?

    
posta lucasg 21.03.2013 - 00:11
fonte

2 risposte

7

Con Subversion puoi operare in un ramo che a tutti gli effetti manterrà il codice incompleto dal bagagliaio.

Con Git puoi operare localmente prima di trasferire tutte le tue modifiche su master, o come con le versioni di subversion puoi operare in più rami.

Il vantaggio principale dell'uso di Git su sovversione, a parte il fatto che si tratta di un DVCS è che l'unione è molto più semplice di quanto non sia con Subversion.

How can I do this ?

Fai il tuo lavoro di sviluppo in un ramo per il tuo VCS / DVCS di scelta. Unisci di nuovo al trunk quando la tua funzione è stabile e ne sei felice.

With Git : is it possible to use Git on the undercover unstable repo and SVN for the stabilized repo without conflicts between the two CVS during merges ?

Questa domanda / risposta su Stack Overflow mostra come sincronizza e spinge Git a Subversion. Speriamo che fornisca il livello di dettaglio tecnico di cui hai bisogno.

    
risposta data 21.03.2013 - 00:35
fonte
0

Vorrei utilizzare lo strumento di gestione delle patch Quilt. È molto leggero ed efficiente per realizzare numerose piccole modifiche a un grande albero e semplice da usare.

Quando arriva il momento di impegnarsi con il grande repo, puoi applicare tutte le patch e fare un grosso commit, o impegnarli uno per uno.

Con Quilt puoi essere un perfezionista, perché è facile riscrivere la cronologia. Puoi navigare su e giù per la pila di patch e correggere i tuoi lavori più vecchi, essenzialmente perfezionando ogni patch. Se si migrano le patch individualmente su un sistema di controllo della versione, l'intera cosa sembra una perfetta unità di lavoro. Tutti i cambiamenti logicamente indipendenti appartenenti a quel pezzo di lavoro sono in numerose patch separate, e tuttavia non vi è alcuna prova che ci sia stato alcun debug, dal momento che non ci sono modifiche ripetute allo stesso pezzo di codice per farlo funzionare.

    
risposta data 21.03.2013 - 02:37
fonte

Leggi altre domande sui tag