Git vs SVN

User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Git vs SVN

Post by Alexander Troyansky »

kostik78 wrote: 29 Mar 2018 05:34 А что у SVN нет тех же проблем что и у гита при подсчете чек суммы и просчете дельты ?
Из SVN репы мона вытащить тока один такой bin-файл отдельно. Git заставляет тянуть всю репу, или уже тоже пофиксили?
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Git vs SVN

Post by iDesperado »

Alexander Troyansky wrote: 29 Mar 2018 05:53
kostik78 wrote: 29 Mar 2018 05:34 А что у SVN нет тех же проблем что и у гита при подсчете чек суммы и просчете дельты ?
Из SVN репы мона вытащить тока один такой bin-файл отдельно. Git заставляет тянуть всю репу, или уже тоже пофиксили?
в гите можно вытягивать часть репы через sparse-checkout
User avatar
Вячеслав Викторович
Уже с Приветом
Posts: 5738
Joined: 13 Feb 2016 18:50
Location: Кемерово

Re: Git vs SVN

Post by Вячеслав Викторович »

partner_ca wrote: 29 Mar 2018 06:30
KVA wrote: 28 Mar 2018 17:05 А давайте до кучи здесь еще и про TFS поговорим. У нас например SVN и предлагают на TFS переползти но не особо настойчиво.
У нас был Perforce. Потом переползли на TFS.
Сначала было немного непривычно, но втянулись.
TFS имеет встроенный git.
User avatar
geek7
Уже с Приветом
Posts: 20318
Joined: 01 Dec 2003 23:16
Location: Russia->USA

Re: Git vs SVN

Post by geek7 »

katit wrote: 29 Mar 2018 03:24
geek7 wrote: 29 Mar 2018 02:31
про то как гит работает с бинарниками (большими) уже поговорили?
Нет, как? :food:
насколько я знаю, гит не заморачивается сохранением именно дельты от файла . как следствие размер рипо растёт некислыми темпами
Говори что думаешь, думай что говоришь!
Маразм крепчал и скрепы гнулись
uncle_Pasha
Уже с Приветом
Posts: 19939
Joined: 30 Aug 2000 09:01
Location: WA

Re: Git vs SVN

Post by uncle_Pasha »

geek7 wrote: 29 Mar 2018 12:47 насколько я знаю, гит не заморачивается сохранением именно дельты от файла . как следствие размер рипо растёт некислыми темпами
Что такое дельта бинарного файла? Например, jpeg/mpeg?
С бинарниками, любое репо начнети расти нехилыми темпами. Другое дело, что в случае централизованного репозитория их качают только те, кому это надо, а в случае Git-а и иже с ними - все.
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Git vs SVN

Post by Alexander Troyansky »

iDesperado wrote: 29 Mar 2018 06:07
Alexander Troyansky wrote: 29 Mar 2018 05:53
kostik78 wrote: 29 Mar 2018 05:34 А что у SVN нет тех же проблем что и у гита при подсчете чек суммы и просчете дельты ?
Из SVN репы мона вытащить тока один такой bin-файл отдельно. Git заставляет тянуть всю репу, или уже тоже пофиксили?
в гите можно вытягивать часть репы через sparse-checkout
Даже не sparse-checkout (чтобы всю репу не тянуть), а что-то типа sparse-clone есть? и так что-бы не пляски 5-6 командами, а просто одной?
Last edited by Alexander Troyansky on 29 Mar 2018 16:18, edited 1 time in total.
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Git vs SVN

Post by Alexander Troyansky »

kostik78 wrote: 29 Mar 2018 05:34 Только вот в svn построить нормальный девелопмент процесс с использованием бранчей не возможно.
В svn уже и ветки низя создавать?
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
Palych
Уже с Приветом
Posts: 13987
Joined: 16 Jan 2001 10:01

Re: Git vs SVN

Post by Palych »

kostik78 wrote: 29 Mar 2018 05:34 Только вот в svn построить нормальный девелопмент процесс с использованием бранчей не возможно.
А можно попросить пояснить почему?
Palych
Уже с Приветом
Posts: 13987
Joined: 16 Jan 2001 10:01

Re: Git vs SVN

Post by Palych »

Мы тоже с SVN на git переползать собираемся.
Мне пока главным преимуществом git видится rebate, но страшно даже подумать сколько будет геморроя...
User avatar
Вячеслав Викторович
Уже с Приветом
Posts: 5738
Joined: 13 Feb 2016 18:50
Location: Кемерово

Re: Git vs SVN

Post by Вячеслав Викторович »

Palych wrote: 29 Mar 2018 17:38 Мы тоже с SVN на git переползать собираемся.
Мне пока главным преимуществом git видится rebate, но страшно даже подумать сколько будет геморроя...
самый прикол, что checkout и revert означает совсем другое.
kostik78
Уже с Приветом
Posts: 3180
Joined: 17 May 2007 14:07

Re: Git vs SVN

Post by kostik78 »

Alexander Troyansky wrote: 29 Mar 2018 15:42
kostik78 wrote: 29 Mar 2018 05:34 Только вот в svn построить нормальный девелопмент процесс с использованием бранчей не возможно.
В svn уже и ветки низя создавать?
Можно, но сложность рипитабл мержа между бранчами сводит полезность иных близко к 0. По этой причине они не "съедобны". Таже проблема у p4, хотя чуток лучше.
StrangerR
Уже с Приветом
Posts: 38046
Joined: 14 Dec 2006 20:13
Location: USA

Re: Git vs SVN

Post by StrangerR »

Alexander Troyansky wrote: 28 Mar 2018 16:26
SVN, с моей точки зрения, имеет несколько преимуществ при работе с очень большими репами. Если надо вытащить только один кусочек огромной репы, то в SVN это делается командой checkout с указанием этого кусочка. В git без выкачивания всей репы этого не сделать. Более того, делать операцию commit в SVN в каталогах низкого уровня - дело нескольких секунд. Git, в силу архитектурных особенностей, шарится в поисках изменений по всему дереву репы, что для очень больших реп выливается во многие минуты ожидания.

Ежели работа идёт с мелкими репами, то git будет лучше. Возможность делать локальные коммиты, лучше встроенный дифф, и много чего остального.
Это кстати причина того, почему наши скриптовые дела, которые живут частично аж в CVS, не перетаскиваются в HG или GIT - потому что вечно вытаскивается поддиректория проекта. И на фига мне гит/hg идея что ко мне сначала приезжает весь проект а потом уже из него я могу и кусочки таскать?

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

а по конторе статистика (выбор системы зависит от кастомера а они все крупные)

- процентов 80 Mercurial
- процента 2 git но могу и ошибиться.
- процентов 15 SVN
- оставшиется 3 CVS
kostik78
Уже с Приветом
Posts: 3180
Joined: 17 May 2007 14:07

Re: Git vs SVN

Post by kostik78 »

Palych wrote: 29 Mar 2018 17:35
kostik78 wrote: 29 Mar 2018 05:34 Только вот в svn построить нормальный девелопмент процесс с использованием бранчей не возможно.
А можно попросить пояснить почему?
Написал выше. Я работал 5 лет на SVN, около 15 лет с Perforce и 8 лет с git. Последний по удобству для девелоперов и релиз инженеров выше двух других на несколько голов. У гита есть одна "проблема" - он позволяет сделать практически все, и очень часто люди не разобравшись в деталях и последствиях той или иной команды/опции получают сайд-эффекты. Для примера: workflow с использованием rebase (не правильным использование) может просто привести к тому что git automatic merge перестанет работать и он в этом плане уподобиться svn or perforce. А automatic merge + fast forward merge + light weight branches это основные бенефиты использования git и почему он гораздо эффективнее в работе.

Далее, тут сказали что git тянет весь репо на локальную машину и это очень плохо. Вообщем наверное это плохо если кто-то работает с один или двумя файлами репозитория. В противном случае это бенефит. И дело не в распределенной команде. Народ часто работает не находясь в офисе. (Я для примера в офисе ничего програмировать не могу, не дают. Постоянно кто-то приходит и дергает, митинги или междусобойчики обсудить то или другое).
Очень удобно работать и делать комиты без необходимости держать VPN поднятым. А потом выложить несколько различных pull/merge requests когда VPN is up or you come to the office. И опять же light weight git branches помогают в этом. Гит помогает отделать "мух от котлет" во время работы.

Ну вообщем много можно дальше продолжать. Мой персональный опыт: git позволяет быть более эффективным чем Perforce и тем более svn.
User avatar
Вячеслав Викторович
Уже с Приветом
Posts: 5738
Joined: 13 Feb 2016 18:50
Location: Кемерово

Re: Git vs SVN

Post by Вячеслав Викторович »

kostik78 wrote: 29 Mar 2018 20:52
Alexander Troyansky wrote: 29 Mar 2018 15:42
kostik78 wrote: 29 Mar 2018 05:34 Только вот в svn построить нормальный девелопмент процесс с использованием бранчей не возможно.
В svn уже и ветки низя создавать?
Можно, но сложность рипитабл мержа между бранчами сводит полезность иных близко к 0. По этой причине они не "съедобны". Таже проблема у p4, хотя чуток лучше.
ну я как бы отвечаю за это обычно, уже несколько лет. сложности есть только у тех кто не умеет, но с git та же самая проблема.
kostik78
Уже с Приветом
Posts: 3180
Joined: 17 May 2007 14:07

Re: Git vs SVN

Post by kostik78 »

Вячеслав Викторович wrote: 29 Mar 2018 21:18 ну я как бы отвечаю за это обычно, уже несколько лет. сложности есть только у тех кто не умеет, но с git та же самая проблема.
Я не пользовался svn лет 15 уже. Но мой хороший знакомый недавно ушел с него. Согласно ему проблему в корне не решили и мерже в svn все также мрак ... пускай чуть лучше чем раньше было.
User avatar
Вячеслав Викторович
Уже с Приветом
Posts: 5738
Joined: 13 Feb 2016 18:50
Location: Кемерово

Re: Git vs SVN

Post by Вячеслав Викторович »

kostik78 wrote: 29 Mar 2018 21:24
Вячеслав Викторович wrote: 29 Mar 2018 21:18 ну я как бы отвечаю за это обычно, уже несколько лет. сложности есть только у тех кто не умеет, но с git та же самая проблема.
Я не пользовался svn лет 15 уже. Но мой хороший знакомый недавно ушел с него. Согласно ему проблему в корне не решили и мерже в svn все также мрак ... пускай чуть лучше чем раньше было.
Ну я как бы тоже перехожу, т.к. заказчики хотят. Но у меня не было особых проблем с svn и с git тоже не будет.
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Git vs SVN

Post by Alexander Troyansky »

kostik78 wrote: 29 Mar 2018 21:24
Вячеслав Викторович wrote: 29 Mar 2018 21:18 ну я как бы отвечаю за это обычно, уже несколько лет. сложности есть только у тех кто не умеет, но с git та же самая проблема.
Я не пользовался svn лет 15 уже...
Понятно... Initial release date: February 23, 2004...

более ранние версии гита были ещё хуже по съедобности (коммит 50 минут, Карл Константин). Какой смысл ворошить прошлое? Если бы сейчас выбирал, то пользовался однозначно только гитом. Лет 10 назад - у гита были серьёзные на больших репах.
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
User avatar
major Major Major Major
Уже с Приветом
Posts: 1386
Joined: 10 Jan 2000 10:01
Location: Хьюстон

Re: Git vs SVN

Post by major Major Major Major »

Мы на TFS сидим - основное преимущество это наличие source control, work item tracking, test case management & build/deployment в одном флаконе без плясок с бубном для интеграции всего этого вместе из кусочков. К примеру, код коммитится, к нему пристыковывается баг готорый был этим кодом пофиксен, реактивируется тест кейс который был сломан, в результате чего был создан баг который был закоммиченым кодом пофиксен. Все это отражается в графиках и отчетах. При этом TFS может в качестве конкретно source control использовать тот же Git. Мы так не делаем, вместо бранчей на каждый чих в родном TFS source control используются shelf sets + сколько угодно workspace, необходимости в git не ощущаю. Ни devopа, ни билд мастера, то есть никакого специально выделенного чела для обслуживания всего этого добра нет, просто не надо. Все работает и так
Big Cheese
Уже с Приветом
Posts: 1211
Joined: 02 Jul 2000 09:01
Location: SFBA

Re: Git vs SVN

Post by Big Cheese »

kostik78 wrote: 29 Mar 2018 21:24
Вячеслав Викторович wrote: 29 Mar 2018 21:18 ну я как бы отвечаю за это обычно, уже несколько лет. сложности есть только у тех кто не умеет, но с git та же самая проблема.
Я не пользовался svn лет 15 уже.
гости из будушшэго детектед! svn 15 лет исполнится в следующем году.
kostik78
Уже с Приветом
Posts: 3180
Joined: 17 May 2007 14:07

Re: Git vs SVN

Post by kostik78 »

Big Cheese wrote: 30 Mar 2018 00:47
kostik78 wrote: 29 Mar 2018 21:24
Вячеслав Викторович wrote: 29 Mar 2018 21:18 ну я как бы отвечаю за это обычно, уже несколько лет. сложности есть только у тех кто не умеет, но с git та же самая проблема.
Я не пользовался svn лет 15 уже.
гости из будушшэго детектед! svn 15 лет исполнится в следующем году.
Вы о чем господа ?

https://subversion.apache.org/docs/rele ... story.html
Subversion 0.37 (1.0.0-RC1) (25 Jan 2004): First release candidate for Subversion-1.0.0.

Subversion 0.14.2 (22 August 2002): Interim release; see issues marked with the "0.14.2" milestone.
Milestone 1 (20 October 2000): Basic working copy manipulation; client can checkout/update/commit using XML files.
kostik78
Уже с Приветом
Posts: 3180
Joined: 17 May 2007 14:07

Re: Git vs SVN

Post by kostik78 »

Alexander Troyansky wrote: 29 Mar 2018 23:19
Понятно... Initial release date: February 23, 2004...
А Вы вкурсе что версия 1.0 не значит первый юзабельный релиз. Многие успешные продукты долго жили в версиях < 1
Alexander Troyansky wrote: 29 Mar 2018 23:19
более ранние версии гита были ещё хуже по съедобности (коммит 50 минут, Карл Константин). Какой смысл ворошить прошлое? Если бы сейчас выбирал, то пользовался однозначно только гитом. Лет 10 назад - у гита были серьёзные на больших репах.
Не знаю. Я пользоваться гитом начал с тех пор как начал ковырялся в linux kernel. Подобных "ужасов" не помню.
User avatar
KVA
Уже с Приветом
Posts: 5382
Joined: 03 Feb 1999 10:01
Location: NJ, USA

Re: Git vs SVN

Post by KVA »

major Major Major Major wrote: 30 Mar 2018 00:18 Мы на TFS сидим - основное преимущество это наличие source control, work item tracking, test case management & build/deployment в одном флаконе без плясок с бубном для интеграции всего этого вместе из кусочков.
Вот и я о то том же. Меня просто поразило когда в моей старой конторе взяли вот это все налаженное, сломали и вместо этого начали лепить Git, Jira, TeamCity и прочая прочая с упрором на Lunux way. При том что контора на 90% Windows.
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Git vs SVN

Post by Alexander Troyansky »

kostik78 wrote: 30 Mar 2018 00:53
Alexander Troyansky wrote: 29 Mar 2018 23:19
Понятно... Initial release date: February 23, 2004...
А Вы вкурсе что версия 1.0 не значит первый юзабельный релиз. Многие успешные продукты долго жили в версиях < 1
Alexander Troyansky wrote: 29 Mar 2018 23:19
более ранние версии гита были ещё хуже по съедобности (коммит 50 минут, Карл Константин). Какой смысл ворошить прошлое? Если бы сейчас выбирал, то пользовался однозначно только гитом. Лет 10 назад - у гита были серьёзные на больших репах.
Не знаю. Я пользоваться гитом начал с тех пор как начал ковырялся в linux kernel. Подобных "ужасов" не помню.
Что со мной происходит... за два дня уже два раза подтасовал факты... Пришлось посмотреть записи (2011-й год). Ахтунг! Действительно, не было у гита проблем со скоростью (лично задокументировал при исследовании). Были проблемы у Меркуриала:
bash-3.00$ time hg update
0 files updated, 0 files merged, 0 files removed, 0 files unresolved

real 53m1.927s
user 19m8.274s
sys 4m13.723s


Subversion is more flexible and faster when it comes to updating particular folders, w/o involving the whole tree:

bash-3.00$ time svn up
At revision 9812.

real 0m0.646s
user 0m0.071s
sys 0m0.041s
Гит выкидывал песдецы похлеще, например, такие:
Counting objects: 98390, done.
Delta compression using up to 16 threads.
Compressing objects: 100% (90882/90882), done.
Writing objects: 100% (98390/98390), 1.09 GiB | 4.86 MiB/s, done.
Total 98390 (delta 40708), reused 0 (delta 0)
error: unable to write sha1 filename ./objects/pack/pack-73431a27625c28ea81523c3bec4ac80fdf146723.pa

fatal: failed to write object
fatal: unpack-objects failed
Братья по разуму в тырнете посоветовали...
$ git-prune
$ git-gc --aggressive
$ git-repack
$ git-repack -a
$ git-prune-packed
areyoufuckingserious? Ну ок... я немножко поплясал ещё с этим делом с различными магическими гитовскими заклинаниями, мне тогда не помогло. Ну и нах, так и остался со свином. Вчера пробовал - гит всосал, не подавившись. Ура справедливость восстановлена, но осадочек остался с тех пор.
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
User avatar
katit
Уже с Приветом
Posts: 23960
Joined: 05 Jul 2003 22:34
Location: Брест -> St. Louis, MO

Re: Git vs SVN

Post by katit »

KVA wrote: 30 Mar 2018 02:20
major Major Major Major wrote: 30 Mar 2018 00:18 Мы на TFS сидим - основное преимущество это наличие source control, work item tracking, test case management & build/deployment в одном флаконе без плясок с бубном для интеграции всего этого вместе из кусочков.
Вот и я о то том же. Меня просто поразило когда в моей старой конторе взяли вот это все налаженное, сломали и вместо этого начали лепить Git, Jira, TeamCity и прочая прочая с упрором на Lunux way. При том что контора на 90% Windows.
TFS денег стоит, а так да, почему нет
Лучше водки — хуже нет! ©

Return to “Вопросы и новости IT”