2012-12-18 16 views
5

Bene, dopo molte ore di lettura e prove ed errori, finalmente mi ha colpito. Mercurial non vuole davvero fare SubRepos ... almeno non con TortoiseHg e Bitbucket. Se mi sbaglio, e non vuoi un voto negativo per una risposta maleducata simile a "ovviamente funziona, non hai letto i documenti ufficiali", quindi ti preghiamo di fornire un semplice esempio di come farlo tramite TortoiseHg latest che spingerà con successo a Bitbucket. Forse un progetto open source che utilizza mercurial e bitbucket e subrepos?Modo consigliato per coordinare le versioni di più repository mercurial dipendenti?

Detto questo, se manteniamo le nostre librerie di classi in pronti contro termine separati, e l'approccio consigliato è di non usare subrepos ("come ultima risorsa"), qual è il modo raccomandato per catturare una versione per tutti Mercurial dipendenti repos con cui posso rapidamente saltare tutti i repository di dipendenza alla versione corretta per correzioni di bug e simili.

Sospetto che utilizzerei i tag per taggare una versione. Quindi, è il modo consigliato di andare manualmente a tutte le librerie e taggare ogni repository con il tag di versione comune e quindi tornare di nuovo a quel tag per tutti gli assembly, manualmente?

Si prega di astenersi da tutto il gergo tecnico sulle complessità della gestione del flusso di lavoro. C'è un sacco di buone letture su questo su SO. Sto sperando in un semplice progetto principale exe con alcune librerie di classi DLL.

+1

Suona come la necessità di un'estensione Mercurial per gestire i repository referenziati (ma non i sotto), per me. – icabod

+1

Ho fornito un semplice esempio qui: https://bitbucket.org/SteveKaye/mainrepo Non ho problemi a clonare, aggiornare e spingerlo dal repository principale. –

+0

@SteveKaye Grazie per questo semplice esempio. Puoi rivedere i miei passi per vedere se sto facendo qualcosa nell'ordine sbagliato? 1) cartella creata MainRepo (tasto destro del mouse -> creare repository qui) 2) Impegnati Modifiche 3) Creato all'interno MainRepo una cartella chiamata SubRepo (tasto destro del mouse -> creare repository qui) 4) Commited modifiche per SubRepo 5) ripetute 3 e 4 per SubRepo2 6) In TortoiseHg, aggiunti SubRepo e SubRepo2 come SubRepos 7) Modifiche impegna a MainRepo 8) push to BitBucket ... repository non è correlato In BitBucket, ho iniziato con nuovi repository. Questa sarebbe stata la spinta iniziale a Bitbucket – faldeland

risposta

1

Grazie a @SteveKaye, ho una soluzione funzionante. Quando si utilizza TortoiseHg a "Aggiungere un subrepository", TortoiseHg è stata la formattazione del file .hgsub come questo

subrepo = subrepo 

invece di come il suo esempio

subrepo = ../subrepo 

Se qualcuno vorrebbe commentare il motivo per cui il relativo" ../"è richiesto, sarebbe fantastico. La mia struttura di directory è la seguente:

MainRepo/ 
     .hgsub 
     SubRepo/ 
     SubRepo2/ 

se "../SubRepo" è relativo al .hgsub, non sarebbe il ../ salire una directory e quindi cercare la cartella chiamata SubRepo? Oh bene, posso conformarmi :) o essere corretto se ../

Avere l'esempio di Steve mi ha aiutato a vedere cosa era spento.

+0

Ho aggiunto una risposta alla tua prima domanda che dovrebbe spiegare questo. –