Desejo configurar um repositório de sincronização que seja semelhante ao Dropbox.
Objetivos / Requisitos:
- Grátis (código aberto muito preferível)
- Host Linux (provavelmente Ubuntu)
- Clientes Windows / Mac / Linux
- Potencial para vários usuários com acesso limitado (opcional)
- De preferência fácil, não precisa necessariamente ser automático
- Controle de revisão muito preferível
Basicamente, desejo poder usar vários computadores, possíveis com sistemas operacionais diferentes, e acessar, usar e sincronizar arquivos em todos eles. Também quero ter uma cópia local do repositório para quando não estiver conectado à rede (como se estivesse trabalhando em um laptop, desejo manter um repositório local para manter a revisão e mesclar posteriormente com o repositório "master" )
Por exemplo, estou editando algumas fotos no meu laptop durante o dia fora da minha rede, mas quando chego em casa, gostaria de sincronizar as alterações, incluindo alterações incrementais, com minha área de trabalho em casa.
Eu também gostaria que meus colegas de quarto pudessem acessar e usar esse repositório também, mas limitar o acesso a determinados arquivos. Por exemplo, convém usar isso para fazer backup de registros financeiros, mas não gostaria que eles tivessem acesso a esses arquivos.
Sou programador e familiarizado com o SVN, mas sei que não seria o mais apropriado, pois ele não lida bem com os binários e não mantém um repositório local. Sei que existem melhores opções, mas não as conheço bem o suficiente para escolher a melhor.
fonte
Respostas:
Para o subversion, você pode ter um repositório local - basta criar um localmente e pronto. Você pode sincronizar com um repositório remoto regularmente usando svnsync. Ou faça o contrário, use um repositório remoto e sincronize localmente (como eu faço para backups).
O Svn lida bem com os binários, ou pelo menos como com qualquer outro SCM. O problema dos binários é que eles são difíceis de diferenciar, isso não ocorre com o svn, apenas uma propriedade dos binários.
Git ou Mercurial (ou Bazaar ) parecem mais apropriados para suas necessidades, pois são SCMs distribuídos, na medida em que você opera em um repositório local o tempo todo e depois envia as alterações para um repositório remoto. O Mercurial é provavelmente o melhor para o Windows, pois você possui boas ferramentas de GUI; Bazar é um desenvolvido pela Canonical e Git por Linus. É sobre todas as diferenças entre eles: alguém se importa :) Há comparações na web - além de o git não ser o Windows nativo, o Mercurial provavelmente é melhor, pois suporta mais um 'o que você tem é o que os usuários remotos têm', enquanto o Git é mais um 'o que os usuários remotos têm é o que você permite que eles tenham' o que exigirá mais esforço de você, considerando seus requisitos (é claro que ambos podem compartilhar todos ou subconjuntos, mas é mais fácil para o Mercurial ter um subconjunto restrito do que para o Git compartilhar tudo)
Se você quiser usar 'both', poderá ter o git-svn ou o SVK, que adiciona funcionalidade distribuída ao SVN.
fonte
Eu sugeriria git. Basta configurar repositórios diferentes para seus dados financeiros e dados 'compartilhados'. O acesso é concedido via ssh.
fonte
Talvez você queira tentar http://www.sparkleshare.org/ Uma discussão recente sobre isso pode ser encontrada em http://apps.ycombinator.com/item?id=1424299 .
fonte
Existe uma razão específica para o Dropbox não funcionar para você? Ele cobre tudo na sua lista de recursos com a adição de suporte a dispositivos móveis. Não tenho certeza se conseguirá encontrar um sistema de controle de versão "fácil" que lide bem com os binários.
Se você optar por usar o Git, aqui está uma postagem interessante sobre como hospedar seus repositórios do Git no Dropbox:
http://intranation.com/entries/2010/02/using-dropbox-git-repository/
Essa técnica também deve funcionar com os repositórios Mercurial e Subversion.
fonte
iFolder . Verifique os recursos para saber se é o que você está procurando. (Ele não possui controle de revisão, portanto, se esse recurso for obrigatório , o iFolder não é o que você está procurando.)
fonte
Eu acho que a subversão é o caminho a percorrer.
É totalmente suportado em muitas plataformas e existem bons clientes para Windows , Mac e Linux, entre outros.
fonte