Avere un repository Git e mercurial nella stessa directory

10

Ill spiegare il mio problema,

Attualmente sto usando un'installazione interna di gitious usando git. Vorrei iniziare a testare FogBugz e Kiln da Fog Creek che usa mercurial. Mi piacerebbe per almeno un po 'continuare lo sviluppo utilizzando entrambe le soluzioni.

Qualcuno sa di qualsiasi serio effetto a lungo termine di avere un git e un repository mercuriale nella stessa directory. O c'è un modo migliore per mantenere sincronizzati git e mercurial server.

Ho provato con un repo di prova e non ho riscontrato problemi.

Grazie per l'aiuto.

    
posta D. Mathis 30.08.2011 - 22:53
fonte

2 risposte

8

Ho trovato il hg-git bridge abbastanza usabile andando nell'altra direzione (esponendo alcune cose su Github che era originariamente costruito usando Mercurial per il controllo del codice sorgente). Fondamentalmente, "solo" usi mercurial, crea un segnalibro che collega "master" al "default" quando sei pronto per passare a un repository git, e spingere. Tirare fuori da git funziona in modo simile a come si fa quando si tira da un repo remoto. Non si finisce con i file .git + .hg in questo scenario, si hanno solo mercuriali nella casella locale, a meno che non si finisca per eseguire la migrazione a git interamente, nel qual caso probabilmente si farebbe git clone in una nuova directory.

C'è un progetto simile per gli utenti git che vogliono spingere / tirare dai repository Mercurial, ma non ho esperienza diretta con esso. Vedi link

Oltre al potenziale controllo accidentale di un gruppo di cartelle nascoste dal tuo "altro" sistema di controllo del codice sorgente, non vedo alcun vero problema nel fare hg init in un repository git; mi sembra meno schifoso usare un bridge e scegliere esplicitamente quando spingere all'altro sistema dvcs.

    
risposta data 31.08.2011 - 00:17
fonte
8

Ho usato sia mercurial che git sullo stesso progetto, nella stessa directory di lavoro. La cosa grandiosa dell'utilizzo di questi due DVCS è che entrambi hanno solo una cartella (.git / .hg) per i loro conf, blob, alberi e cose.

Inserisci semplicemente .hg in .gitignore (e .git in .hgignore) e sei più che bravo a farlo.

Ovviamente devi raddoppiare il lavoro quando ti impegni, ma non l'ho trovato difficile da gestire.

Questa impostazione a mio parere è molto più affidabile rispetto all'utilizzo di qualsiasi soluzione bridge (non mi piacciono da quando ho avuto l'horror con git-svn).

    
risposta data 13.09.2011 - 23:37
fonte

Leggi altre domande sui tag