Sei que acabei deixando o blog um pouco de lado, apesar de ter prometido não deixá-lo parado. Bom, meu motivo foi a faculdade, e sim, o temível mas prazeroso TCC (prazeroso depois de pronto, é claro..=])
Mas vamos ao que interessa...
Quem utiliza o Mercurial como controle de versão (ou outro, como Git por exemplo) para seus projetos sabe o quanto é "chato" ter que alternar para o console a cada novo commit, adição de arquivos ou visualização do log.
Como trabalho com o editor Gedit, pesquisei até achar uma forma de suprir a necessidade de facilitar o uso do Mercurial com esse maravilhoso editor.
Enfim achei algo que me ajudasse, o plugin 'Ferramentas Externas', presente no Gedit.
Com esse plugin é possível criar funcionalidades através de linguagens de script. Não sei ao certo quais linguagens ele suporta, mas testei com Shell Script e Python e occoreu tudo bem.
Vamos a prática.
Lembrando que estou trabalhando com Ubuntu 10.04, então pode haver a necessidade de alterar alguma coisa para sua plataforma ou distro.
Não vou me ater a como instalar e configurar o Mercurial, então, estude ele antes, caso não o conheça.
Certifique que o repositório Mercurial esteja iniciado antes de utilizar os recursos desse post.
Para utilizar o plugin, é preciso ativá-lo. Para isso vá em Editar > Preferências > Plugins. Ative o plugin Ferramentas Externas.
Adicionando o arquivo ao repositório
Vamos criar a função de adicionar um arquivo do Mercurial (hg add
Vá em Ferramentas > Gerenciar Ferramentas Externas. Clique no botão adicionar e dê um nome (sugiro hgAdd). No painel ao lado você substitua o texto pelo seguinte:
#!/bin/sh
DOCPATH=$GEDIT_CURRENT_DOCUMENT_PATH
hg add -v "${DOCPATH}"
Logo abaixo tem algumas opções, não há necessidade de alterar, mas se quiser, recomendo colocar um atalho para executar a função e a opção Saída colocar o valor Mostrar no Painel Inferior. Feche a janela.A variavel GEDIT_CURRENT_DOCUMET_PATH é uma variável do plugin, que determina o path do arquivo.
Para testar crie um arquivo no diretório do repositório e edite com o Gedit, salve e pressione as teclas de atalho (caso tenha configurado) ou vá até Ferramentas > Ferramentas Externas >
Efetuando o commit
A seguinte funcionalidade efetua o commit (hg commit -m
Adicione outra funcionalidade em Ferramentas > Gerenciar Ferramentas Externas. De um nome para ela ( sugiro hgCommit ) e escreva o seguinte código no painel ao lado:
#!/bin/sh
DOCPATH=$GEDIT_CURRENT_DOCUMENT_DIR #define o path do documento
#define o comentário do parametro -m.
COMENTARIO=`zenity --entry --title="Mercurial Commit" \
--text="Entre com um comentário e pressione OK para concluir o commit"`
ESCOLHA=`echo $?` #verifica se deu OK
#caso OK, executa o commit do mercurial
if [ "${ESCOLHA}" -eq 0 ]
then
#caso o comentário for em branco, adiciona um comentário
if [ -z "${COMENTARIO}" ]
then
COMENTARIO="Commit em branco - `date`"
fi
hg commit -v -m "${COMENTARIO}" "${DOCPATH}"
fi
As configurações podem ser iguais ao da funcionalidade anterior, exceto o atalho, que deverá ser outro.
Para testar, basta editar o arquivo, adicionar ele ao repositório (caso não esteja) e pressionar as teclas do atalho ou ir em Ferramentas > Ferramentas Externas >nome
Ver o log
Para visualizar o log (hg log), basta adicionar uma nova funcionalidade em Ferramentas > Gerenciar Ferramentas Extras. Adicione o seguinte código:
#!/bin/sh
DOCPATH=$GEDIT_CURRENT_DOCUMENT_DIR #define o path do documento
#joga em uma janela do zenity o log do repositório do arquivo
hg log "${DOCPATH}" | zenity --text-info --width 530 --height 400
Nas configurações idem a funcionalidade citadas acima.Estude um pouco de Shell Scrip, Python, Zenity (para interagir seus scripts) e o plugin External Tools. Você pode elaborar ferramentas para tornar o Gedit mais poderoso e fácil para trabalhar.
Espero que tenha ajudado, qualquer dúvida ou sugestão, é só postar nos comentários.
Abraços.
Nenhum comentário:
Postar um comentário