ti-enxame.com

Como você se sente em usar sistemas de controle de versão online?

Eu tenho executado meu próprio servidor baseado em casa para as idades para o meu próprio código pessoal, e tentei um sistema ou outro (svn, vss, etc). Mas recentemente, eu gostei de ter alguns dados mais preciosos (sem código-fonte) fora do local, sem ter que se preocupar constantemente com backups em caso de falha de hardware, usando serviços como Dropbox, SkyDrive, Apps do Google, etc.

Isso me fez querer fazer o mesmo com o meu código-fonte para vários projetos, no entanto, tenho algumas preocupações sobre elas. Ou seja, o quão seguro é o meu código de curiosos/desfortando olhos, e eu preciso ter um serviço seguro de falhas, no caso de um correr a barriga durante a noite, ou simplesmente tem problemas de dados massivos? Isso não foi realmente uma preocupação até que eu lesse alguém experiências com Mozy.com , que, embora não seja um serviço de repositório de código, o armazenamento de dados é o armazenamento de dados.

Se você usar/recomendar tal serviço, qual você recomendaria? Estou aberto a usar qualquer sistema, seja mercurial, svn, git, tfs, etc, desde que tenha uma opção Windows e uma opção de cliente Mac (baseado na Web seria um bom "bônus"). E mais importante, por quê?

5
Hugo

A vantagem de um sistema distribuído (Git, Mercurial, Bazar) é que, mesmo que o seu host remoto desapareça completamente, você ainda terá o histórico completo do repositório localmente, da qual você pode começar de novo em outro lugar. Com algo como subversão, se você perder o servidor, você só terá a cópia de trabalho, que é melhor que nada, mas significa que você perdeu o histórico do projeto.

Eu uso Github para projetos de código aberto e estou muito feliz com isso. Eu não uso o Github para projetos comerciais, pois seus preços ficam caros rapidamente para a maneira como eu uso git (muitos pequenos repositórios), então eu hospede meu próprio servidor usando gitosis.

Existem alternativas semelhantes para o Mercurial ( Bitbucket ) e Bazaar ( Launchpad ).

8
Dan Dyer

Quanto à sua primeira pergunta, isso se resume a quanto você acha que precisa proteger seu código, se o serviço on-line for de uma barriga, você ainda terá cópias locais. Se você for com os sistemas distribuídos mais novos, você terá toda a história localmente. Eu pessoalmente tenho uma conta barata em Wush.net para fins de colaboração, todo o resto é "justo" backup localmente aqui.

Quanto à sua segunda pergunta, vá para aquele com o melhor cliente lá fora, fui tentado a mudar para o Git (do SVN), mas a tartaruga svn para o Windows funciona tão bem que não parece valer o esforço. Use o que irá impor a menor sobrecarga à maneira como você trabalha. Seja porque é integrado no IDE que você está usando ou o que você está mais confortável.

Há sites comerciais baratos lá fora para a maioria dos sistemas de controle de versão, e estou supondo que você realmente deseja programar e não me desperdiçam com os sistemas VCS, então escolha o que você acha que fará para fazer o menor trabalho.

Mais uma vez, eu pessoalmente ainda prefiro SVN, principalmente por causa da tartaruga (Windows Desktop) e Ankh (Integração do Visual Studio), no Mac Xcode 3 pode fazer SVN, e há alguns clientes decentes disponíveis.

4
Harald Scheirich