Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет yigal_s ([info]yigal_s)
@ 2009-07-09 19:17:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
программистское - Clearcase, Svn и все все все.
в продолжение к http://yigal-s.livejournal.com/441855.html

Товарищи и господа программисты и админы, вот скажите мне, почему вы не любите/ругаете ClearCase, зато все как один рекомендуете Subversion и прочие Git-ы?

И опять же, если Subversion так хорош, то чем хуже Perforce?

Я, наверное, чего-то очень сильно не понимаю и торможу. Помогите разобраться, а?

Лично я, чем более осваиваю Perforce, тем чаще добрым словом вспоминаю ClearCase, а когда я узнал, что branching в SVN делается так же, как и в Perforce, то стало мне очень и очень грустно.

----

Upd: Что касается моих претензий к ClearCase, они в основном относятся к UCM-моду, который вроде бы претендует на упрощение менеджмента проектов (вплоть до устранения dedicated clearcase person) и предлагает готовую-универсальную методологию девелопмента, относительно которой вполне справедливо замечание "гладко было на бумаге". Практически, частенько приходилось, позабыв про этот самый UCM-мод, возвращаться к старому доброму Base ClearCase и делать на нём ручками то, чего UCM адекватно (в самом обычном, не вычурном процессе девелопмента) сделать не мог.

Ну и мелкие недоработочки... в сложной системе они и разруливаются порой непросто.

Upd2: Ну и еще один момент стоит записать (а то, покинув ClearCase, скоро это забуду). В ClearCase UCM есть великолепная фича - Components. Как бы, можно разбить код на компоненты, реюзать их в разных проектах, играться с версиями компонент итд итп. Всё офигительно. Одна мелочь: файлы из компоненты в компоненту нельзя переносить без полной потери истории. Предлагается все компоненты запланировать заранее (гы-гы-гы), бо редизайн чреват потерей истории.


(Добавить комментарий)


[info]spamsink@lj
2009-07-09 13:34 (ссылка)
С ClearCase я имел дело только в 1993-1996 годах, потом ни в одной компании ни у кого на нее не было или денег, или времени, или и того, и другого. Он был приятен, но если база гавкалась по какой-либо причине, то сильно и надолго, и все это долгое время администратор что-то там корпел вручную. За 13 лет все могло измениться, правда.

С Perforce дела не имел, не умудрил господь.

(Ответить) (Ветвь дискуссии)


[info]yigal_s@lj
2009-07-09 17:40 (ссылка)
увы, денег на перфорс нужно много. и сервера нужны не слабые, если всерьез развлекаться.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yigal_s@lj
2009-07-09 17:41 (ссылка)
в смысле, не на перфорс, а на clearcase

(Ответить) (Уровень выше)


[info]kot_begemot@lj
2009-07-09 14:05 (ссылка)
ClearCase - это кошмарный монстр. Без нескольких человек, занимающихся только и исключительно его поддержкой, он просто не работает.
Для обычного девелопера в большинстве случаев оказываются невозможны или запрещены элементарные операции (например - создание бранчей или лейблов, я уж не говорю о мерджах).
С Perforce не работал, но SVN и даже CVS позволяют делать всё, что нужно в процессе девелопмента, при этом не создавая ненужных сложностей.

(Ответить) (Ветвь дискуссии)


[info]yigal_s@lj
2009-07-09 14:25 (ссылка)
на фирме, где ClearCase очень круто использовали, его и админил, и менеджил проекты всего один человек.

У нас вообще был приходящий консультант + пара обученных программистов, этого вполне хватало.

На невозможность создать бренч или лейбл работая под обычным юзером на обеих фирмах никогда не натыкался.

(Ответить) (Уровень выше)


[info]yigal_s@lj
2009-07-09 14:55 (ссылка)
мерджи, разумеется, тоже делались.

Но то, что CC - монстр, я готов согласиться. Но не кошмарный. :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kot_begemot@lj
2009-07-09 15:18 (ссылка)
На самом деле, главная моя претензия к ClearCase была (и остаётся) связана с тем, что они на ровном месте городят невесть что, причём совершенно непонятно, зачем.
В SVN всё предельно просто и прозрачно, никаких дополнительных сущностей не изобретается, и всё работает.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yigal_s@lj
2009-07-09 15:21 (ссылка)
а по моему, делать бренчи в виде поддиректорий - это маразм.

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

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kot_begemot@lj
2009-07-09 16:09 (ссылка)
Во-первых, всегда можно переместить старый бранч. Во-вторых, иерархия довольно-таки плоская как правило. Ну и, наконец, что мешает ненужные бранчи удалить?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yigal_s@lj
2009-07-09 16:13 (ссылка)
в принципе, переместить можно. А потом еще раз переместить. И еще. И всё это навсегда сохранится в дереве версий, зачем-то.

Я не говорю о ненужности бренча, бренч может быть нужен для истории, чтобы заглядывать в него раз в пол-года.

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

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kot_begemot@lj
2009-07-09 16:20 (ссылка)
Что значит "сидит"? Если ему не делают чекаут, так и не сидит. Мало ли что там есть в репозитории?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yigal_s@lj
2009-07-09 16:21 (ссылка)
так при интенсивном бренчинге или долгих проектах репозиторий получится довольно замусоренным. об этом речь.

(Ответить) (Уровень выше)


[info]yigal_s@lj
2009-07-09 16:22 (ссылка)
причем замусоренным так, что разгести не удастся.

Ну разве что удалять бренчи, или переносить их с места на место (с записью в истории файла этого факта)

(Ответить) (Уровень выше)


[info]yigal_s@lj
2009-07-09 15:25 (ссылка)
опять же, замечательная особенность ClearCase состоит в том, что операция создания нового бренча для проекта имеет константную околонулевую стоимость, в то время как в SVN придется для каждого файла прописывать, что он присутствует в новом бренче. Что есть довольно таки маразм.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kot_begemot@lj
2009-07-09 16:07 (ссылка)
Бред. Ничего не надо прописывать. Бранч создаётся всегда от всего дерева, поэтому все файлы автоматически присутствуют в новом бренче.
Бренч создаётся командой svn copy, которая вообще ничего не стоит - за счёт copy-on-write.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yigal_s@lj
2009-07-09 16:16 (ссылка)
> создаётся всегда от всего дерева, поэтому все файлы автоматически присутствуют в новом бренче.

Branch для файла в ClearCase создается ТОЛЬКО тогда, когда файл в этом бренче первый раз модифицируется. До этого события там этого бренча вообще нет. :-)

> Бренч создаётся командой svn copy, которая вообще ничего не стоит

Еще раз, под SVN для каждого файла прописывается, что он присутствует в новом бренче. Я ж не говорю о копировании всех мегабайт файла, я говорю, что апдейтится "дерево версий" каждого файла. А вот в СС оно не апдейтится вообще никак.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kot_begemot@lj
2009-07-09 16:52 (ссылка)
Насколько я знаю, в SVN происходит ровно то же самое. Т.е. дерево версий глобально и всегда включает все файлы. Только в тот момент, когда файл в бранче первый раз изменяется, он реально добавляется в дерево.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yigal_s@lj
2009-07-09 17:38 (ссылка)
Ну в принципе, если подумать, да, такая оптимизация возможна и в системе, где брэнч=директория. Теоретически, по крайней мере.

(Ответить) (Уровень выше)


[info]yigal_s@lj
2009-07-09 16:27 (ссылка)
> Бренч создаётся командой svn copy, которая вообще ничего не стоит - за счёт copy-on-write.

В смысле? Это на диске пользователя делается файл copy-on-write? Я правильно понял?

Ежели так - очень круто.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kot_begemot@lj
2009-07-09 16:55 (ссылка)
Нет, только в репозитории. При чекауте создаются копии естественнно.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yigal_s@lj
2009-07-09 17:34 (ссылка)
ну репозиторию вообще разумнее хранить диффы. И вообще, как там хранятся файлы в репозитории - это имплементационные частности, главное - константная околонулевая стоимость тех или иных операций. А не линейная.

(Ответить) (Уровень выше)


[info]yigal_s@lj
2009-07-09 15:29 (ссылка)
Мне также интересно, хорошо ли SVN обращается с мерджем удаленных или переименованных файлов/перемещенных дирректорий.

ClearCase это делал неплохо, а вот Perforce (в рамках концепта "переименование - это ветвление и убийство старого файла") тут просто сосёт, кажецо. Интересно, у SVN тут та же концепция? ;-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kot_begemot@lj
2009-07-09 16:11 (ссылка)
А зачем удалённые файлы мерджить? Если нужно откатиться назад за момент удаления - то и файл будет существовать, так что мерджить его легко.
То же и с переименованными файлами и директориями - ось времени-то общая для всех.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yigal_s@lj
2009-07-09 16:20 (ссылка)
Насчет удалённых - я погорячился.

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

А как? У Perforce с этим как бы проблема нешуточная, если я не путаюсь.

(Ответить) (Уровень выше)


[info]alex_golder@lj
2009-07-25 17:54 (ссылка)
А что они смогли нагородить? Кроме управления составом файлов в директориях?
Мерж он везде есть. Что еще?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yigal_s@lj
2009-07-26 09:46 (ссылка)
мне кажется, основные претензии противников CC заключаются в том, что бренчи в нём - отдельные сущности.

В то время как в CVS и его дальнейших развитиях бренч - это "лишь просто" копия файла в другую поддиректорию.

(Ответить) (Уровень выше)


[info]juan_gandhi@lj
2009-07-11 19:52 (ссылка)
Clearcase - требует специально обученного админа; юзера-программисты постоянно путаются в конфигспеках; единственный плюс - красивая картинка дерева версий (если фокусироваться на этой херне вместо того чтоб делом заниматься).
Perforce - вполне приличная система; если знать ключики, то получается многое; в Гугле её обернули в хорошую обёртку, и вообще проблем практически не было;
svn - ноль секунд адаптации: встал и пошел, и вопросов нет; единственно что достаёт: написал чендж, сабмитишь, оно фейлится - и всё описание пропало. Вот это достаёт.

(Ответить) (Ветвь дискуссии)


[info]yigal_s@lj
2009-07-13 12:41 (ссылка)
Во! У нас теперь люди вместо того, "чтоб делом заниматься", смотрят на дерево Перфорса и не понимают, что эти цыферки значат. Бо ни комментария, ни автора чекина ни названия сабмита, ни даже меток билдов - ничего на этом дереве нет.

То есть, пока работается, на дерево нафиг смотреть не надо, разумеется, но уж если понадобилось посмотреть, то в перфорсе выплывает полный облом.

(Ответить) (Уровень выше)


[info]alex_golder@lj
2009-07-25 17:50 (ссылка)
Жалко юзеров :)
Администратор должен быть обученный - это факт (или опытный). Конфиг-спеками пользователи в НОРМАЛЬНОЙ обстановке не оперируют, а оперируют понятием "профиль". А конфиг спеки им "рисует" тот самы администратор.
На дерево точно смотреть не надо - оно нужно для "разбора полетов" и ПОНИМАНИЯ того, что творится с конкретным файлом проекта.
К перфорсу и сабвершену вопросов нет - хорошие системы, в то же время простые. Но у них немного другая идеология... по мне слишком упрощенная :)

(Ответить) (Уровень выше)