É comum, em projetos de desenvolvimento de aplicações, a utilização de um versionador de arquivos. O Git, desenvolvido ninguém menos que Linus Torvalds, é um dos mais usados pela sua praticidade, facilidade, forma otimizada de executar, etc.
Nesse contexto, o Sparkleshare vem sendo desenvolvido para ser uma alternativa open source de um famoso utilitário de armazenamento remoto, o Dropbox. Utilizando o Git como backend, o Sparkleshare adiciona, remove, modifica arquivos, guardando as versões anteriotes para que sejam utilizadas quando necessário.
Nesse post mostraremos como configurar um repositório Git remoto e utilizar o Sparkleshare como cliente. O host onde o repositório ficará guardado deve obrigatóriamente ter um servidor SSH rodando e as ferramentas Git necessárias para criar um projeto.
No servidor remoto crie um projeto Git:
$ mkdir SparkleShare
$ cd SparkleShare
$ mkdir projeto.git
$ cd projeto.git
$ git init –bare
Para configurar o cliente vamos instalar o Sparkleshare e configurar a conexão com o servidor remoto.
Em Debian e distribuições baseadas execute o seguinte comando como super usuário:
# aptitude install git-core gtk-sharp2 gtk-sharp2-examples gtk-sharp2-gapi intltool libglade2.0-cil-dev libglib2.0-cil-dev libmono-dev libmono-profiler libmono0 libndesk-dbus-glib1.0-cil-dev libndesk-dbus1.0-cil-dev libwebkit1.1-cil libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-expat-perl libxml-sax-perl mono-1.0-devel mono-1.0-gac mono-1.0-service mono-2.0-devel mono-2.0-service mono-complete mono-csharp-shell mono-devel mono-jay mono-mcs mono-utils mono-xbuild monodevelop monodoc-base monodoc-browser monodoc-gtk2.0-manual monodoc-manual prj2make-sharp gtk-sharp2 monodevelop mono-devel libndesk-dbus1.0-cil-dev libndesk-dbus-glib1.0-cil-dev python-nautilus git-core intltool gvfs gvfs-bin python-gtk2-dev openssh-client liblog4net1.2-cil libltdl-dev libnotify-cil-dev libtool libwebkit-cil-dev nant
Baixe o tarball da última versão disponível para GNU/Linux, descompacte e compile o código-fonte:
# wget -c –no-check-certificate https://github.com/downloads/hbons/SparkleShare/sparkleshare-0.2.4.tar.gz
# tar xvf sparkleshare-0.2.4.tar.gz
# cd sparkleshare-0.2.4
# ./configure –prefix=/usr
# make
# make install
O cliente está instalado. Antes de executa-lo, nós devemos configurar a conexão entre cliente e servidor onde está o repositório.
Para isso, execute como usuário simples, por questões de segurança:
$ ssh-keygen -t rsa
Aceite as configurações padrões e digite a senha que for pedida e nós teremos gerado nossa chave pública e privada.
No servidor remoto, pegue o conteúdo da chave pública gerado na sua máquina local e insira no arquivo .ssh/authorized_keys ou envie com o seguinte comando:
$ ssh-copy-id usuario@servidor-remoto
Ná maquina local executaremos o cliente:
$ sparkleshare start
Digite o nome e o e-mail. Note que será gerado uma chave pública, mas como outra chave gerada já foi enviada ao servidor remoto, não há necessidade de se preocupar com ela.
No campo “On my own server”, digite o usuario@ip-da-maquina.
No campo “Folder” digite o caminho completo, desde o diretório raiz (/), de onde está localizado o repositório Git, “/caminho/para/o/repositoriogit.git”. Clique em Finalizar.
Fontes:
[1] – http://leandrotoledo.com.br/2011/07/09/sparkleshare-uma-alternativa-livre-do-dropbox/
[2] – http://www.makeuseof.com/tag/sparkleshare-great-open-source-alternative-dropbox-linux-mac/
[3] – http://monteirobrena.wordpress.com/2010/03/05/utilizando-o-git-como-repositorio-remoto/
[4] – http://www.taiar.com.br/blog/2011/02/08/como-configurar-um-servidor-de-repositorios-git/