Distributed Version Control Systems

December 29, 2007



Trackbacks

No Trackbacks

Comments
Display comments as (Linear | Threaded)

Já tinha visto o video do talk do Linus no Google sobre o GIT. Nem toda a gente precisa de algo tipo o GIT e ele exagera violentamente quando fala do CVS ou Subversion.

Cada macaco no seu galho como se costuma dizer. Há muita gente que não precisa de repositórios locais e sincronização entre repositórios. Para muita gente o Subversion é mais que suficiente ou mesmo o CVS. Claro que ambos têm as suas limitações mas depende mais das nossas necessidades do que outra coisa.

O artigo do Dribin tas nice though.

Sunday, December 30. 2007 at 00:52 (Link) (Reply)

Bem, estando doente não sei quando vou falar sobre o artigo dele (nem do comentário do Nuno anterior ao meu :-) ), mas acho que o Dribin ainda não viu a parte mais interessante, já que é um Subversion user.

O git-svn é a melhor maneira de trabalhar com SVN. É tão simples como isso.

A parte do Nuno: ninguém precisa da tool X ou Y para ser produtivo. Eu usei durante 2 ou 3 anos Subversion e achava que era muito fixe.

O que acontece é que tu cresces para além do que a tool te permite fazer. No caso do Subversion, o meu maior problema é branching and merging.

Todos os projectos são paralelos. Todos... Bugfixes que aparecem no meio de um desenvolvimento mais longo, pequenas experiências que podem ou não valer a pena, "campanhas de natal" temporárias que depois queres remover. Tudo isto são branches, e ser possível fazer merges entre eles facilmente é muito importante.

O próprio Dribin diz que "...it’s not something that bothers me." relativamente a branching and merging no final do parágrafo sobre Subversion. É aqui que está toda a definição das bases do artigo dele. Pessoas que não estão insatisfeitas com branch and mergeing em Subversion não vão poder dar grande valor aos Git/Mercurial da vida, porque é ai que esses se evidenciam.

Basicamente, para se conseguir dar valor a um DVCS tu tens de pensar na maneira como desenvolves software de uma forma diferente, de uma forma paralela. É possível usar um DVCS com o mesmo mind-set que tens quando usas SVN ou CVS, mas a melhoria é mínima.

Bem, de volta à cama, que isto de ter varicela não está com nada :-)

Sunday, December 30. 2007 at 07:58 (Link) (Reply)

O meu problema é só um. O investimento em tempo que tenho que fazer para mudar o mindset e tentar algo completamente diferente. De resto também não sou exigente, SVN works fine for me. A parte que ainda me atrai mais são os offline commits.

E tu doente. Tens tido umas ricas semanas, sim senhor.

Sunday, December 30. 2007 at 22:01 (Reply)

Sem dúvida a mudança de mindset é tipicamente o maior entrave. No entanto tenho reparado que as pessoas assimilam melhor um DVCS explicando que:

- os developers "têm" um repositório próprio
- a quem faz a release, digo que o repositório dele é o "trunk" e quando tem de fazer uma release tem de fazer o merge dos repositórios dos developers

O resto fica para eles descobrirem. Também posso acrescentar que raramente ouvi queixas por terem de fazer merge dos repositórios dos colegas X ou Y para obterem novo código.

De qualquer das formas, se alguma vez fizerem um piloto, não te esqueças de escrever sobre os resultados :-)

Monday, December 31. 2007 at 02:35 (Link) (Reply)

Se queres apenas svn offline, recomendo-te vivamente git-svn. Na minha opinião, é melhor que svk, o outro "contender".

O Delfim está a usar isso nos repo's @ work, e se quiseres posso fazer uma apresentação ai sobre apenas isso.

Inté,

Monday, December 31. 2007 at 08:41 (Link) (Reply)

And by the way:

http://www.dribin.org/dave/blog/archives/2007/12/30/why_mercurial/

Monday, December 31. 2007 at 00:02 (Reply)

Celso, nesse novo post, a parte com que mais concordo:

Also, once I realized it was pretty easy to convert from one system to another, it made the choice a lot less permanent. If I decide to try Git or Bazaar in six months, I don’t think it’ll be much of an issue to convert the Mercurial repository.

Isto é algo que eu digo sempre a quem está indeciso entre os vários DVCS: escolham entre os top three à vontade, que é fácil de mudar entre eles..

Inté,

Monday, December 31. 2007 at 08:46 (Link) (Reply)

Melo,

Mas mais uma vez, o seu uso depende das necessidades de cada um ou de cada projecto. Há quem não tenha necessidades de branching ou offline commits.

Eu por exemplo, entre 99 e 2002 queixava-me do CVS por causa da necessidade de offline commits ou repositorios locais com sync. Hoje em dia não sinto necessidade.

Obviamente e como o Celso diz, tambem tudo tem a ver com investimento de tempo de aprendizagem também.

Monday, December 31. 2007 at 01:41 (Link) (Reply)

Nuno,

sem dúvida que cada qual deve usar a ferramenta de acordo com as suas necessidades. Espero não ter sugerido algo diferente de isso.

O que eu quero dizer é muito menos modesto :-). O meu ponto é que as tuas necessidades incluem desenvolvimento paralelo, e por isso o SVN não é a melhor solução.

Mas no final do dia, cada qual deve usar aquilo com que está confortável.

Inté,

Monday, December 31. 2007 at 08:44 (Link) (Reply)

Um vídeo que talvez interesse, do Shuttleworth, sobre DVCS: http://smallr.net/debianconf5_dvcs

Monday, December 31. 2007 at 03:13 (Link) (Reply)


Read the disclaimer first
Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA 1CAPTCHA 2CAPTCHA 3CAPTCHA 4CAPTCHA 5


 
 

Codebits

Semantic Me

Recent Twits

Quicksearch

Calendar

« December '08 »  
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Categories

Archives