2010-08-20 11 views
5

Qualcuno ha qualche consiglio sull'utilizzo di Mercurial come front-end per Perforce? Quello che mi piacerebbe fare è usare Mercurial per gestire cambiamenti davvero granulari e poi, una volta fatto qualcosa, spingerlo di nuovo al server Perforce.Utilizzo di Mercurial con Perforce

Ho trovato questo articolo http://www.dehora.net/journal/2008/01/05/using-mercurial-with-perforce/ ma non suggerisce alcuno strumento per dare una mano con le integrazioni. Esiste? Suppongo che lo stia cercando qualsiasi nuovo cambiamento da Perforce, li integro nel mio Mercurial locale e poi rimbocco tutti i commit Mercurial che ho fatto dall'ultima integrazione e li spingo fino a Perforce. Simile a git-p4.

risposta

5

Ho ricevuto un errore quando ho seguito il collegamento che hai fornito. Ma ti suggerisco di guardare nello perfarce extension (adoro il nome!). Non l'ho usato da solo, ma è a mia conoscenza che questo è ciò che le persone usano per colmare il divario tra Mercurial e Perforce.

Vedere anche la pagina della wiki su Perforce concepts. Sembra avere molte buone informazioni.

1

Come dice Martin, Perfarce è quello che vuoi. L'ho usato in un lavoro precedente, e in generale funziona abbastanza bene se si sta lavorando con un solo ramo perforce in un singolo clone mercuriale. Se inizi a clonare più volte dal tuo clone Mercurial originale, le cose iniziano a diventare complesse. Non impossibile, solo complesso.

In generale funziona raggruppando tutte le modifiche dall'ultima estrazione da Perforce. Creando un singolo elenco di modifiche finali da loro. Tagging che il commento dell'elenco di modifiche con l'hash della versione Mercurial e che lo impegna a perforare. Quindi re-importa quel cambiamento da Perforce e lo unisce nel tuo albero Mercurial, e poiché sono entrambi uguali non c'è unione.

Fondamentalmente funziona abbastanza bene per i flussi di lavoro pull/edit/commit/update. Sfortunatamente non è di alcun aiuto quando si tratta di integrazioni (a meno che non mi sia sfuggito qualcosa) poiché i rami perforati non vengono convertiti in Mercurial. Non saprebbe cosa unire.

Problemi correlati