jul
12

Manipulando branches remotos com Git ...

Reorganizando meus projetos no Github me deparei com o problema de ter criado muitos branches locais e remotos e tudo estava uma grande bagunça. Os comandos que me ajudaram a resolver isto foram:

Dado os branches locais

macos-snow ~/project (master) git branch
* master
  fix_counter
  rails3-version

Para criá-los remotamente use

macos-snow ~/project (master) git push --all

Ou para um branch específico

macos-snow ~/project (master) git push origin rails3-version

Para apagar branches locais

macos-snow ~/project (master) git branch -D rails3-version

Para apagar branches remotos

macos-snow ~/project (master) git push origin :rails3-version

Renomear branches locais

macos-snow ~/project (master) git branch -m old_branch new_branch

As referências que encontrei para renomear branches remotos não me foram úteis por isso fiz da forma mais prática renomeando o branch local, enviando para repositório e apagando o branch remoto antigo.

Referências:
- Help Github
- Git ready

jul
11

Erro ao instalar MySql com Homebrew no MacO ...

Ao tentar instalar o MySql com Homebrew no meu MacOS Snow Leopard 10.6.4 obtive o seguinte erro:

macos-snow ~  $ brew install mysql
==> Downloading ftp://ftp.cwru.edu/pub/bash/readline-6.0.tar.gz
curl: (7) couldn't connect to host

Este erro pode ocorrer se você re-instalou o seu SO ou está com uma máquina nova porque o MySql depende do bash e o Readline é um componente para edição e histórico da linha de comando por isso o Readline é instalado antes da instalação do MySql.

A solução mais rápida foi editar a fórmula para instalação do Readline em /usr/local/Library/Formula/readline.rb e trocar o endereço ftp://ftp.cwru.edu/pub/bash/readline-6.0.tar.gz por ftp://ftp.gnu.org/pub/gnu/readline/readline-6.0.tar.gz, no meu caso isto aconteceu porque o primeiro endereço não estava respondendo.

class Readline  Formula
  url 'ftp://ftp.cwru.edu/pub/bash/readline-6.0.tar.gz'
  md5 'b7f65a48add447693be6e86f04a63019'
  homepage 'http://tiswww.case.edu/php/chet/readline/rltop.html' 

   ...
OS X provides the BSD Readline library. In order to prevent conflicts when
programs look for libreadline we are defaulting this GNU Readline installation
to keg-only.
   ...

Fica aqui a dica também se você quiser editar fórmulas para instalar com o Homebrew, no diretório /usr/local/Library/Formula/ irá encontrá-las. Para criar novas fórmulas visite Wiki do Homebrew ou leia este post do AkitaOnRails.

Mais informações:
– Bash-4.0 available for FTP
- Use readline instead of libedit

mar
16

Melhorando o prompt do bash para RVM ...

Esses dias configurei meus sistemas operacionais para usar RVM que serve para gerenciar diferentes instalações do Ruby na mesma máquina.

Para instalar no Snow Leopard segui o tutorial do Akita “Limpando meu Ambiente de Desenvolvimento” e para instalar no Ubuntu segui o post do Barenko “Preparando o Ubuntu para múltiplos ambientes Ruby utilizando RVM” que é mais ou menos uma “tradução” do post do Akita para Ubuntu. Deixei tudo igual com exceção da linha onde tem “/var/lib/gems/1.8/bin/rvm-install” que alterei para

~/rvm-install

Porém como eu uso Git uma coisa que estava me incomodando é que o prompt do Bash em ambos SO não estavam adequados para mostrar a versão da RVM e o branch atual do Git ao mesmo tempo, então fiz algumas e alterações e encontrei algumas “frescuras a mais” para personalizar o prompt.
Substitua a linha que começa com “expost PS1=’….” no arquivo ~/.bashrc (Ubuntu) ou ~/.bash_profile (MacOS) para:

sudo gedit ~/.bashrc
export PS1='\[\033[38m\]\u\[\033[32m\] \w \[\033[1;33m\]`~/.rvm/bin/rvm-prompt i v
`\[\033[0;31m\] `git branch 2> /dev/null | grep -e ^* | sed -E s/^\\\\\*\ \(.+\)$/\(\\\\\1\)\ /
`\[\033[37m\]$\[\033[00m\] '

Com isto o prompt ficará assim

seu_usuario ~/projetos/blog ruby-ree  ( working ) $

Segue uma tabela com as cores existentes, se você quiser deixar a fonte em negrito use 1; ao invés de 0;

"\033[0;32m"
"\033[1;32m"

Cores
corPadrao=”\033[0m”
preto=”\033[0;30m”
vermelho=”\033[0;31m”
verde=”\033[0;32m”
marrom=”\033[0;33m”
azul=”\033[0;34m”
purple=”\033[0;35m”
cyan=”\033[0;36m”
cinzaClaro=”\033[0;37m”
amarelo=”\033[0;33m”
branco=”\033[1;37m”

Aproveitando que este post é sobre RVM, se alguém tiver dificuldades em rodar o script/console dentro de algum ambiente de RVM dá uma olhada neste post que tem uma solução para este problema.

Referências:
Limpando meu Ambiente de Desenvolvimento
Preparando o Ubuntu para múltiplos ambientes ruby utilizando RVM
http://ubuntuforums.org/archive/index.php/t-31247.html
http://www.vivaolinux.com.br/dica/Shell-script-com-texto-colorido