Git e Mercurial são ferramentas de software livre para
Git
Mercurial
Servidor da Web incorporado
Não
sim
Ganchos pré / pós-evento
sim
sim
Conversões de fim de linha
sim
sim
Tag
sim
sim
Suporte internacional
Parcial
sim
Renomeação de arquivo
Sim (implícito)
sim
Mesclar renomias de arquivo
sim
sim
Links simbólicos
sim
sim
Código aberto
sim
sim
Revisões assinadas
sim
sim
IDs de revisão
Hashes SHA-1
Números, hashes SHA-1
Commits atômicos
sim
sim
Modelo histórico
Instantâneo
Changeset
Tamanho do repositório
O (patch) (notação O grande)
O (patch) (notação O grande)
Modelo de simultaneidade
Mesclar
Mesclar
Sistemas operacionais
Tipo Unix, Windows, Mac OS X
Tipo Unix, Windows, Mac OS X
Área de preparação
sim
Não
Ramo externo
sim
Não
Custo
Livre
Livre
RCS
Sim, mas não recomendado
via plug-in incluído
Caixa rasa / clone
sim
Extensão Bugzilla
Rastreamento de nome de arquivo / diretório
Renomear detecção
Renomear rastreamento
Saída do subdiretório / clone
Não
Não
Modelo de Repositório
Distribuído
Distribuído
Manutenção de permissão
Apenas bit de execução
Apenas bit de execução
Protocolos de rede
pacotes personalizados sob ssh, rsync, HTTP, de email
HTTP, personalizado sobre ssh, pacotes de email (com plug-in padrão)
Desenvolvido por
Junio Hamano, Linus Torvalds
Matt Mackall
Mantido por
Junio Hamano
Matt Mackall
Escrito em
C, Bourne Shell, Perl
Python e C
Rastreamento de mesclagem
sim
sim
Integração do Bug Tracker
Não
Trac (via plugin)
Licença
GPL v2
GPL v2
Local na rede Internet
git-scm.com
www.selenic.com/mercurial
OS
POSIX, pior suporte ao Windows
Tipo Unix, Windows, Mac OS X
Introdução (da Wikipedia)
O Git é um controle de revisão distribuído gratuito ou projeto de gerenciamento de código-fonte de software com ênfase em ser rápido. O Git foi criado inicialmente por Linus Torvalds para o desenvolvimento do kernel do Linux.
O Mercurial é uma ferramenta de controle de revisão distribuída em várias plataformas para desenvolvedores de software. Ele é implementado principalmente usando a linguagem de programação Python, mas inclui uma implementação binária de diff escrita em C.
Tipo
Controle de revisão
Controle de revisão
Conteúdo: Mercurial vs Git
1 Objetivos do projeto
2 Projetos usando Git vs Projetos usando Mercurial
Portabilidade 3 Git vs Mercurial
4 Interface do usuário para Git vs Mercurial
5 Vídeos relacionados
6 Referências
Objetivos do projeto
Os principais objetivos de design da Mercurial incluem alto desempenho, escalabilidade, desenvolvimento colaborativo totalmente distribuído sem servidor, manipulação robusta de arquivos de texto sem formatação e arquivos binários e recursos avançados de ramificação e fusão, mantendo-se conceitualmente simples. Inclui uma interface web integrada.
Um dos principais objetivos de design de Linus Torvalds para o Git era a velocidade e a eficiência das operações. Outros critérios de projeto incluíam fortes proteções contra a corrupção, acidental ou maliciosa.
Projetos usando Git vs Projetos usando Mercurial
Vários projetos de software de alto nível agora usam o Git para controle de revisão, principalmente o kernel do Linux, Perl, Samba, X.org Server, Qt (toolkit), desenvolvimento central do One Laptop per Child (OLPC), framework Web Ruby on Rails, VLC , YUI, Merb, Wine, SWI Prolog, GNOME, GStreamer, DragonFly BSD e a plataforma móvel Android.
Os projetos que usam o Mercurial incluem Adblock Plus, Aldrin, Audacious, servidor Dovecot IMAP, GNU Octave, NxOS, Nuxeo, Growl, software wiki MoinMoin, Mozilla, Mutt (cliente de email), Netbeans (IDE), OpenJDK, Python, SAGE, OpenSolaris da Sun Microsystem e o software Opensource da Oracle, como o Btrfs.
Portabilidade Mercurial vs Git
O Mercurial foi escrito inicialmente para rodar no Linux. Foi portado para Windows, Mac OS X e a maioria dos outros sistemas similares ao Unix. O Mercurial é principalmente um programa de linha de comando.
O Git é desenvolvido principalmente no Linux, mas pode ser usado em outros sistemas operacionais semelhantes ao Unix, incluindo BSD e Solaris.
O Git também roda no Windows. Existem duas variantes:
Uma porta nativa do Microsoft Windows, chamada msysgit, está se aproximando da conclusão. Desde fevereiro de 2009, existem instaladores disponíveis para download prontos para teste Alguns comandos ainda não estão disponíveis nas GUIs e devem ser invocados na linha de comando.
O Git também roda em cima do Cygwin (uma camada de emulação POSIX), embora seja visivelmente mais lento, especialmente para comandos escritos como scripts de shell.
Interface de usuário para Git vs Mercurial
Todas as operações da Mercurial são invocadas como opções de palavras-chave no seu programa de driver hg, uma referência ao símbolo químico do elemento mercúrio. As interfaces GUI do Mercurial incluem Hgk (Tcl / Tk). Isso é implementado como uma extensão do Mercurial e faz parte da versão oficial. Este visualizador exibe o gráfico acíclico direcionado dos conjuntos de alterações de um repositório Mercurial. Este visualizador pode ser chamado pelo comando 'hg view', se a extensão estiver ativada. O hgk foi originalmente baseado em uma ferramenta semelhante para o git chamada gitk. Há uma substituição hgk chamada hgview que é escrita em python puro e fornece interfaces gtk e qt.
As ferramentas Mercurial relacionadas incluem:
As ferramentas relacionadas para mesclagem incluem (h) gct (Qt) e Meld.
A extensão convert permite a importação dos repositórios CVS, Darcs, git, GNU Arch, Monotone e Subversion.
O Netbeans IDE suporta Mercurial da versão 6.
O Tortoise Hg fornece uma interface de menu amigável com o usuário, com o botão direito do mouse.
VisualHG é um plug-in de provedor de controle de fonte Mercurial para MS Visual Studio 2008.
Mercurial Eclipse é um plug-in de provedor de equipe do Eclipse para Eclipse 3.3 e mais recente.
As alternativas para executar o Git usando uma GUI incluem:
git-cvsserver (que emula um servidor CVS, permitindo o uso de clientes Windows CVS)
Cliente Git baseado em IDE do Eclipse, baseado em uma implementação Java pura dos internos do Git: egit
O suporte do NetBeans IDE para Git está em desenvolvimento.
Uma extensão do Windows Explorer (semelhante ao TortoiseCVS / TortoiseSVN) foi iniciada no TortoiseGit and Git Extensions, que é uma extensão do explorador, além de uma GUI autônoma e um plug-in do Visual Studio 2008
Vídeos relacionados
Referências
wikipedia: Git_ (software)
wikipedia: Mercurial_ (software)
O desenvolvedor do Mercurial Martin Geisler comparando os recursos do Git e do Mercural em profundidade