• Чем SVN лучше Git?

    @Dmitry_Barovik
    Дополню недостатки git:
    1) В git невозможно изменить комментарий уже закоммиченной ревизии, т.к. комментарий включается в хэш самого коммита. Для чего это может быть нужно? Мы храним в SVN не только исходники ПО, но и базу данных (схему, хранимые процедуры и некоторые данные). И у нас автоматизирована сборка пакетов обновлений в случае изменений базы данных. Этот сборщик проходит по коммитам и генерирует последовательно файлы с SQL-кодом, которые необходимо выполнить в нужном порядке, чтобы применились изменения в базе у заказчика. Так вот, в комментариях к коммитам мы придумали и пишем некоторые специальные команды для сборщика, чтобы он знал, что из данной ревизии надо подготовить (или наоборот пропустить) какие-то SQL-команды или выполнить их с какими-то особенностями. В случае, если программист сделал ошибку, мы можем просто изменить комментарий и например указать, что эту ревизию надо исключить из сборки.

    2) В git, если вы переименуете папку, то придется закоммитить ВСЕ ФАЙЛЫ И ПАПКИ внутри. Т.к. git хранит не имя файла, а полный путь. В SVN не надо как идиот этого делать (например в TortoiseGit миллион птичек надо ставить на все вложенные файлы), и если переименовал одну папку, то и коммитишь только эту папку.

    3) В .git внутри репозитория нельзя создать подпапку с отдельным репозиторием. В SVN без проблем, можно в существующую подпапку сделать “checkout” другого репозитория.

    4) Чтобы установить TortoiseGit, придется к себе на компьютер ставить и сам git.
    Что для svn вообще не требуется. Админы развернули SVN (т.е. Apache Subversion) где-то на сервере организации, а программисты установили TortoiseSVN утилитку маленькую и работают.
    Ответ написан
    Комментировать