Mercurial vs. Git

git og Mercurial er begge gratis softwareværktøjer til gitMercurialIndbygget webserver Ingen Ja Pre / post-event kroge Ja Ja Slut på linje-konverteringer Ja Ja Tags Ja Ja International støtte Delvis Ja Fil omdøber Ja (implicit) Ja Flet filnavne Ja Ja Symboliske links Ja Ja Åben kilde Ja Ja Underskrevne revisioner Ja Ja Revisions-id'er SHA-1 hasjer Tal, SHA-1 hash Atomiske forpligtelser Ja Ja Historiemodel Snapshot ændrings Repository størrelse O (patch) (Big O-notation) O (patch) (Big O-notation) Samtidig model Fusionere Fusionere Operativsystemer Unix-lignende, Windows, Mac OS X Unix-lignende, Windows, Mac OS X Iscenesættelsesområde Ja Ingen Eksterne gren Ja Ingen Koste Gratis Gratis RCS-nøgleord Ja, men ikke anbefalet via bundtet plugin Lavt kasse / klon Ja Bugzilla-udvidelse Fil / dir navnesporing Omdøb detektion Omdøb sporing Undermappekasse / klon Ingen Ingen Opbevaringsmodel Distribueret Distribueret Tilladelsesbevaring Kun udførelse bit Kun udførelse bit Netværksprotokoller brugerdefineret, brugerdefineret over ssh, rsync, HTTP, e-mail-pakker HTTP, tilpasset via ssh, e-mail-bundter (med standard plugin) Udviklet af Junio ​​Hamano, Linus Torvalds Matt Mackall Vedligeholdt af Junio ​​Hamano Matt Mackall Skrevet i C, Bourne Shell, Perl Python og C Flet sporing Ja Ja Bug Tracker-integration Ingen Trac (via plugin) Licens GPL v2 GPL v2 Internet side git-scm.com www.selenic.com/mercurial OS POSIX, værre Windows-support Unix-lignende, Windows, Mac OS X Introduktion (fra Wikipedia) Git er et gratis distribueret revisionskontrol eller softwarekildekodestyringsprojekt med vægt på at være hurtig. Git blev oprindeligt oprettet af Linus Torvalds til Linux-kerneudvikling. Mercurial er et tværgående platform, distribueret revisionskontrolværktøj til softwareudviklere. Det implementeres hovedsageligt ved hjælp af Python-programmeringssprog, men inkluderer en binær diff-implementering skrevet i C. Type Revisionskontrol Revisionskontrol

Indhold: Mercurial vs Git

  • 1 Designmål
  • 2 projekter, der bruger Git vs projekter, der bruger Mercurial
  • 3 Git vs Mercurial Portabilitet
  • 4 Brugergrænseflade til Git vs Mercurial
  • 5 Relaterede videoer
  • 6 Referencer

Design mål

Mercurials vigtigste designmål inkluderer høj ydelse, skalerbarhed, at være en serverløs, fuldt distribueret samarbejdsudvikling, robust håndtering af både almindelig tekst og binære filer og avancerede forgrenings- og sammenlægningsfunktioner, mens de forbliver konceptuelt enkle. Det inkluderer en integreret webgrænseflade.

Et af Linus Torvalds 'vigtigste designmål for Git var hastighed og effektivitet i driften. Andre designkriterier omfattede stærke beskyttelsesforanstaltninger mod korruption, enten utilsigtet eller ondsindet.

Projekter, der bruger Git vs Projekter, der bruger Mercurial

Flere højprofilerede softwareprojekter bruger nu Git til revisionskontrol, især Linux-kernen, Perl, Samba, X.org Server, Qt (værktøjskit), One Laptop per Child (OLPC) kerneudvikling, Ruby on Rails webramme, VLC , YUI, Merb, Wine, SWI Prolog, GNOME, GStreamer, DragonFly BSD og den mobile Android-platform.

Projekter, der bruger Mercurial, inkluderer Adblock Plus, Aldrin, Audacious, Dovecot IMAP-server, GNU Octave, NxOS, Nuxeo, Growl, MoinMoin wiki-software, Mozilla, Mutt (e-mail-klient), Netbeans (IDE), OpenJDK, Python, SAGE, Sun Microsystems OpenSolaris og Oracle's OpenSource-software som Btrfs.

Git vs Mercurial Portabilitet

Mercurial blev oprindeligt skrevet til at køre på Linux. Det er blevet portet til Windows, Mac OS X og de fleste andre Unix-lignende systemer. Mercurial er primært et kommandolinjeprogram.

Git er primært udviklet på Linux, men kan bruges på andre Unix-lignende operativsystemer, herunder BSD og Solaris.

Git kører også på Windows. Der er to varianter:

  • En oprindelig Microsoft Windows-port, kaldet msysgit, nærmer sig færdiggørelsen. Fra februar 2009 er der downloadbare installatører, der er klar til testning. Nogle kommandoer er endnu ikke tilgængelige fra GUI'erne, og de skal aktiveres fra kommandolinjen.
  • Git kører også øverst på Cygwin (et POSIX-emuleringslag), selvom det er mærkbart langsommere, især for kommandoer skrevet som shell-scripts.

Brugergrænseflade til Git vs Mercurial

Alle Mercurials operationer kaldes som nøgleordsmuligheder til dets driverprogram hg, en henvisning til det kemiske symbol på elementet kviksølv. GUI-grænseflader til Mercurial inkluderer Hgk (Tcl / Tk). Dette implementeres som en Mercurial-udvidelse og er en del af den officielle version. Denne fremviser viser den rettede acykliske graf over ændringssætene i et Mercurial-arkiv. Denne fremviser kan aktiveres via kommandoen 'hg view', hvis udvidelsen er aktiveret. hgk var oprindeligt baseret på et lignende værktøj til git kaldet gitk. Der er hgk-erstatning med navnet hgview, der er skrevet i ren python og giver både gtk- og qt-grænseflader.

Relaterede Mercurial værktøjer inkluderer:

  • Relaterede værktøjer til fusion inkluderer (h) gct (Qt) og Meld.
  • Konverterudvidelsen tillader import fra CVS, Darcs, git, GNU Arch, Monotone og Subversion lagre.
  • Netbeans IDE understøtter Mercurial fra version 6.
  • Tortoise Hg giver en Windows-brugervenlig højreklik-menu-grænseflade.
  • VisualHG er en Mercurial-kilde-kontroludbyder-plugin til MS Visual Studio 2008.
  • Mercurial Eclipse er en Eclipse teamudbyder plugin til Eclipse 3.3 og nyere.

Alternativer til at køre Git ved hjælp af en GUI inkluderer:

  • git-cvsserver (som emulerer en CVS-server, der tillader brug af Windows CVS-klienter)
  • Eclipse IDE-baseret Git-klient, baseret på en ren Java-implementering af Gits internals: egit
  • NetBeans IDE-support til Git er under udvikling.
  • En Windows Explorer-udvidelse (en TortoiseCVS / TortoiseSVN-lookalike) blev startet ved TortoiseGit og Git Extensions, som er en explorer-udvidelse såvel som en standalone GUI og en Visual Studio 2008 Plug-in

Lignende videoer

Referencer

  • wikipedia: Git_ (software)
  • wikipedia: Mercurial_ (software)
  • Mercurial-udvikler Martin Geisler sammenligner funktioner i Git og Mercural dybdegående