Преимущество git - распределённая разработка, кмк, это главное его преимущество (типа вся инфа локально уже есть). svn же на каждый чих коннектится с сервером.
Ну не скажи, серия мелких локальных коммитов, которые перед пушем заворачиваются в один фича-коммит с хорошим комментом – это удобная штука, с svn так не прокатит. Тут дело даже не в отстутствии интернетов, а в том, что ты можешь как угодно засрать локальное дерево коммитов, а на сервер отправить уже что-то вменяемое. В svn нужно либо и весь мусор тоже пушить, либо держать кучу незакоммиченного кода.
Пробовал этот костыль. Иначе как костылём назвать не могу. Задача VCS облегчать работу программисту, а не создавать её.. а то как-то «We had a problem and decided to use git; now we have two problems».
Here we’ll clone a project with a submodule in it. When you clone such a project, by default you get the directories that contain submodules, but none of the files within them yet: f you want to check for new work in a submodule, you can go into the directory and run git fetch and git merge the upstream branch to update the local code.
Ну и ещё можешь дальше пробежаться, лень дальше выборку делать. Мой смысл в том, что весь описанный выше зоопарк делается командой svn update в svn.
то есть чтобы посмотреть один файлик - надо уговорить «владельца» репозитория поставить какую то вебморду, настроить авторизацию и следить за ней еще... ну или слить всю репу.. что вы там про каждый чих svn говорили??
There is another way to do this which is a little simpler, however. If you pass --recursive to the git clone command, it will automatically initialize and update each submodule in the repository.
я программирую. плюсов гита (у нас hg), по сравнению с svn в нашей небольшой компании, я не вижу от слова совсем. зато минусы постоянно - удалённая девочки из какого-нить ёбурга любит пушиться с форсом и порождать всякое многоголовое.
то есть чтобы посмотреть один файлик - надо уговорить «владельца» репозитория поставить какую то вебморду, настроить авторизацию и следить за ней еще... ну или слить всю репу.. что вы там про каждый чих svn говорили??
Приведи use-case из реальной жизни. Потому-что т.к. у тебя закрытый проект, скорее всего рабочий, а значит тебе с ним придётся работать так или иначе, а это означает, что в худшем случае тебе нужно будет сделать клон ровно один раз. Но обычно ты добавляешь его сервер как remote к своей раб копии и делаешь fetch, git берёт только то, чего нет в твоём клоне, сжимает и скачивает.
Так это проблема девочки не так ли? Точнее даже того кто дал ей права не проведя ликбез. Ну и полная история с хэшированием всего ведётся, т.к. даже такая фича как переписывание истории, фактически является добавлением новой истрории.
отсутствии у него преимуществ перед svn в 99% разрабатываемых проектов
Хорошо, что я в таких «проектах», с такими «разработчиками», как ты, не работаю. Енджой ёр кастрированные ветки, выполненные через костыли в виде поддиректорий и принципиальную невозможность нормально организовать пулл-реквесты, ибо все мерджится на машине у того, кто svn update выполнил.
Это проблема сложного по. с svn такого не было никогда - он тупой и даже девАчко из ёбурга способна освоить. с текущими монстрами хоть 10 раз объясни что и как, всё равно регулярно кто-нить чего-нить закоммитит не хорошее, при практически полном отсутствии плюсов в среднем проекте на 3-5 человек на 3-5 лет.
не отказывай в себе в удовольствии и открой для себя основы механизации и почему до сих пор машины не заменили бухого плотника Васю китайцев.
не стоит микроскопом гвозди забивать.
в 90% случаев о быдлокоде рассуждают люди, которые этот быдлокод каждый день и пишут, ибо непризнанные гении и лишены понимания что/где/когда в программировании.
Вот я с помощью svn скачал рабочую копию одного из этих 99% "проектов", которые не выигрывают от distributed. Как мне сделать на пробу несколько коммитов в этот код, не отсылая предварительно владельцу репа своё фото с флажком в анусе, чтобы он дал мне rw?