tag:blogger.com,1999:blog-34412634.post3113778641650096252..comments2023-08-26T06:56:03.680-07:00Comments on Sleepy in Seattle: Git vs SvnValeri Tolkovhttp://www.blogger.com/profile/04628169040736451840noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-34412634.post-60983501410902663322015-11-09T17:34:03.919-08:002015-11-09T17:34:03.919-08:00Брр. Бранч в любом случае имеет некий уникальный и...Брр. Бранч в любом случае имеет некий уникальный идентификатор. Хотя бы потому, что иначе с ним ничего нельзя сделать. Приятность svn именно в том, что все бранчи, теги и файлы имеют общее пространство имён и поэтому синтаксис команд упрощён до предела: путь да ревизия. На каталоги в рабочей копии это не влияет вообще никак. Хочешь - вытаскивай бранчи в отдельные каталоги. Хочешь - переключай уже вытащенный бранч (причём не обязательно весь, можно любое его поддерево) на другой, причём не обязательно того же продукта и репозитория. Разумеется, локальный дифф от текущей базы при этом сохраняется и будет примёржен к новой базе.<br /><br />Ну вот почти целиком слизаный пример из svn help switch:<br />"svn switch ^/branches/1.x-release -r125" - если структура в репозитории стандартная, то это будет переключение текущего каталога (можно и другой указать) на бранч 1.x-release и одновременно ревизию 125.<br /><br />В общем, пока не убедительно.Movetonhttps://www.blogger.com/profile/13285967566500448136noreply@blogger.comtag:blogger.com,1999:blog-34412634.post-71521479346279509462015-11-09T15:20:59.557-08:002015-11-09T15:20:59.557-08:00Бранч в каталоге - идея того времени, когда никако...Бранч в каталоге - идея того времени, когда никакого source control вообще не было. Это как хранить предыдущие версии файла в других файлах. <br />В Svn я часто пользовался update to revision. Выбираешь ревизию и "svn update -r124". Можно переключаться вперед и назад. В Git можно так переключиться на любой коммит из любого бранча, что удобно.<br />Кроме того, часто билд и тесты заточены на определенные каталоги, и не хочется менять пути, чтобы попробовать прогнать тест в других бранчах. Все можно, конечно, сделать, сделать гибкую систему конфигурации путей, и пр. Можно вообще хранить все ревизии в каталогах по именам этих ревизий и вообще обойтись без Svn или Git, я когда-то так и делал, хранил zip-файлы с ревизиями. Но приятно, когда source control решает проблему за тебя.Valeri Tolkovhttps://www.blogger.com/profile/04628169040736451840noreply@blogger.comtag:blogger.com,1999:blog-34412634.post-83539021050597489782015-11-03T13:10:58.894-08:002015-11-03T13:10:58.894-08:00Я вижу, что понравилось :) Но в чём преимущество э...Я вижу, что понравилось :) Но в чём преимущество этих сущностей в отдельном виде так и не понятно.Movetonhttps://www.blogger.com/profile/13285967566500448136noreply@blogger.comtag:blogger.com,1999:blog-34412634.post-3280687575498767102015-11-03T12:17:15.078-08:002015-11-03T12:17:15.078-08:00Я так думал несколько лет назад. А как попробовал ...Я так думал несколько лет назад. А как попробовал без лишних каталогов, мне очень понравилось.Valeri Tolkovhttps://www.blogger.com/profile/04628169040736451840noreply@blogger.comtag:blogger.com,1999:blog-34412634.post-92084499431884158702015-11-02T09:40:02.683-08:002015-11-02T09:40:02.683-08:00После перехода на SVN с CVS мне как раз показалось...После перехода на SVN с CVS мне как раз показалось более правильным, что ветка - это другой каталог и никаких альтернативных реальностей и прочих лишних сущностей. Проблемы переключиться на другую ветку не понимаю. Но, видимо, на вкус и цвет...Movetonhttps://www.blogger.com/profile/13285967566500448136noreply@blogger.comtag:blogger.com,1999:blog-34412634.post-77856443016918699882015-10-31T06:50:27.121-07:002015-10-31T06:50:27.121-07:00Пользовался VSS под WinXP и СVS под Linux, где лет...Пользовался VSS под WinXP и СVS под Linux, где лет 5 назад разок команды попутал с катастрофическими последствиями для практически завершённого проекта.SKuznetsovnoreply@blogger.comtag:blogger.com,1999:blog-34412634.post-16876368677783514102015-10-29T20:09:19.937-07:002015-10-29T20:09:19.937-07:00Нет mercurial не пробовал. У нас в MS объявлен пер...Нет mercurial не пробовал. У нас в MS объявлен переход на Git, точнее на VSO Git, и я решил немного попрактиковаться на домашних проектах. На самом деле я сейчас развиваю и поддерживаю то, что в MS произвели из Perforce двухтысячного года. Но сверху решили переходить на Git. Решили то давно, но перейти не просто, много кода написано вокруг. А дома оказалось перейти очень просто. У меня дома нет ни build lab, ни code mining.Valeri Tolkovhttps://www.blogger.com/profile/04628169040736451840noreply@blogger.comtag:blogger.com,1999:blog-34412634.post-45762103689403932772015-10-29T01:41:31.646-07:002015-10-29T01:41:31.646-07:00А mercurial пробовали? Очень похож на git, но комф...А mercurial пробовали? Очень похож на git, но комфортнее для меня. У меня почти все проекты на нем, но во многом это в силу исторических причин, когда много проектов держалось на http://bitbucket.org/, который в те далекие времена поддерживал только mercurial.<br />Anonymoushttps://www.blogger.com/profile/07346029196608794826noreply@blogger.comtag:blogger.com,1999:blog-34412634.post-4202963072209175762015-10-28T23:20:11.398-07:002015-10-28T23:20:11.398-07:00Git вполне удобен на одном компьютере. Командая ст...Git вполне удобен на одном компьютере. Командая строка, правда у него несколько эклектичная, но сейчас много UI оболочек. Valeri Tolkovhttps://www.blogger.com/profile/04628169040736451840noreply@blogger.comtag:blogger.com,1999:blog-34412634.post-74638249527524050972015-10-28T22:45:38.652-07:002015-10-28T22:45:38.652-07:00Спасибо, мне было интересно. Хотя у меня проекты и...Спасибо, мне было интересно. Хотя у меня проекты и ограничены одним компьютером, но может быть полезна поддержка версионности, а также навык пользования стандартным инструментом.SKuznetsovnoreply@blogger.com