2010-06-11 10 views
14

Ho eseguito alcune programmazioni e ho utilizzato Mercurial per il controllo del codice sorgente. Ora ho bisogno di inviare tutto il mio codice a qualcun altro (perché stanno per prendere il sopravvento).Mercurial: metodo consigliato per inviare un intero repository a qualcuno

Poiché tutte le copie di un repository mercurial sono un repository completo e reale, il mio primo pensiero è di eseguire prima un clone del mio repository senza un aggiornamento e quindi zippare e inviare via email a quel clone. È un buon modo, o c'è un modo migliore?

Ad esempio quando si utilizza il TortoiseHg Repository Explorer, è possibile fare clic con il pulsante destro del mouse su un changeset e in Esporta ci sono varie opzioni che potrebbero sembrare interessanti, ma non le capisco o so quale uso.

+0

Meta: il tuo suggerimento funziona, ed è quello che suggeriscono Jason Webb, ma la proposta di bjlaub di un pacchetto sarà più piccola e carina. –

risposta

16

Quello che hai suggerito funzionerà bene, ma è anche possibile utilizzare hg bundle per creare un file changegroup incapsulare una copia compressa di tutto il repository (vedi hg help bundle per tutti i dettagli, o questa pagina: http://www.selenic.com/mercurial/hg.1.html#bundle).

Sulla vostra macchina:

hg -R /path/to/repo bundle --all my_repo.hg 

quindi inviare my_repo.hg off per l'altro sviluppatore, che può clonare direttamente da questo:

hg clone my_repo.hg /path/to/new/clone 

(Nota: questo tipo di presuppone che si sta lavorando con linux, ma immagino che TortoiseHg supporti qualcosa di simile, poiché questa è una caratteristica di base di Mercurial).

EDIT: Sembra che l'equivalente utilizzando TortoiseHg sarebbe quello di esportare un intervallo di changeset come un fascio (vedi qui: http://tortoisehg.bitbucket.io/manual/2.9/patches.html#export-patches). In questo caso, si desidera selezionare il primo changeset fino in fondo attraverso il tip ed esportarlo come bundle.

+0

Grazie! Ha funzionato bene. Puoi usare la riga di comando anche su Windows :) – Svish

0

Ogni cartella è una copia completa del repository. Basta inviare l'intera cartella e avranno tutto ciò di cui hanno bisogno.

In alternativa è possibile clonare una copia della cartella e inviare loro il clone. Ciò consentirebbe loro di inviarti le modifiche se necessario in futuro.

Problemi correlati