TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
Будни разработчика

29 Sep, 16:29

Open in Telegram Share Report

#заметка дня

Позабытый формат

В комментариях к свежему Subversion спор про Git и централизованные VCS.

На моей первой работе — 2009 год — мы использовали svn. И стыдно не было.

У Git довольно специфическое происхождение: его делали не как универсальный инструмент для всех разработчиков, а под конкретное устройство Linux. Специфику и размер.

CVS и SVN предполагали/предполагают одну главную историю на сервере. Для обычной команды это вполне логично. У Linux была и есть другая структура: тысячи разработчиков, мейнтейнеры подсистем, несколько уровней доверия. Изменения идут от автора к мейнтейнеру, от него выше и в конце концов к Линусу.

С одним центральным репозиторием сразу возникает вопрос: кому разрешено туда писать? Всем нельзя, одному Линусу — бессмысленно. Поэтому Linux сначала перешёл на BitKeeper, где у каждого мейнтейнера мог быть свой полноценный репозиторий, а изменения передавались дальше по цепочке.

В 2005 году бесплатный BitKeeper для Linux закончился, и Линус написал Git. Требования были вполне приземлённые: быстро работать с огромным проектом, нормально переживать множество параллельных веток и не требовать единого сервера для каждого коммита. Человек ведёт свою историю сам, а другой человек решает, забирать её к себе или нет.

Git при этом сначала был скорее механизмом работы с историей, чем аккуратно спроектированным пользовательским инструментом. Интерфейс достраивали уже потом. Этим хорошо объясняются index, HEAD, несколько видов reset, reflog и прочие вещи, которые приходится отдельно учить даже после многих лет работы.

Потом появился GitHub. Git уже был, но совместная работа вокруг него требовала заметно больше ручной возни. GitHub собрал в одном месте репозитории, форки, просмотр кода, обсуждения и pull requests. Именно после этого Git стал удобен не только как VCS, но и как основа всей работы вокруг кода.

А дальше Git просто стало трудно не выбрать. На нём жил open source, его знали разработчики, его поддерживали IDE, CI и хостинги.

При этом Subversion не превратился в мусор: если проекту важнее централизованный контроль, частичная выдача огромного дерева или работа с тяжёлыми бинарниками, такая модель до сих пор может быть удобнее.

Кто-то из вас, котаны, застал или сидит до сих пор на svn?

Иллюстрация: GitKraken.

#svn #git

927 0 3 6 6
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot