Informazioni sul mio flusso di lavoro di dvcs

4

Stiamo costruendo un nuovo progetto usando Mercurial come nostro sistema di controllo delle versioni.

Sto ancora cercando di comprendere appieno come dovrebbe essere il mio flusso di lavoro, quindi di seguito ho elencato un caso in cui ho bisogno di aiuto.

Una singola applicazione con più moduli (ogni modulo è ospitato nel proprio repository) Più sviluppatori hanno bisogno di apportare modifiche allo stesso modulo. Come dovrebbe essere gestito?

  • Dovrebbe essere fatto un pull di hg e tutte le modifiche saranno fatte sulla macchina degli sviluppatori locali. Una volta apportate le modifiche, le modifiche vengono inviate a dev.
  • Se ogni correzione di funzionalità / bug ottiene un nuovo repository o ramo sul server e lo sviluppatore trasferisce le sue modifiche dal suo hg locale al hg remoto. Una volta completata la funzione, il repo / ramo viene unito nuovamente a dev.
  • O una combinazione di entrambi. Piccole modifiche vanno direttamente in dev, e una funzionalità che potrebbe richiedere del tempo ottiene il proprio branch / repo.
  • O altre strategie che ritieni siano più adatte.
posta Tim Sparg 01.06.2011 - 22:17
fonte

4 risposte

2

Non hai davvero bisogno di creare un repository / ramo separato per ogni singolo changeset, dal momento che il concetto di un changeset è come farlo per te.

Uso le diramazioni per le principali funzionalità e lo scopo principale che un ramo serve per me è riuscire a creare "hg up branchname" o "hg up default" in modo rapido e semplice per passare dal lavorare sulla mia nuova funzione e lavorare sull'errore corregge nella base di codice corrente.

"O una combinazione di entrambi. Piccole modifiche vanno direttamente in dev, e una funzionalità che potrebbe richiedere del tempo ottiene il proprio branch / repo."

Questa è un'opzione perfettamente adatta.

Non dimenticare che puoi anche "hg servire" per condividere i changeset tra gli sviluppatori.

    
risposta data 02.06.2011 - 00:48
fonte
2

Suggerimento: perché ogni modulo dovrebbe essere in un repository separato? Sono solo così indipendenti che è necessario un repo completamente separato?

Con il tuo scenario di più persone che lavorano sullo stesso modulo devi solo seguire la metodologia generale DVCS: Lavora, esegui possibilmente molti commit, alla fine della giornata tira le eventuali modifiche da dev e uniscile, e infine spingi a dev.

    
risposta data 02.06.2011 - 04:52
fonte
1

Prima di tutto, i moduli sono indipendenti dal progetto? In caso contrario, puoi evitare di utilizzare i sottorepos. I sottostanti sono considerati una funzione dell'ultimo resort .

In secondo luogo, non esagerare con i cloni. Alcuni lo usano invece di creare un ramo (vedi dvcs - is " clonare per ramo "un flusso di lavoro comune? ). Ti consigliamo di utilizzare il software / servizio di gestione dei repository come Rhodecode o Bitbucket e chiedi a ogni sviluppatore di avere un fork pubblico per seguire questo flusso di lavoro:

Infine,leggi ramificazione delle funzionalità e forse un po 'di Gitflow (le idee di base sono agnostiche DVCS).

    
risposta data 19.07.2012 - 18:52
fonte
0

Mi piace avere repository locali, ma non dimenticare i backup. Non voglio lasciare molto lavoro seduto su un computer senza backup. Tuttavia, avere il mio repository mi fa sentire più libero di provare le cose.

Puoi riportare piccole modifiche nello sviluppo, a condizione che non interrompano nulla. (L'integrazione continua e le suite di test automatizzate aiutano qui.) Se si tratta di miglioramenti minori del codice o di correzioni di bug, si vuole che altre persone siano in grado di inserirli nei propri repository.

    
risposta data 01.06.2011 - 22:28
fonte

Leggi altre domande sui tag