Domanda

Vorrei essere in grado di rivedere altro codice degli sviluppatori prima di spingerlo al repository centrale.Gli sviluppatori sono in luoghi remoti, quindi andare alla loro scrivania non è un'opzione.

Attualmente spingono solo e se ci sono problemi che avrebbero rollback.Ma questo non è un buon approccio poiché qualcuno può tirare prima di ottenere la possibilità di rollback.

È stato utile?

Soluzione

Mercurial è distribuito e come tale dovrebbe essere in grado di adattarsi a qualsiasi flusso di lavoro.Prova a designare qualcuno come gestore dell'integrazione o utilizza dittatore e luogotenenti .

Altri suggerimenti

Che ne dici di un repository di recensioni tra gli sviluppatori e il repository principale?Solo tu spingi da lì a principale.

Ho votato positivamente la risposta di kelloti poiché questa è solo un'espansione di essa, ma ho usato solo livelli di repository.Chiedere alle persone di inviare i propri changeset non revisionati a un repository centralizzato per la revisione delle esigenze e chiedere ai revisori di trasferire i lavori revisionati da lì al repository centralizzato per il controllo delle esigenze e chiedere agli addetti al controllo di qualità di inviare i repository centralizzati del candidato alla versione.

Con un sistema di controllo delle versioni distribuito puoi creare una pluralità di repository centralizzati con la stessa facilità con cui puoi eseguire una pluralità di repository per sviluppatori.

Nel mio ultimo progetto, abbiamo seguito un modello di sviluppo molto ramificato: ogni attività aveva un ramo denominato con il numero dell'attività.Le revisioni del codice sono state eseguite sul ramo denominato.Volevamo esplicitamente che questi fossero inviati al repository centrale e gli sviluppatori li tirassero.

Tuttavia, nessuna attività denominata branch è stata unita al ramo di integrazione (nel nostro caso predefinito, ma avrebbe potuto essere un ramo di funzionalità) fino a quando non ha superato la revisione del codice.

A molti sviluppatori Mercurial non piace usare rami di breve durata che rimangono nel repository, ma trovo che sia più facile seguire la cronologia, specialmente quando si guarda alla cronologia di una singola modifica - lo saile modifiche per una particolare attività si trovano nel ramo denominato associato.

Forse l'utilizzo di un'estensione shelve è una buona soluzione?Non ho molta familiarità con Mercurial ma potrebbe funzionare per te.

https://www.mercurial-scm.org/wiki/ShelveExtension

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