Kiln - Limitazione Mercurial e Git [chiuso]

4

Secondo questo post del blog : il forno ora supporta repository accessibili sia da Git che da Mercurial

We decided that the awesome way would be to make Kiln fully bilingual. It stores every repo in both formats. It automatically converts everything back and forth, always. The translation is 1:1, reversible, and round-trippable. Whatever you do to a Kiln repository using Git will be immediately visible to Mercurial users and vice versa.

Non posso immaginare che tutto funzioni senza intoppi. Quali limitazioni ha questo?

    
posta Casebash 17.03.2013 - 02:28
fonte

2 risposte

2

Bene, conosco almeno una limitazione della conversione Git-HG: Git memorizza meno metadati nel changeset per gli stessi dati, rispetto a Mercurial. E può essere facilmente rilevabile nella gestione dei rami denominati (in Mercurial) e "solo rami" di Git.

  • Conversion Git - > Mercuriale - > Git non ha perso nulla, il repository prima e dopo sarà identico e uguale
  • Conversion Mercurial - > Git - > Mercurial avrà meno dati nel repository finale (branch-name è l'attributo permanente di qualsiasi changeset Mercurial, i rami Git sono più "segnalibri" di Mercurial - changeset non master perso informazioni sul branch)

Testo più lungo (con immagini perse, purtroppo )

    
risposta data 17.03.2013 - 17:26
fonte
3

La limitazione è se hai bisogno di convertire tra i due, devi passare attraverso il server centrale che conosce la mappatura. Non puoi semplicemente spingere direttamente dal tuo repository git locale al repository hg del tuo collega, come puoi farlo con git puro o puro hg.

Oltre a questo, non ci sono troppi problemi tecnici da superare. Git e mercurial hanno entrambi un commit come unità fondamentale e creano un grafo aciclico diretto tra i commit per rappresentare i rami. Entrambi hanno identificatori universalmente univoci per i commit che includono tutta la cronologia che li ha preceduti.

Ora, due sistemi di controllo delle versioni che non sono così simili creerebbero più problemi. Il prossimo livello di difficoltà sarebbe un VCS come perforce, che si impegna come unità fondamentale, ma tratta i rami in qualche modo in modo diverso. Un VCS come subversion, che ha le revisioni dei file come unità fondamentale, sarebbe davvero molto difficile mantenere una mappatura reversibile con.

    
risposta data 17.03.2013 - 15:07
fonte

Leggi altre domande sui tag