Дмитрий Сергеевич (axshavan) wrote,
Дмитрий Сергеевич
axshavan

Categories:

svn и git

Это про системы контроля версий.



Сейчас я пользуюсь свн. И до недавнего времени считал, что в мире для контроля версий ничего лучше не изобрели.
8.50 КБ
Всё просто и элегантно. Короче, гениально. Есть репозиторий. Есть разработчики. Я сделал какие-то изменения, и закидываю их в репозиторий. Репозиторий фиксирует ревизию номер такую-то. Потом другие разработчики обновляют свои рабочие версии из репозитория, и мои изменения попадают к ним.
Сабвершен (свн) сам может попытаться слить изменения в коде, если разные разработчики работают над одним и тем же файлом. Если не получается, то у второго репозиторий откажется принимать изменения, пока конфликт правок не будет разрешён вручную. Круто! К тому же свн хранит в репозитории изменения, сделанные в файле. Ну то есть если я исправил одну строчку в файле весом в триста килобайт, лучше хранить пометку об изменении, чем весь файл снова. И я думал, что всё круто.

Потом познакомился (просто так, для общего развития), с системой контроля версий git. Это полный антипод свн. Потому что хранит слепки репозиториев, а не изменения, и потому, что распределённая. Как это - распределённая? А вот так - у каждого свой маленький репозиторий, а центрального нет.
10.44 КБ
То есть если я хочу получить последнюю версию всех изменений, я должен забрать изменения, сделанные другими разработчиками. И хорошо, если они там не слишком много наломали, так как, в случае чего, конфликты разрешать не им, а мне - да, это третье кардинальное отличие гита от свн. Пока разработчиков мало, думал я, всё ещё нормально, но когда много...
20.99 КБ
И, самое главное, откуда собирать релиз? Короче, гит - говно, подумал я.

Потом я узнал, что один из разработчиков гита - Линус Торвальдс, соответственно, линукс пишут под управлением гита. Кроме того, на гите сидят разработчики гнома, перла, кьютэ, иксорга... не могут же они все быть идиотами? - подумал я и прочитал то, что Линус рассказывал пару лет назад на своём выступлении в Google про гит.
10.10 КБ
Если у нас есть здоровенная орава разработчиков, изменения от них собирают себе руководители групп, а уже от них они попадают в один такой же, как и у всех, репозиторий, который просто назначен центральным. Оттуда и собираются релизы. В таком ключе, когда не у каждого кретина есть доступ к Центральному Хранилищу, всё выглядит даже очень неплохо. Правда, я не до конца понял, как быть с размерами репозиториев, если они хранят не изменения, а файлы целиком. Я сделал себе два разных репозитория - один гитовский и один свновский, и в каждый зачекинил по одному файлу на сто килобайт. Потом подписал в начале файла неприличное слово, и ещё раз зачекинил. И ещё раз так же. Репозиторий свн, как и следовало ожидать, вырос на сто с небольшим килобайт. Репозиторий гита - на двести с небольшим, то есть там где-то внутри всё равно оптимизация есть. Сам же Линус уверяет, что восьмигигабайтный репозиторий кде при миграции в гит умялся в полтора гигабайта.

Вот так-то. Всё-таки гит это довольно неплохо.
Subscribe

  • Первый день тридцать восьмого

    Настроение сегодня получше, я бы даже сказал, отличное. Про процесс сброса веса. Покрутился перед зеркалом, пофотографировался. Если я и похудел, то…

  • Фотки с MetaXchange Free Zone @ Rock Cafe, 30 июня

    Был вторник, тридцатое июня. В Чехии только-только случилась вспышла заражения коронавирусом на шахте Дарков, предваряющая вторую волну эпидемии, а в…

  • Обложки к плейлистам

    Как мне кажется, я ещё не хвастался (или хвастался, но давно) своими плейлистами на Spotify, а точнее, их оформлением. По умолчанию спотифай туда…

  • Post a new comment

    Error

    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 12 comments

  • Первый день тридцать восьмого

    Настроение сегодня получше, я бы даже сказал, отличное. Про процесс сброса веса. Покрутился перед зеркалом, пофотографировался. Если я и похудел, то…

  • Фотки с MetaXchange Free Zone @ Rock Cafe, 30 июня

    Был вторник, тридцатое июня. В Чехии только-только случилась вспышла заражения коронавирусом на шахте Дарков, предваряющая вторую волну эпидемии, а в…

  • Обложки к плейлистам

    Как мне кажется, я ещё не хвастался (или хвастался, но давно) своими плейлистами на Spotify, а точнее, их оформлением. По умолчанию спотифай туда…