Configurando Uma Ferramenta De Diff Visual Para SVN No Linux

Cá estou eu aqui postando após vários dias parado. Tenho trabalhado diariamente com Ubuntu durante os últimos dias devido a um projeto em Rails 3 que estamos tocando aqui na Quavio. Por isso, tenho penado bastante com configuração de ambiente, familiarização com o framework (ainda estou aprendendo muito) e, consequentemente, tenho tido ainda menos tempo do que o usual.

Vou aproveitar só para deixar um rápido passo-a-passo que utilizei para configurar uma ferramenta de diff visual para SVN no Ubuntu. No Windows eu vinha usando o ótimo WinMerge. No Linux, fui recomendado ao meld nesta pergunta no stackoverflow. Bom, vamos aos passos:

  • sudo apt-get install meld

  • gedit ~/diffwrap.sh

  • Cole o seguinte conteúdo dentro do arquivo recém criado e salve (adaptado daqui):

    !/bin/sh

    Configure your favorite diff program here.

    DIFF=“/usr/local/bin/my-diff-tool”

    Subversion provides the paths we need as the sixth and seventh

    parameters.

    LEFT=${6} RIGHT=${7}

    Call the diff command (change the following line to make sense for

    your merge program).

    $DIFF $LEFT $RIGHT

    Return an errorcode of 0 if no differences were detected, 1 if some were.

    Any other errorcode will be treated as fatal.

  • chmod a+x diffwrap.sh

  • gedit ~/.subversion/config

  • Procure a linha onde diz “diff-cmd” (linha 57, no meu arquivo)

  • Remove o “#” do início da linha para descomentá-la

  • Digite /home//diffwrap.sh no final da linha. O resultado deve ser algo assim: diff-cmd = /home/<nome do usuario>/diffwrap.sh . Não esqueça de trocar pelo nome real do seu usuário no sistema

  • Pronto. Ao digitar svn diff arquivo.rb, o meld será executado com dois arquivos abertos: o seu, com suas modificações locais, e a cópia origina que está no repositório.

Por hoje é isso. Nos próximos dias pretendo escrever um guia sobre como publicar uma aplicação Rails 3 do zero num cloud server do Rackspace.

Até mais!