О том, чем плох ГИТ и что такое “simpleVCS”

Говорить что-то против гит сегодня так же опрометчиво, как сса плевать против ветра. Поэтому, ели нет сил преодолеть праведную нетерпимость, то лучше не читать дальше.

Тот, кто не один год наловчился разруливать проблемы гит, а без этого просто не бывает, - уже вполне сговорился с системой и включил ее в свой интеллектуальный опыт. Такому не нужно искать альтернативы. Но очень многие не готовы тратить больше года на не относящееся к их проблематике вспомогательные инструменты.

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

Гит обладает многими спорными и раздражающими нелинуксоидов качествами, большой сложностью, требованием поддержания структуры репозитория “под себя” и просто нескончаемыми проблемами, доступными для решения только истинным гит-экспертам. Потому что делается попытка решить все проблемы в одном флаконе. Внутренние противоречия такого подхода и вылазят наружу.

Высший пилотаж владения гитом – разруливание постоянно возникающих проблем и конфликтов, без которых специалист не нужен.

Гит запросто позволяет (и даже рекомендует!) одновременное редактирование одного фала, но блокирует "пуш" и "пул" во многих ситуациях. Всех нелепостей не перечислить (1, 2). В результате сложнейшей системы правил, гит многие используют не оптимально, раздражая матерых гит-гуру. Чтобы стать гит-экспертом, нужен многолетний опыт всестороннего разруливания проблем и автоматических навыков по управлению командной строкой. Имеющиеся несколько приложений с графическим интерфейсом далеко не всегда позволяют совсем забыть про командную строку, да это и чревато потерей контроля.

У меня с соучастниками были попытки более года использовать гит как для большого сайта, так и в Golang проектах. Так, на главном сайте, который ведется с 2003-го года (общий размер более 40 гигабайт), файл .gitignore получился размером 12 килобайт с 520 строками исключений. Вообще это – странное решение: по умолчанию разрешить все и потом запрещать все остальное. Но ведь остального всегда несопоставимо больше. Несмотря на жестокое исключение “мусора”, репозиторий на моем сайте оказался более 300 мб.

Полученный опыт позволил понять то, хотелось бы иметь от простой и эффективной системы контроля версий, чтобы она не требовала от человека экспертной посвященности, а просто позволяла удобно работать.

Хотя времени на “изобретение еще одного велосипеда” было мало, появилась версия simpleVCS, на основе ГО исполняемого файла. Эта VCS (мне нравится говорить ВКС :) была обкатана на имеющихся проектах. Вот что получилось.

ВКС обладает полноценным графическим вэб-интерфейсом, в нем нет консольных команд. Почему был выбран вэб-интерфейс? Потому, что он настолько могуч, что позволяет реализовать что угодно, а вот построение GUI несравнимо затратнее.

Самое полезное: ВКС позволяет видеть, с какими файлами работают соучастники проекта и минимизирует проблемы при одновременном редактировании. Он тут же показывает список измененных файлов, для которых тут же можно посмотреть различия.

Одним щелчком по кнопке Архив сохраняется текущее состояние локального репозитория в папке, названной по текущей дате-времени. Так что всегда есть вся история версий для откатов.

Нет никаких табу с работой с файлами вручную, через FTP, почему нужно себя ограничивать в этом?

В системе заполняется строка разрешенных расширений файлов (или все разрешены если ничего не прописано), но есть еще три списка: игнорируемых папок, список разрешенных папок (только эти папки будут разрешены, что позволяет эффективно ограничивать поле редактирования больших проектов) и список игнорируемых папок. Во всех списках можно использовать звездочку (*), заменяющую собой любые символосочетания.

Как и Гит, ВКС может использовать уже имеющийся по умолчанию общий репозиторий с функциональностью гитхаб, но может быть использован свой собственный. Кроме того, ВКС позволяет работать с любым заданным рабочим сервером, с произвольными параметрами связи по FTP.

Данная версия ВКС, конечно же, не лучший вариант реализации простой и эффективной VCS (на ее создание был отведен всего месяц), работает только под windows (как и гит сначала работал только под линуксом). Но уже теперь работать с проектами стало легко и безбоязненно.

Конечно, оптимальная версия ВКС должна быть многопрлатформенной и работать со многими кодировками файлы (сейчас только ANSI и UTF-8). Но ведь сразу все не сделаешь, тем более что насущные проблемы теперь закрыты. Так что тем, кто хотел бы развить систему или адаптировать под себя, идея подана, и даже могу открыть исходный код. Тем более, могу просто дать готовую систему для пробы и использования.

Для установки simpeVCS нужно просто сделать папку и залить туда содержимое архива. В прилагаемой коротенькой инструкции - все ясно и без затей.

Это – чисто альтруистическая статья, не имеющая ничего общего с рекламой, просто кто хочет может попробовать использовать, даже не сказав спасибо. Да, любой может посмотреть свысока и, как это заведено, назидательно изязвить, но тогда эта статья не для него. Однако, стоит подумать, что гит – точно не последнее слово в VCS и рано или поздно взлетит новое решение. Может быть, эта статья кого-то замотивирует. Только большими затратами времени и денег можно создать новую универсальную систему, одному это не под силу.

1 комментарий

Для некоторых проектов гит переусложнен. Сейчас юзаем ms vss старый, но простой и нам достаточный. Но ваш софт в энтерпрайс не протащить