Mercurial vs Git

Git og Mercurial er begge gratis programvareverktøy for distribuert revisjonskontroll og programvarekildekodeadministrasjon.

Både Git og Mercurial ble startet på omtrent samme tid med lignende mål. Den umiddelbare stimulansen var kunngjøringen i april 2005 av Bitmover at de tok ut den gratis versjonen av BitKeeper, som hadde blitt brukt til versjonskontrollkravene til Linux-kjerneprosjektet. Merkurisk skaperen Matt Mackall bestemte seg for å skrive et distribuert versjonskontrollsystem som en erstatning for bruk med Linux-kjernen. Mackall annonserte først Mercurial 19. april 2005.

Git ble opprettet av Linus Torvalds for Linux-kjerneutvikling, med vekt på å være rask. Utviklingen av Git startet 3. april 2005. Prosjektet ble annonsert 6. april, og ble selvfirming fra 7. april. Den første sammenslåingen av flere grener ble gjort 18. april.

Linux-kjerneprosjektet bestemte seg for å bruke Git i stedet for Mercurial, men Mercurial brukes nå av mange andre prosjekter.

Sammenligningstabell

Git versus Mercurial sammenligning diagram
GitMercurial
Innebygd webserver Nei Ja
Pre / post-event kroker Ja Ja
End of line conversions Ja Ja
Tags Ja Ja
Internasjonal støtte Delvis Ja
Filenavn Ja (implisitt) Ja
Merge filnavn Ja Ja
Symboliske lenker Ja Ja
Åpen kilde Ja Ja
Signerte revisjoner Ja Ja
Revisjons-IDer SHA-1 hashes Tall, SHA-1 hashes
Atomen forplikter seg Ja Ja
Historiemodell snapshot forandrings
Oppbevaringsstørrelse O (patch) (Big O notation) O (patch) (Big O notation)
Sammenligningsmodell Slå sammen Slå sammen
Operativsystemer Unix-lignende, Windows, Mac OS X Unix-lignende, Windows, Mac OS X
Scene område Ja Nei
Externals filial Ja Nei
Koste Gratis Gratis
RCS Søkeord Ja, men ikke anbefalt via kombinert plugin
Kort utskrift / klon Ja Bugzilla forlengelse
Fil / dir navn sporing Gi nytt navn til deteksjon Gi nytt navn til sporing
Underkatalog kasse / klon Nei Nei
Repository modell distribuert distribuert
Tillatelse å holde Bare utførelsesbit Bare utførelsesbit
Nettverksprotokoller tilpasset, tilpasset over ssh, rsync, HTTP, e-buntpakker HTTP, tilpasset over ssh, e-bunnpakker (med standard plugin)
Utviklet av Junio ​​Hamano, Linus Torvalds Matt Mackall
Vedlikeholdt av Junio ​​Hamano Matt Mackall
Skrevet i C, Bourne Shell, Perl Python og C.
Merge sporing Ja Ja
Bug Tracker integrasjon Nei Trac (via plugin)
Tillatelse GPL v2 GPL v2
nettsted git-scm.com www.selenic.com/mercurial
OS POSIX, verre Windows-støtte Unix-lignende, Windows, Mac OS X
Innledning (fra Wikipedia) Git er en gratis distribuert revisjonskontroll, eller programvare kildekode management prosjekt med vekt på å være rask. Git ble opprinnelig opprettet av Linus Torvalds for Linux-kjerneutvikling. Mercurial er et kryptert plattform, distribuert revisjonskontrollverktøy for programvareutviklere. Det implementeres hovedsakelig ved hjelp av Python programmeringsspråk, men inkluderer en binær diff-implementering skrevet i C.
Type Revisjonskontroll Revisjonskontroll

Innhold: Mercurial vs Git

  • 1 Design mål
  • 2 Prosjekter som bruker Git vs Projects using Mercurial
  • 3 Git vs Mercurial Portability
  • 4 brukergrensesnitt for Git vs Mercurial
  • 5 relaterte videoer
  • 6 Referanser

Design mål

Mercurials store designmål inkluderer høy ytelse, skalerbarhet, serverløs, fullt distribuert samarbeidsutvikling, robust håndtering av både ren tekst og binære filer, og avanserte forgrenings- og fusjonsfunksjoner, mens de gjenstår konseptuelt enkelt. Den inneholder et integrert webgrensesnitt.

Et av Linus Torvalds 'hoveddesignmål for Git var hastighet og effektivitet i driften. Andre designkriterier omfattet sterke beskyttelser mot korrupsjon, enten tilfeldig eller skadelig.

Prosjekter som bruker Git vs Projects using Mercurial

Flere høyprofilerte programvareprosjekter bruker nå Git for revisjonskontroll, spesielt Linux-kjernen, Perl, Samba, X.org Server, Qt (verktøykasse), One Laptop per Child (OLPC) kjernevirksomhet, Ruby on Rails webramme, VLC , YUI, Merb, Vin, SWI Prolog, GNOME, GStreamer, DragonFly BSD og Android mobil plattform.

Prosjekter som bruker Mercurial inkluderer Adblock Plus, Aldrin, Audacious, Dovecot IMAP-server, GNU Octave, NxOS, Nuxeo, Growl, MoinMoin wiki-programvare, Mozilla, Mutt (e-postklient), Netbeans (IDE), OpenJDK, Python, SAGE, Sun Microsystems OpenSolaris og Oracle's Opensource Software som Btrfs.

Git vs Mercurial Portability

Mercurial ble opprinnelig skrevet for å kjøre på Linux. Den har blitt sendt til Windows, Mac OS X og de fleste andre Unix-lignende systemer. Mercurial er først og fremst et kommandolinjeprogram.

Git er først og fremst utviklet på Linux, men kan brukes på andre Unix-lignende operativsystemer, inkludert BSD og Solaris.

Git kjører også på Windows. Det finnes to varianter:

  • En innfødt Microsoft Windows-port, kalt msysgit, nærmer seg fullføring. Fra februar 2009 er det installasjonsprogrammer for nedlasting klar til testing Noen kommandoer er ikke tilgjengelige fra GUIene, og må påberopes fra kommandolinjen.
  • Git kjører også på toppen av Cygwin (et POSIX-emuleringslag), selv om det er merkbart tregere, spesielt for kommandoer skrevet som shell-skript.

Brukergrensesnitt for Git vs Mercurial

Alle Mercurials operasjoner er påkrevd som søkeordalternativer til driverprogrammet hg, en referanse til det kjemiske symbolet til elementet kvikksølv. GUI-grensesnitt for Mercurial inkluderer Hgk (Tcl / Tk). Dette implementeres som en Mercurial forlengelse, og er en del av den offisielle versjonen. Denne seeren viser den regisserte acykliske grafen for endringssettene til et Mercurial-lager. Denne seeren kan påberopes via kommandoen 'hg view', hvis utvidelsen er aktivert. hgk var opprinnelig basert på et lignende verktøy for git-kalt gitk. Det er hgk erstatning heter hgview som er skrevet i ren python og gir både gtk og qt grensesnitt.

Relaterte Mercurial verktøy inkluderer:

  • Beslektede verktøy for sammenslåing inkluderer (h) gct (Qt) og Meld.
  • Konverter utvidelsen tillater import fra CVS, Darcs, git, GNU Arch, Monotone og Subversion repositories.
  • Netbeans IDE støtter Mercurial fra versjon 6.
  • Skildpadde Hg gir et Windows brukervennlig, høyreklikk menygrensesnitt.
  • VisualHG er en Mercurial Source Control Provider plugin for MS Visual Studio 2008.
  • Mercurial Eclipse er et Eclipse Team Provider plugin for Eclipse 3.3 og nyere.

Alternativer for å kjøre Git ved hjelp av en GUI inkluderer:

  • git-cvsserver (som emulerer en CVS-server, slik at bruk av Windows CVS-klienter)
  • Eclipse IDE-basert Git-klient, basert på en ren Java-implementering av Git's internals: egit
  • NetBeans IDE-støtte for Git er under utvikling.
  • En Windows Explorer-utvidelse (en TortoiseCVS / TortoiseSVN-lookalike) ble startet på TortoiseGit og Git Extensions som er en explorer-utvidelse, samt en frittstående GUI og en Visual Studio 2008 Plug-in

Relaterte videoer

referanser

  • wikipedia: Git_ (programvare)
  • wikipedia: Mercurial_ (programvare)
  • Mercurial utvikler Martin Geisler sammenligner funksjoner av Git og Mercural i dybden