Git - одна из самых известных распределенных систем контроля версий (DVCS), изначально созданная для разработчиков ядра Linux. Из-за последнего, она работает на патчах. Патчи, патчи, везде патчи.

В централизованных VCS каждый contributor (как бы перевести нормально??) присылал патч одному из committer'ов, который применял его вручную. Git создавался для облегчения всего этого.

А DVCS создавались для борьбы с патчами. Именно так, да. Любой пользователь создает свою ветку или форк, работает в ней как хочет, а когда все готово - создает merge directive (или pull request), то есть просит объединить ветки. Скажете, что в Git/GitHub так можно? Да, через жопу, но можно, но пользователи Git все равно патчи патчат.

Но самое главное, что бесит в Git - он работает только по одной модели (shared working tree, "общее рабочее дерево"). То есть в папке есть одно рабочее дерево и можно переключаться между ветками командой switch. Такая модель использования придает скорости и занимает меньше места на диске. Но в то же время она абсолютно неудобна в использовании. Вывод? Только для больших проектов.

В Mercurial то же самое, но слегка проще. А вот в Bazaar такой способ работы сильно опционален. rebase - вообще плагин (: Directory is a branch - это очень правильная идеология. Потому что с ее помощью можно сделать то же shared WT, только каждую ветку можно будет просто посмотреть файловым менеджером (не залезая в .скрытые_папки), а можно работать с простыми ветками, если проект небольшой. Вот так вот.

Постовой: разработка фирменного стиля; выделенный сервер в аренду - для больших нагрузок, когда VDS не хватает.
2010-02-08 15:52:12 Теги: python apps vcs | Комментарии
автомобили ваз большой выбор авто Западный округ