Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Религиозные войны > <cvs> vs <svn> vs <git> vs <others>


Автор: JackYF 26.11.2007, 19:50
Итак, let's flame begin!

CVS - древнее и не нужно, SVN наше всё.

Автор: nickless 26.11.2007, 23:58
Проголосовал за svn и git.
svn потому что сейчас пользуюсь, всё удобно и мне одному вполне хватает.
git потому что пробовал, хорошо работает и если важна распределённость просто незаменим.

Автор: December 27.11.2007, 00:28
Работаю в svn (дома) и StarTeam (на работе). И там и там свой геморрой...

Автор: mr.DUDA 27.11.2007, 10:29
SVN, хоть там и нет такой штуки как shelve changes из TFS, и с директориями свн тупит.

Автор: Lazin 27.11.2007, 10:36
а как же Rational?

Автор: bel_nikita 27.11.2007, 11:05
CVS - один раз попробывал, ниче-так. В итоге использую SVN  smile 

Автор: mr.DUDA 27.11.2007, 13:37
SVN под винду честно говоря рубит тем, что есть только 1 нормальный клиент и тот в виде shell extension - Tortoise SVN.

Автор: Maksym 27.11.2007, 17:12
Цитата(mr.DUDA @  27.11.2007,  12:37 Найти цитируемый пост)
SVN под винду честно говоря рубит тем, что есть только 1 нормальный клиент и тот в виде shell extension - Tortoise SVN. 

Он полнофункциональный и стабильный, зачем другой?
Под Eclipse: Subclipse -- отличный плагин, все делает. Замеченная проблема -- медленный revert (намного медленее Tortoise'а).


Автор: mr.DUDA 27.11.2007, 18:05
Если бы не долгое задумчивое пережёвывание структуры директорий после запуска компа, и не отсутствие возможности нормально переместить/удалить/заигнорить всю директорию целиком с вложенными, тогда Tortoise SVN был бы идеалом. Про эклипсу сказать не могу, но попробованные мной плагины для Visual Studio друг с другом несовместимы, тупят и глючат посильнее чем Tortoise.

Автор: LSD 27.11.2007, 22:37
Цитата(mr.DUDA @  27.11.2007,  13:37 Найти цитируемый пост)
SVN под винду честно говоря рубит тем, что есть только 1 нормальный клиент и тот в виде shell extension - Tortoise SVN.

Лично меня полностью устраивает SmartSVN. Правда моя IDE сама умеет работать с SVN и мне надо лишь изредка делать checkout/commit вне ее.

Автор: Maksym 27.11.2007, 23:42
Цитата(mr.DUDA @  27.11.2007,  17:05 Найти цитируемый пост)
если бы не долгое задумчивое пережёвывание структуры директорий после запуска компа

Да, виндовый эксплорер иногда из-за него подтормаживает. И часто без принудительного обновления папки не подхватывает то, что сам только что сделал (иконки не всегда изменяются после update, например). Но в целом -- хороший софт.

Автор: JackYF 28.11.2007, 17:32
Цитата(mr.DUDA @  27.11.2007,  13:37 Найти цитируемый пост)
что есть только 1 нормальный клиент и тот в виде shell extension - Tortoise SVN.


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

Автор: bilbobagginz 28.11.2007, 22:40
Цитата(JackYF @  28.11.2007,  17:32 Найти цитируемый пост)
я пользовался отличным дефолным консольным svn-клиентом под винду, графических клиентов контроля версий вообще не признаю. 

a default ный клиент под винду это не source-safe ? smile

я проголосовал за git и svn.
свинка - работает не плохо. всё хорошо, но мы из распределенных систем любим всё распределенно smile поэтому скоро перескочим на git.

( кстати название прикольное, git на наглийском - довольно обидное ругательство ... что то вроде 'чудак на букву м' )

Говорят есть еще продукты и проекты, которые легкли в основу git, вот их хотел бы потрогать тоже - BitKeeper, Monotone
monotone - открытый код. бит-кипер - проприетарный.


Автор: LSD 29.11.2007, 00:03
Цитата(bilbobagginz @  28.11.2007,  22:40 Найти цитируемый пост)
a default ный клиент под винду это не source-safe ?

SourceSafe стоит денег, да и зачем в ОС для конечного пользователя система контроля версий.

Автор: mr.DUDA 29.11.2007, 18:29
Цитата(JackYF @  28.11.2007,  17:32 Найти цитируемый пост)
я пользовался отличным дефолным консольным svn-клиентом под винду, графических клиентов контроля версий вообще не признаю.

Проект большой?

Автор: Wanderer2019 30.11.2007, 10:30
TFS

Автор: Royan 30.11.2007, 13:32
Пользуюсь дома SVN через HTTP (для этого поставил модуль апачи) всем доволен. Сейчас на работе Perforce (P4) мое впечатление - бодяга страшная, очень неудобный, но он тут типа стандарта и вообще говорят, что вещь мощная многоплатформенная и т.д. много крупных контор его пользуют, но как известно в крупных конторах могут заставить даже на кактусах сидеть, мотивируя это повышением концентрации рабочей единицы

Автор: mr.DUDA 1.12.2007, 13:48
Цитата(Wanderer2019 @  30.11.2007,  10:30 Найти цитируемый пост)
TFS

Вещь. smile 

З.Ы. но свин всё равно лучше

Автор: JackYF 7.12.2007, 20:54
Цитата(mr.DUDA @  29.11.2007,  18:29 Найти цитируемый пост)
Проект большой? 

Нет.

Цитата(bilbobagginz @  28.11.2007,  22:40 Найти цитируемый пост)
a default ный клиент под винду это не source-safe

не надо мне этого гм... клиента.


Цитата(Wanderer2019 @  30.11.2007,  10:30 Найти цитируемый пост)
TFS 

wtf?


Автор: mr.DUDA 8.12.2007, 10:59
JackYF, TFS это Team Foundation Server. Включает в себя source control с хранением в БД SQL Server и интегрированный в Visual Studio. Там ещё много чего есть.

Для небольшого проекта command line не критично, а вот если у нас десятки-сотни вложенных директорий с кучей файлов... в командной строке работать будет убийством, ИМХО smile 

Автор: JackYF 8.12.2007, 16:16
Цитата(mr.DUDA @  8.12.2007,  10:59 Найти цитируемый пост)
Включает в себя source control с хранением в БД SQL Server и интегрированный в Visual Studio. Там ещё много чего есть.

Гм... а консольный клиент есть? Работать без Visual studio можно? на хостинг эту штуку повесить можно?

Цитата(mr.DUDA @  8.12.2007,  10:59 Найти цитируемый пост)
Для небольшого проекта command line не критично, а вот если у нас десятки-сотни вложенных директорий с кучей файлов... в командной строке работать будет убийством, ИМХО

Имею мнение с точностью до наоборот... Графические клиенты контроля версий не понимаю в принципе. Как количество файлов повлияет на удобность работы? Ты же не все файлы одновременно редактируешь. Всё равно коммит/diff у тебя будет состоять из нескольких файлов.

Автор: mr.DUDA 9.12.2007, 17:51
Цитата(JackYF @  8.12.2007,  16:16 Найти цитируемый пост)
Гм... а консольный клиент есть? Работать без Visual studio можно? на хостинг эту штуку повесить можно?

Есть. Можно. Можно (но нужен свой хостинг, с sharepoint и TFS  smile).

Цитата(JackYF @  8.12.2007,  16:16 Найти цитируемый пост)
Имею мнение с точностью до наоборот... Графические клиенты контроля версий не понимаю в принципе. Как количество файлов повлияет на удобность работы? Ты же не все файлы одновременно редактируешь. Всё равно коммит/diff у тебя будет состоять из нескольких файлов.

Самое первое что приходит в голову - по иконке видно, какие файлы содержат изменения. Diff гуишный удобнее текстового, особенно для больших файлов. Делая коммит можно просмотреть изменения файлов и откатить что-то оставленное ненужное изменение или просто убрать галку с файлов которые коммитить не надо. Просмотр истории по коммитам и файлам, с комментариями. И т.д. и т.п.

Автор: JackYF 30.12.2007, 21:14
Цитата(mr.DUDA @  9.12.2007,  17:51 Найти цитируемый пост)
Есть. Можно. 

И то хорошо smile


Цитата(mr.DUDA @  9.12.2007,  17:51 Найти цитируемый пост)
Самое первое что приходит в голову - по иконке видно, какие файлы содержат изменения. Diff гуишный удобнее текстового, особенно для больших файлов. Делая коммит можно просмотреть изменения файлов и откатить что-то оставленное ненужное изменение или просто убрать галку с файлов которые коммитить не надо. Просмотр истории по коммитам и файлам, с комментариями. И т.д. и т.п.

ну не знаю - как кому smile дифф состоит из текста - графика к нему ничего не добавит.

Добавлено через 1 минуту и 56 секунд
Ошибиться в текстовой команде, набрав 10 лишних символов, скоммитив лишний файл - весьма проблематично. Ошибиться кнопкой гуя или тыкнуть мышкой в соседний файл - очень даже вероятно. Всё имхо, конечно же.

Автор: archimed7592 26.1.2008, 11:01
Цитата(JackYF @  30.12.2007,  21:14 Найти цитируемый пост)
дифф состоит из текста - графика к нему ничего не добавит.

Скажи честно, ты TortoisMerge хотя бы издалека видел? smile

Добавлено через 3 минуты и 7 секунд
По теме - SVN. Работал с CVS - чуть не повесился. До остального руки пока не доходили...

Автор: Lazin 26.1.2008, 11:30
Цитата(archimed7592 @  26.1.2008,  11:01 Найти цитируемый пост)
По теме - SVN. Работал с CVS - чуть не повесился. До остального руки пока не доходили... 

аналогично, на меркуриал начал поглядывать, но пока безрезультатно..

Автор: JackYF 26.1.2008, 13:22
Цитата(archimed7592 @  26.1.2008,  10:01 Найти цитируемый пост)
Скажи честно, ты TortoisMerge хотя бы издалека видел?

Нет. Как и любую графическую приблуду для систем контроля версий.
Можешь запулить в меня скриншотом или описанием, что такого может предоставить графическая приблуда?

Автор: archimed7592 26.1.2008, 13:42
JackYF, я сейчас как раз, в свободное от работы время пытаюсь систематизировать перевод документации Qt и очень хорошо ощущаю все прелести графических "приблуд" smile.
Вот скрин:http://ipicture.ru/Gallery/Viewfull/402605.html

По умолчанию то что слева выделено цветом, помимо прочего ещё и перечёркнуто, но я отрубил, ибо для данной задачи неудобно.

Автор: JackYF 26.1.2008, 13:59
Безотносительно, кстати, данной конкретной приблуды, мне смотреть дифф в таком формате неудобно.
Цитата

diff -u 3
 рулит. Ну это субъективно.

Цитата(archimed7592 @  26.1.2008,  12:42 Найти цитируемый пост)
Вот скрин

Теперь объективно smile Тебе встречный вопрос - ты vimdiff видел?

Автор: archimed7592 26.1.2008, 14:00
Нет, давай показывай smile.

Автор: mr.DUDA 26.1.2008, 14:16
Гм... а как мерджить и резолвить конфликты без гуя?  smile 

Автор: archimed7592 26.1.2008, 14:18
mr.DUDA, кстати, не знаешь такого гуя, чтобы позволял на месте редактировать конфликтные места(помимо возможности взять одну из версий куска или обе)? А то, в случае Tortoise приходится, к сожалению, открывать файл в редакторе.

Автор: JackYF 26.1.2008, 15:17
Цитата(archimed7592 @  26.1.2008,  13:00 Найти цитируемый пост)
Нет, давай показывай

http://ipicture.ru/uploads/080126/1FPufZcQ0U.png

Цитата(mr.DUDA @  26.1.2008,  13:16 Найти цитируемый пост)
Гм... а как мерджить и резолвить конфликты без гуя?

эээ... смержили, получили файл с двумя противоречивыми вариантами, один из вариант убиваем, второй оставляем, коммитим ещё раз. Всё. Что-то я проблемы не понял...

Добавлено через 1 минуту и 17 секунд
ну и svn merge, svn ci - если конфликтов нет.

Автор: archimed7592 26.1.2008, 15:28
Цитата(JackYF @  26.1.2008,  15:17 Найти цитируемый пост)
эээ... смержили, получили файл с двумя противоречивыми вариантами, один из вариант убиваем, второй оставляем, коммитим ещё раз. Всё. Что-то я проблемы не понял...

А разве merge копипастит оба варианта? Ну, даже если так - эти конфликты ещё найти в файле нужно smile.

Добавлено через 2 минуты и 44 секунды
Цитата(JackYF @  26.1.2008,  15:17 Найти цитируемый пост)
http://ipicture.ru/uploads/080126/1FPufZcQ0U.png

Ну, почти то же самое, что и Tortoise, только внизу нет возможности смотреть на разницу в виде "одно под другим", т.е. нужно глазками бегать smile.

А редактировать "на месте" он позволяет?

Автор: JackYF 26.1.2008, 15:36
Цитата(archimed7592 @  26.1.2008,  14:28 Найти цитируемый пост)
А редактировать "на месте" он позволяет? 

да.

Цитата(archimed7592 @  26.1.2008,  14:28 Найти цитируемый пост)
Ну, даже если так - эти конфликты ещё найти в файле нужно

помню, что cvs помечает что-то типа ">>>>>>" ("<<<<<") - найти легко.
svn - не знаю, не сталкивался ещё с конфликтами smile

Цитата(archimed7592 @  26.1.2008,  14:28 Найти цитируемый пост)
Ну, почти то же самое, что и Tortoise, только внизу нет возможности смотреть на разницу в виде "одно под другим", т.е. нужно глазками бегать 

угу. Видишь ли, как я уже говорил, мне так вообще неудобно smile я дифф-файл смотрю с подстветкой, мне хватает smile так что мне пофиг...

Автор: mr.DUDA 26.1.2008, 17:58
Цитата(archimed7592 @  26.1.2008,  13:18 Найти цитируемый пост)
акого гуя, чтобы позволял на месте редактировать конфликтные места(помимо возможности взять одну из версий куска или обе)? А то, в случае Tortoise приходится, к сожалению, открывать файл в редакторе.

Дык тартилла (Tortoise) умеет это и довольно неплохо, и не только для конфликтов а вообще для любых изменений между 2мя версиями. На твоём скриншоте тыкаешь правкликом по любой подсвеченной области, выбираешь "Use this text block"  smile  В нижнем окне показывается окончательный текст. Потом жмякаем сохранить файл, и всё. В случае конфликтов можно быстро пробежаться по красным участкам и выбрать какие блоки текста юзать, причём можно взять оба (типа "Use their block before mine" и наоборот), а можно и править руками в текстовом редакторе как JackYF предлагает. В общем вариантов хватает.

Автор: archimed7592 26.1.2008, 18:03
mr.DUDA, я имел ввиду, есть ли возможность в тартиле помимо перечисленных тобой(и упомянутых мною) возможностей ещё возможность править руками файл? Грубо говоря, может ли тартила-мерж, помимо прочего ещё выступать в качестве текстового редактора? Потому что если ты видишь, что конфликт такой, что нужно немного подправить руками, то приходится делать оба куска, после чего искать их в файле и править(выкидывать понемного от обоих кусков или что-то другое, что требует контекст).

Автор: mr.DUDA 27.1.2008, 13:52
Нет, до такого этот дифф не дорос.

Автор: archimed7592 27.1.2008, 14:27
Цитата(mr.DUDA @  27.1.2008,  13:52 Найти цитируемый пост)
Нет, до такого этот дифф не дорос. 

Есть, который вырос? smile 

Автор: nickless 27.1.2008, 17:55
Цитата(archimed7592 @  27.1.2008,  12:27 Найти цитируемый пост)
Есть, который вырос?

vimdiff smile 

Автор: mr.DUDA 27.1.2008, 18:12
Цитата(archimed7592 @  27.1.2008,  13:27 Найти цитируемый пост)
Есть, который вырос?

Отсутствие чего-либо не означает обязательного присутствия его где-либо ещё. (С)  smile 

Может есть тулзы получше, но по крайней мере для svn-а кроме тартиллы таких не видел. А дифф у тартиллы свой, какой есть smile

Автор: archimed7592 28.1.2008, 03:39
Цитата(nickless @  27.1.2008,  17:55 Найти цитируемый пост)
vimdiff 

Под винду есть? Чтобы поставить его и завести, мне не придётся полдня в настройках копошиться?

Автор: JackYF 28.1.2008, 12:36
Цитата(archimed7592 @  28.1.2008,  02:39 Найти цитируемый пост)
Чтобы поставить его и завести, мне не придётся полдня в настройках копошиться?


не знаю, у меня из коробки smile как повезёт smile

Автор: archimed7592 28.1.2008, 13:09
Цитата(JackYF @  28.1.2008,  12:36 Найти цитируемый пост)
у меня из коробки smile

Ты же не переносишь всю эту графическую приблуду smile.

Автор: JackYF 28.1.2008, 13:27
Цитата(archimed7592 @  28.1.2008,  12:09 Найти цитируемый пост)
Ты же не переносишь всю эту графическую приблуду

vimdiff из коробки, ты про что подумал? smile

Автор: nickless 28.1.2008, 22:42
Цитата(archimed7592 @  28.1.2008,  01:39 Найти цитируемый пост)
Под винду есть?

Не знаю, скорее всего да, поставь vim под винду, и запусти 
Код

vim -d file1 file 2

Автор: archimed7592 28.1.2008, 22:44
Поставил, запустил. Не распознаёт UTF-8 файлы, даже с сигнатурой. Полчаса искал, где поменять кодировку - так и не нашёл...

Автор: nickless 28.1.2008, 22:46
Ну или
Код

gvim /d file1 file2

не знаю как он там в винде вызывается smile

Добавлено через 3 минуты и 49 секунд
Цитата(archimed7592 @  28.1.2008,  20:44 Найти цитируемый пост)
Не распознаёт UTF-8 файлы, даже с сигнатурой. Полчаса искал, где поменять кодировку - так и не нашёл... 

Код

:set fileencoding=utf-8

Зы, у него на сайте не зря написано "It is a tool, the use of which must be learned" smile 

Автор: GrayCardinal 29.1.2008, 10:48
Хм. Предпочитаю кучку tar'gzip'ов Однако иногда приходится юзать SVN (юзеры требуют)

Автор: archimed7592 29.1.2008, 10:58
Цитата(GrayCardinal @  29.1.2008,  10:48 Найти цитируемый пост)
Предпочитаю кучку tar'gzip'ов

Это типа project.bad, project.bad2, project.good и т.п... Знаем, знаем, проходили smile.

Автор: GrayCardinal 29.1.2008, 12:56
archimed7592, 
Не. Просто скриптик, пакует в файлики с текущей датой... Всё. Просто и цинично.

Автор: mr.DUDA 29.1.2008, 13:35
Цитата(GrayCardinal @  29.1.2008,  11:56 Найти цитируемый пост)
скриптик, пакует в файлики с текущей датой... Всё.

А рядом текстовые файлики лежат с инфой, что добавлено/исправлено в каждой версии  smile  smile 

Автор: mr.DUDA 3.2.2008, 23:32
SVN побеждает! УРА, товарищи !!!  smile 

Автор: bilbobagginz 3.2.2008, 23:50
Цитата(archimed7592 @  26.1.2008,  15:28 Найти цитируемый пост)
Ну, почти то же самое, что и Tortoise, только внизу нет возможности смотреть на разницу в виде "одно под другим", т.е. нужно глазками бегать smile.

ни фига есть флажок. можно side-by-side,  а можно горизонтально.
для side-by-side:
Код

vimdiff file1 file2

для вертикального:
Код

vimdiff -o file1 file2


Добавлено через 9 минут и 36 секунд
Цитата(GrayCardinal @  29.1.2008,  12:56 Найти цитируемый пост)
Не. Просто скриптик, пакует в файлики с текущей датой... Всё. Просто и цинично.

a backup куда ?
svn это же не только ценный мех....
логи всех коммитов, реверть к любой ревизии,
ветки, тэги...
там уже можно статистики снимать - как часто коммитишь, сколько меняешь за коммит, сколько ляпов, сколько фича заняла коммитов до прохода юнит-теста....
можно конечно и на одной rcs остаться, если 1 работаешь.

Автор: archimed7592 4.2.2008, 00:02
Цитата(bilbobagginz @  3.2.2008,  23:50 Найти цитируемый пост)
для вертикального:

Можно скрин?

Автор: JackYF 4.2.2008, 00:14
вот... http://ipicture.ru/uploads/080204/7Ze1ogdhyV.png

Автор: archimed7592 5.2.2008, 03:27
Цитата(JackYF @  4.2.2008,  00:14 Найти цитируемый пост)
вот...

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

Автор: JackYF 5.2.2008, 16:09
Цитата(archimed7592 @  5.2.2008,  02:27 Найти цитируемый пост)
Посмотри на тот единственный скрин, что я выкладывал чуть раньше - там в самом низу одна под другой показаны две текущих строки. Текущая - это та, на которую наведена мышка, либо, та на которую попали "перечислением" различий.


я это всё видел. Это к bilbobagginzу smile

Автор: mr.DUDA 23.3.2008, 11:25
В последней версии тартиллы переделали merge, теперь например можно править файлик руками  smile 

Автор: kamre 30.3.2008, 08:04
В последнее время пользуюсь http://www.selenic.com/mercurial/wiki. Также как и git является DVCS, но с кросплатформенностью у него получше. А для merge, когда при слиянии возникает конфликт, запускается программа, какую настроишь. Например, под виндой мне нравятся вот эти: http://winmerge.org/2.6/index.php и http://www.araxis.com/merge/overview1.html. А в линуксе http://kdiff3.sourceforge.net/ и http://www.caffeinated.me.uk/kompare/ весьма неплохи из гуевых.

Автор: archimed7592 9.4.2008, 21:43
Цитата(mr.DUDA @  23.3.2008,  11:25 Найти цитируемый пост)
В последней версии тартиллы переделали merge, теперь например можно править файлик руками  smile  

Где? Как? Не нашёл... smile 

Автор: mr.DUDA 11.4.2008, 10:52
archimed7592, эммм.. как оказалось, новый merge будет в 1.5.0

http://tortoisesvn.net/status

Цитата
Some of those features are:
...
TortoiseMerge now allows editing of files, not just selecting lines from the original version. It also has an UNDO function, and can finally read files with inconsistent newlines without problems.


Был даже скриншот в новостях, теперь найти не могу.  smile 

Автор: archimed7592 11.4.2008, 11:28
Чёгт...

Автор: HalkaR 22.4.2008, 11:12
SVN
Кстати для Студии есть VisualSVN плагин интегрирующий TortoiseSVN в студию.

Автор: mr.DUDA 25.4.2008, 09:55
он платный  smile 

Автор: LSD 25.4.2008, 11:35
Цитата(mr.DUDA @  25.4.2008,  10:55 Найти цитируемый пост)
он платный

А студия значит бесплатная? smile

Автор: Lazin 25.4.2008, 11:40
Попробовал http://bazaar-vcs.org/, понравилось, намного проще чем git или mercurial, при этом распределенный. Легко использовать тем кто знаком с svn.

Автор: JackYF 25.4.2008, 14:05
Цитата(Lazin @  25.4.2008,  10:40 Найти цитируемый пост)
Попробовал bazaar

Кстати, надо будет глянуть smile Хотя и subversion почти всем устраивает.

Автор: Lazin 25.4.2008, 14:39
Цитата(JackYF @  25.4.2008,  14:05 Найти цитируемый пост)
Хотя и subversion почти всем устраивает

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

Автор: mr.DUDA 25.4.2008, 18:59
Цитата(LSD @  25.4.2008,  11:35 Найти цитируемый пост)
А студия значит бесплатная?

[offtop] А мы экспресс бесплатный юзаем !  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)