среда, марта 12, 2008

Пост Git is the next Unix

Пост про git в восторженных тонах - Git is the next Unix. Мнение автора (его зовут Avery Pennarun) особенно интересно, потому что у него есть опыт разработки файловых систем. Так вот, он считает, что git - это не просто система контроля версий, это платформа, с которой можно сделать много чего интересного. Ну и кроме того git быстро работает и требует мало памяти.

Там же по ссылкам я нашла пост A look back: Bram Cohen vs Linus Torvalds. Там рассказывается про спор Брэма Коэна (Bram Cohen, если вы знаете что такое BitTorrent, то вы, возможно, слышали это имя) с Линусом Торвальдсом. Спор был в mail-листе, вот он, собственно. Обсуждалась организация merge'ей в системах контроля версий. Так вот, время показало, что Линус был очень прав тогда. git отслеживает историю работы не с отдельными файлами, а со всем деревом в целом, что оказалось очень удобно.

Для тех, кто с git'ом работает, это все не новости. А тем, кто не работает, думаю, будет интересно все это почитать.

Спасибо Maniac'у за ссылку.

13 коммент.:

GiNeR комментирует...

Очень заманчиво.
Внедрение git у себя остановило только лишь недостаточное (пока :)) количество инструментария (Web, GUI). Сейчас SVN + Trac.

Alex Ott комментирует...

2GiNer: а что не trac + git?

GiNeR комментирует...

О как, а умеет? :)

Alex Ott комментирует...

http://trac-hacks.org/wiki/GitPlugin or http://trac-hacks.org/wiki/GitwebPlugin

GiNeR комментирует...

Вот как. Гудовость. Пошёл изучать возможности внедрения: GUI + LDAP + обучаемость сотрудников.

maintainer комментирует...

Так вот, время показало, что Линус был очень прав тогда. git отслеживает историю работы не с отдельными файлами, а со всем деревом в целом, что оказалось очень удобно.
Это действительно очень удобно в случае с ядром и проектами на него похожими. Да что там говорить - для всего open source - git идеальный вариант.
Но бывают случаи когда это мешает. В двух (закрытых) проектах мне было удобнее отслеживать историю пофайлово. Однако повторюсь, это специфика проекта.
Сравнивайте, выбирайте и используйте то, что вам лучше подходит.
PS: За пост спасибо!

LXj комментирует...

А интересно, базар и меркуриал организованы похожим образом? Или же они отслеживают изменения по файлам?

Анонимный комментирует...

простите тормоза, но как в этом git'е вытянуть конкретный тэг? читаю маны и не втыкаю ни разу.

в cvs, в svn все просто, здесь же... либо лыжи не едут, либо я...?

Svyatogor комментирует...

Пришлось в свое время поработать с системой контроля ревизий базирущейся на аналогичных принципах. А именно arch. тоже распределенный и отслеживает все дерево.

с тех пор у меня к ним стойкое отвращение. мне кажется, что при грамостном использовании веток в SVN его вполне хватает для 99% проектов.

хотя, возможно, что проекты такого масштаба как ядро накладывают требования о которых я даже не догадываюсь.

Alex Ott комментирует...

2svyatogor: arch - не самый удачный выбор, он просто был первым. тот же bazaar был уже гораздо лучше.
subversion не подходит в одном случае, когда ты не имеешь постоянного коннективити с репозиторием. ну и операция merge в нем сильно недоделанная по сравнению с распределенными системами

Алёна комментирует...

Тут про Меркуриал спрашивали, вот тут есть сравнение Mercurial и git: http://piranha.org.ua/blog/2008/03/14/mercurial-vs-git/

Leschinsky Oleg комментирует...

А почему ссылка не как ссылка?

Алёна комментирует...

2Leschinsky Oleg:

А почему ссылка не как ссылка?

Без какого-либо умысла...