Utilizador:Geovannioj
Mercurial
[editar | editar código-fonte]- O que é
É uma ferramenta gratuita para controle de versão, oferece o poder de lidar de forma eficiente com projetos de qualquer tamanho. É realmente distribuído, de forma que cada desenvolvedor tem uma cópia completa do histórico do desenvolvimento de forma local, não necessita de conexão com a internet para trabalhar.
O Mercurial é feito em Python, e como requisito é necessário ter Python 2.4 ou superior instalado.
Como instalar
[editar | editar código-fonte]- Para sistemas operacionais Windows
É possível fazer o download na página web: https://www.mercurial-scm.org/downloads
- Para sistemas Linux
# Debian/Ubuntu $ sudo apt-get install mercurial
- Verificando a versão do Mercurial
$ hg version
O relatório apresentado é algo semelhante à este:
freemanpivo@HomeLinux ~ $ hg version
Mercurial Distributed SCM (version 3.4)
(see http://mercurial.selenic.com for more information)
Copyright (C) 2005-2015 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Se tudo ocorreu de forma positiva, siga para o próximo passo. Caso contrário tente reinstalar o Mercurial.
- Verificando a instalação do Mercurial
$ hg debuginstall
Seu terminal irá apresentar um relatório se tudo foi configurado corretamente, e em quais locais de seu computador encontram-se os arquivos de instalação e configuração do software.
freemanpivo@HomeLinux ~ $ hg debuginstall
checking encoding (UTF-8)...
checking Python executable (/usr/bin/python)
checking Python version (2.7.6)
checking Python lib (/usr/lib/python2.7)...
checking installed modules (/usr/lib/python2.7/dist-packages/mercurial)...
checking templates (/usr/share/mercurial/templates)...
checking commit editor...
checking username...
no username supplied
(specify a username in your configuration file)
1 problems detected, please check your install!
Note que há um erro, no qual o nome do utilizador (username) não foi especificado. Para corrigir isso, basta criar um arquivo na pasta HOME de seu Linux e editá-lo.
user@Linux ~ $ touch .hgrc
user@Linux ~ $ vim .hgrc
Após abrir o arquivo utilizando o vim configure o arquivo conforme o exemplo abaixo:
[ui]
username = PrimeiroNome SegundoNome Sobrenome <usuario@dominio.net>
Comandos básicos
[editar | editar código-fonte]Para criar um repositório local basta criar uma pasta para iniciar seu projeto ou em uma pasta já com o projeto digitar no terminal
$ hg init
Ao adicionar os arquivos ( caso a pasta esteja vazia ) ou se já estiver com arquivos na pasta o comando
para clonar um repositório existente para o seu repositório local basta utilizar o clone
$ hg clone link
$ hg status
mostra os arquivos alterados no repositório. Caso os arquivos não estejam adicionados um ponto de interrogação(?) ficará à esquerda do nome do arquivo.
$ hg add "nome do arquivo"
adiciona o arquivo ao próximo commit. Para adicionar todos os arquivos para o próximo commit basta digitar o comando
$ hg add
Com o comando abaixo é possível ver os commits no repositório.
$ hg log
Caso haja necessidade de reverter uma alteração feita e commitada basta utilizar o comando
$ hg revert --all
A tag "--all" significa que todos os arquivos vão retorna ao último estado.
Para verificar as alterações feitas em um arquivo, basta utilizar o diff, as linhas removidas, adicionadas ou alteradas serão mostradas.
$ hg diff "nome do arquivo"
Para retirar um arquivo do repositório basta utilizar o comando remove
$ hg remove "Nome do arquivo"
Ao digitar o comando status, aparecerá um "R" à esquerda do nome do arquivo, isso significa que no próximo commit o arquivo será removido.
Para criar uma nova branch no mercurial basta utilizar o comando branch e colocar o nome da nova branch entre aspas.
$ hg branch "Nome da Branch"
para checar em qual branch vocês está trabalhando, basta utilizar o comando branch
$ hg branch
Para atualizar um repositório clonado basta utilizar o comando pull
$ hg pull
Para atualizar mudanças locais com o repositório remoto basta utilizar o comando push, no entanto, para que este comando funcione corretamente é necessário configurar seu repositório.
Vamos desde o princípio, onde se define um repositório até o comando push em si:
freemanpivo@HomeLinux ~/mercurial $ mkdir testrepo
freemanpivo@HomeLinux ~/mercurial $ cd testrepo/
freemanpivo@HomeLinux ~/mercurial/testrepo $ hg init
freemanpivo@HomeLinux ~/mercurial/testrepo $ hg st
? test.c
freemanpivo@HomeLinux ~/mercurial/testrepo $ hg add test.c
freemanpivo@HomeLinux ~/mercurial/testrepo $ hg st
A test.c
freemanpivo@HomeLinux ~/mercurial/testrepo $ hg commit -m "Initial Commit"
Agora executaremos o comando push, sem o arquivo de configuração do mesmo:
freemanpivo@HomeLinux ~/mercurial/testrepo $ hg push
pushing to default-push
abort: default repository not configured!
(see the "path" section in "hg help config")
Para solucionar este erro, basta editar o arquivo hgrc, dentro da pasta .hg:
freemanpivo@HomeLinux ~/mercurial/testrepo $ vim .hg/hgrc
E adicionar as seguintes linhas ao arquivo de acordo com seu repositório:
[web]
push_ssl=False
allow_push=*
[paths]
default = http://domain:8000
default-push = ../myrepofolder
Agora o comando push está configurado corretamente de acordo com seu repositório.
Repositórios remotos para Mercurial
[editar | editar código-fonte]Projetos que utilizam Mercurial
[editar | editar código-fonte]Apache OpenOffice - Suíte de produtividade livre e aberto.
OpenJDK - Java open source code.
Python - Linguagem de programação Interpretada.
TortoiseHg - Interface gráfica para Mercurial.
TeXstudio - Editor e compilador de arquivos LaTeX.
Referências
[editar | editar código-fonte]Mercurial: Projects Using Mercurial