ClearCase
От: landerhigh Пират http://www.blinnov.com
Дата: 28.11.14 05:50
Оценка: +10 -1 :)))
В общем, получилось так, что перешел работать в команду, которая использует ClearCase.
Почитал инструкции, посмотрел на тулы, почитал эти ваши интернеты.

Обращаюсь за помощью к местным терапевтам — скажите, а то, что после недели знакомства с этим шедевром копро корпоративного софтотворения единственное мое желание — это бежать, и бежать прямо сейчас, бежать быстро, не оглядываясь, теряя на ходу вещи и бежать без остановки как можно дальше, нормально?

Или я кактус не распробовал? В таком случае приветствуется рецепт!
www.blinnov.com
Re: ClearCase
От: утпутуук  
Дата: 28.11.14 06:26
Оценка: +1
Здравствуйте, landerhigh, Вы писали:

L>Обращаюсь за помощью к местным терапевтам — скажите, а то, что после недели знакомства с этим шедевром копро корпоративного софтотворения единственное мое желание — это бежать, и бежать прямо сейчас, бежать быстро, не оглядываясь, теряя на ходу вещи и бежать без остановки как можно дальше, нормально?


Главное, чтобы стул на ходу не вываливался

L>Или я кактус не распробовал? В таком случае приветствуется рецепт!


Большого опыта в использовании продуктов Rational не имею, но тот, что есть, говорит мне, что продукты Rational — УГ, унылое чуть больше, чем полностью.
Раньше почитывал еще Гради Буча, но потом пришел к выводу, что пользы от его книжек нет, он их пишет для продвижения своих продуктов.
Re[2]: ClearCase
От: landerhigh Пират http://www.blinnov.com
Дата: 28.11.14 07:35
Оценка:
Здравствуйте, утпутуук, Вы писали:

У>Главное, чтобы стул на ходу не вываливался


И на прощание насрать под дверью серверной? Жаль, я не современный художник, ни инсталляцию сделать, ни перформанс провести не могу

L>>Или я кактус не распробовал? В таком случае приветствуется рецепт!


У>Большого опыта в использовании продуктов Rational не имею, но тот, что есть, говорит мне, что продукты Rational — УГ, унылое чуть больше, чем полностью.


До этого я только с Rose поигрался. Давно. В книжках оно выглядело как мегатул, который со дня на день всех зарулит, но первых пяти минут гуевой мышевозни хватило понять, что это мертворожденная идея.

У>Раньше почитывал еще Гради Буча, но потом пришел к выводу, что пользы от его книжек нет, он их пишет для продвижения своих продуктов.


+
www.blinnov.com
Re: ClearCase
От: VVV Россия  
Дата: 28.11.14 08:53
Оценка: 2 (1)
Здравствуйте, landerhigh, Вы писали:

L>Или я кактус не распробовал? В таком случае приветствуется рецепт!


Вполне вменяемая система. Спроси у коллег на предмет вводной лекции — за 15 минут всё станет понятно.

Возьми у коллег конфиг спеку и создай на её основе вьюху. Всё — уже можно работать.

Или по шагам примерно так:
Запускаешь ClearCase Home Base (иконка домик)
Вкладка VOBs — Mount VOB — монтируешь VOB с проектом.
Вкладка Views — Create View — создаёшь вьюху. Можно с дефолтным конфиг спеком (main/LATEST) или взять конфиг спек проекта у товарища. (У нас конфиг спеки также лежат в ClearCase и имеют метку билда, т.е. всегда можно взять спеку для нужной метки, вставить во вьюху и получить срез проекта по этой метке)
Вкладка Element and Versions — ClearCase Explorer — запускаешь эксплорер, на вкладке Views правой кнопкой Add View Shortcut — ищешь свою View и добавляешь шорткат, жмёшь на нём — всё, можно работать.

Всё это можно проделать и через командную строку, но так понятней.

---
Разработка. Тебе надо что-то исправить. Шаги такие.
ClearCase Home Base
Вкладка VOBs — Type Explorer — выбираешь свой проект и создаёшь имя бренча, в котором ты будешь производить разработку (у нас имя бренча это номер таски с дефектом, у вас тоже должно быть какое-то соглашение по этому поводу)
ClearCase Explorer — в конфиг спек вьюхи добавляешь
element ..... -mkbranch <имя_бренча>

Теперь можно на файлах делать checkout и исправлять их, затем checkin — новая версия будет в твоём бренче.

Как всё готово и код должен идти в продакшин, нужно смержить данные из твоего бренча с основным. На файле жмёшь Version Tree и Merge To — мержишь куда надо.

Надеюсь, это описание поможет разобраться с ClearCase.
Re[2]: ClearCase
От: landerhigh Пират http://www.blinnov.com
Дата: 28.11.14 09:00
Оценка:
Здравствуйте, VVV, Вы писали:

VVV>Вполне вменяемая система. Спроси у коллег на предмет вводной лекции — за 15 минут всё станет понятно.


Эээ.. мммм...

VVV>Возьми у коллег конфиг спеку и создай на её основе вьюху. Всё — уже можно работать.


VVV>Или по шагам примерно так:

[skip] Для автоматизации этого секса в гамаке у нас уже специальная тулза написана [/skip]

Ты лучше расскажи мне, почему в этом при чек-ине каждый файл чекинится отдельно? Как откатывать неудачный рефакторинг?
www.blinnov.com
Re: ClearCase
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 28.11.14 09:11
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>В общем, получилось так, что перешел работать в команду, которая использует ClearCase.

Система тяжёлая, для тяжёлых процессов со сложным CM, это тебе не rebase в гите делать .
Самое просто это спросить у пацанов workflow паттёрны и работать по ним разбираясь в устройстве и проникаясь.
Sic luceat lux!
Re[2]: ClearCase
От: landerhigh Пират http://www.blinnov.com
Дата: 28.11.14 09:36
Оценка: +1
Здравствуйте, Kernan, Вы писали:

K>Система тяжёлая, для тяжёлых процессов со сложным CM, это тебе не rebase в гите делать .


Пока что мне кажется, что это еще один случай процесса ради процесса

K>Самое просто это спросить у пацанов workflow паттёрны и работать по ним разбираясь в устройстве и проникаясь.


Ну так пацаны сами плавают. А гуру не всегда доступен.
Сетевые тормоза уже оценил, да.
www.blinnov.com
Re[3]: ClearCase
От: VVV Россия  
Дата: 28.11.14 10:39
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Ты лучше расскажи мне, почему в этом при чек-ине каждый файл чекинится отдельно? Как откатывать неудачный рефакторинг?


Я думал ты новичок в ClearCase, а ты оказывается флейма ради и 'душу излить' для.

По шагам: неудачный рефакторинг _не_должен_ попадать в основной бранч. Все юнит-тесты и код-ревью и все остальные мероприятия должны быть пройдены до мержа в основной бранч. Каждый неудачный случай должен быть разобран на общем собрании и выработана процедура, чтобы такого не повторилось. Например, у нас билд выпускается _каждую_ неделю, 'неудачный рефакторинг', однако, происходит не чаще раза в год-два, притом что над проектом работают несколько десятков человек и каждую неделю код мержат 5-6 человек. Потому как есть записанная процедура по внесению изменений в проект — анархии не допускается.

Зачем чекинить отдельно?? Merge Manager автоматом мержит и чекаутит. Затем, так же можно разом всё зачекинить (через Search checkout, например).
Re[4]: ClearCase
От: landerhigh Пират http://www.blinnov.com
Дата: 28.11.14 12:44
Оценка: 5 (2) +9
Здравствуйте, VVV, Вы писали:

L>>Ты лучше расскажи мне, почему в этом при чек-ине каждый файл чекинится отдельно? Как откатывать неудачный рефакторинг?


VVV>Я думал ты новичок в ClearCase, а ты оказывается флейма ради и 'душу излить' для.


Я новичок в СС (и надеюсь таковым и остаться), но ИМХО (имею мнение хрен оспоришь), что если девелоперу, который с закрытыми глазами работает в TFS, CVS, svn, git (и даже, не к ночи будет помянут, VSS), предлагается "изучать" работу с еще одной новой системой, то с этой системой есть определенный проблемы.

Вот я спросил про атомарный (транзакционный) чек-ин, а ты попытался объяснить мне, что это мне не нужно.

VVV>По шагам: неудачный рефакторинг _не_должен_ попадать в основной бранч. Все юнит-тесты и код-ревью и все остальные мероприятия должны быть пройдены до мержа в основной бранч.


У нас разное понимание рефакторинга. (Имей в виду, что для меня юнит-тесты само собой разумеются, они прогоняются во время каждого билда, поэтому больше на них обращать внимание даже не буду) Для меня рефакторинг — это много очень частых и очень мелких чекинов (безотносительно бранча, подобная работа обычно в любом случае идет в своей ветке). Бывает в день по 10-15 в особо простых случаях. Переименовал класс/метод, как результат — изменение в 12 файлах? Убрал ставший ненужным параметр? Выделил метод/функцию? Убрал кусочек копипасты? Выделил интерфейс? Все это — очень простые изменения, но при этом они могут затрагивать большое количество файлов проекта.
Зачекинь не отходя от кассы! Если этого не сделать и продолжить "рефакторинг" в другой области, можно наделать еще изменений в этих же файлах. А потом увидеть, что второе изменение — неправильное и его надо бы откатить, да автоматически откатить уже никак, не потеряв результаты первого рефакторинга.
Более того, особенно в случае особо окаменевшего говнокода, при глубоком рефакторинге может оказаться, что изменения, внесенные два чекина назад, сильно усложняют данный конкретный модуль и имеет смысл откатить изменения назад и зайти с другой стороны.
Подобный неудачный рефакторинг всего лишь одна из неизбежных ожидаемых сторон итеративной разработки. Не бойся изменять код! Лучше попробовать, ошибиться и откатиться, чем целую неделю безрезультатно тупить в монитор.
В какой момент делать код ревью, дело десятое. Если выделяется ветка для рефакторинга (переработки фичи), то имеет смысл код-ревью отнести на момент слияния. В каких-то случаях резонно проводить быстрое ревью после каждой короткой итерации (например, в случае, если работает новичок или код вызывает вопросы).

VVV>Каждый неудачный случай должен быть разобран на общем собрании и выработана процедура, чтобы такого не повторилось.


Если каждый неудачный случай в рефакторинге рассматривать на совещании и вырабатывать процедуры, то совещалка отломается, а рассматривалка вообще сгниет

VVV>Например, у нас билд выпускается _каждую_ неделю, 'неудачный рефакторинг', однако, происходит не чаще раза в год-два, притом что над проектом работают несколько десятков человек и каждую неделю код мержат 5-6 человек. Потому как есть записанная процедура по внесению изменений в проект — анархии не допускается.


Мы говорим о разных вещах — ты о сломанном билде, я о процессе итеративной разработки.

VVV>Зачем чекинить отдельно?? Merge Manager автоматом мержит и чекаутит. Затем, так же можно разом всё зачекинить (через Search checkout, например).


Смотри выше.
www.blinnov.com
Re: ClearCase
От: dwebster Россия  
Дата: 28.11.14 12:45
Оценка: +1 :)
Здравствуйте, landerhigh, Вы писали:

L>В общем, получилось так, что перешел работать в команду, которая использует ClearCase.


У меня значительный опыт использования ClearCase.
Это как Оракл — мощная, но аскетичная система. Как тут уже писали — предназначена, как и все продукты Rational, для использования в хорошо поставленных "тяжелых" процессах (CMM 3+), с большими продуктами (миллионы строк). Для всяких Scrum-ов и Agile-ов не подходит.
Но когда я перешел в другую фирму, где юзали SVN, SVN мне показался какой-то игрушкой для детишек )
Отредактировано 28.11.2014 12:50 dwebster . Предыдущая версия . Еще …
Отредактировано 28.11.2014 12:49 dwebster . Предыдущая версия .
Re[3]: ClearCase
От: . Великобритания  
Дата: 28.11.14 12:53
Оценка:
Здравствуйте, landerhigh, Вы писали:

VVV>>Вполне вменяемая система. Спроси у коллег на предмет вводной лекции — за 15 минут всё станет понятно.

L>Эээ.. мммм...
Угу.
Практически давно почивший CVS, да ещё и от IBM. Система, отставшая от IT лет на 20.

L>Ты лучше расскажи мне, почему в этом при чек-ине каждый файл чекинится отдельно?

Потому что она file based. Все операции производятся только над отдельным файлом.

L>Как откатывать неудачный рефакторинг?

Никак. Не делай рефакторинг. Надо сразу писать безбажную нетленку. Ты слышал слово refactoring в каком-нибудь IBM RUP?
А ещё старайся запихивать всё в один файл, т.к. много файлов — много тормозов.

На предыдущей работе тоже было это оно, в итоге я написал bash-скрипт как плагин к git, чтобы вести разработку в git, а с CC изредка синхронизироваться.
Этим плагином и другие стали пользоваться, очень помогало переезду на git. Когда я уходил, некоторые проекты уже начали перетаскивать.
К сожалению исходники там и остались (блин, надо было тупо в github выложить), но могу идеи рассказать как я сделал этот плагин, если интересно.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[4]: ClearCase
От: landerhigh Пират http://www.blinnov.com
Дата: 28.11.14 12:59
Оценка:
Здравствуйте, ., Вы писали:

.>Практически давно почивший CVS, да ещё и от IBM. Система, отставшая от IT лет на 20.


То-то поиск по CC на "переполнении стека" вываливает кучу топиков, закрытых как неконструктивные

L>>Как откатывать неудачный рефакторинг?

.>Никак. Не делай рефакторинг. Надо сразу писать безбажную нетленку. Ты слышал слово refactoring в каком-нибудь IBM RUP?
.>А ещё старайся запихивать всё в один файл, т.к. много файлов — много тормозов.

Ой. Ты даже не представляешь, как много это объясняет!

.>На предыдущей работе тоже было это оно, в итоге я написал bash-скрипт как плагин к git, чтобы вести разработку в git, а с CC изредка синхронизироваться.

.>Этим плагином и другие стали пользоваться, очень помогало переезду на git. Когда я уходил, некоторые проекты уже начали перетаскивать.
.>К сожалению исходники там и остались (блин, надо было тупо в github выложить), но могу идеи рассказать как я сделал этот плагин, если интересно.

Что-то похожее на это, нет?
www.blinnov.com
Re[2]: ClearCase
От: . Великобритания  
Дата: 28.11.14 13:03
Оценка: +2
Здравствуйте, dwebster, Вы писали:

L>>В общем, получилось так, что перешел работать в команду, которая использует ClearCase.


D>У меня значительный опыт использования ClearCase.

D>Это как Оракл — мощная, но аскетичная система. Как тут уже писали — предназначена, как и все продукты Rational, для использования в хорошо поставленных "тяжелых" процессах (CMM 3+), с большими продуктами (миллионы строк). Для всяких Scrum-ов и Agile-ов не подходит.
D>Но когда я перешел в другую фирму, где юзали SVN, SVN мне показался какой-то игрушкой для детишек )
Мощная она только по требуемым ресурсам: time, hardware, human. Непонятно как оно рассчитано на миллионы строк. У нас в проекте было около 10000+ файлов, dynamic view создавался "быстро" (всего минут 15), но каждая компиляция занимала больше часа. Поэтому приходилось создавать static view, занимало около 5 часов (если, конечно по таймауту не падало, тогда пару дней уходило). Да ещё и update view занимал около 30 минут.
Видимо оно будет нормально работать только если у тебя 50 файлов по 20000 строк каждый.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[2]: ClearCase
От: landerhigh Пират http://www.blinnov.com
Дата: 28.11.14 13:05
Оценка: +3
Здравствуйте, dwebster, Вы писали:

D>Это как Оракл — мощная, но аскетичная система. Как тут уже писали — предназначена, как и все продукты Rational, для использования в хорошо поставленных "тяжелых" процессах (CMM 3+), с большими продуктами (миллионы строк).


То есть для похожих говен мамонтов, в которые уже перестали добавлять новую функциональность, потому что никто не знает, что и где оно поломает?

D>Для всяких Scrum-ов и Agile-ов не подходит.


Иными словами — для продуктивной работы не подходит

D>Но когда я перешел в другую фирму, где юзали SVN, SVN мне показался какой-то игрушкой для детишек )


Удобная тулза и должна выглядеть как игрушка, работа с ней не должна напрягать совершенно. А еще тулза должна сидеть тихо и не отсвечивать, пока не позовут.
www.blinnov.com
Re[3]: ClearCase
От: dwebster Россия  
Дата: 28.11.14 13:13
Оценка:
Здравствуйте, ., Вы писали:

.>Мощная она только по требуемым ресурсам: time, hardware, human. Непонятно как оно рассчитано на миллионы строк. У нас в проекте было около 10000+ файлов, dynamic view создавался "быстро" (всего минут 15), но каждая компиляция занимала больше часа. Поэтому приходилось создавать static view, занимало около 5 часов (если, конечно по таймауту не падало, тогда пару дней уходило). Да ещё и update view занимал около 30 минут.

.>Видимо оно будет нормально работать только если у тебя 50 файлов по 20000 строк каждый.

Я ClearCase не админил, а только юзал. Работали над проектами с десятками тысяч файлов, никаких проблем не возникало. Чекаут, апдейт — все проходило быстро. Т.е. все вопросы к CC админу.
Re[5]: ClearCase
От: . Великобритания  
Дата: 28.11.14 13:17
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>То-то поиск по CC на "переполнении стека" вываливает кучу топиков, закрытых как неконструктивные

По-моему, он давно больше не развивается. Сейчас IBM-овцы пытаются всем впаривать RTC. Слава богу на моей прежней работе отказались, выбрали git.

L>Ой. Ты даже не представляешь, как много это объясняет!

Так что забудь всякую ересь типа рефакторинга и аджайл, читай RUP. 0.5 водки и 5 ударов головой об стену в день думаю сможет привести мозг в правильное состояние, запишись в бокс, ходи без шлема. Если надо срочно, попробуй лоботомию.

.>>На предыдущей работе тоже было это оно, в итоге я написал bash-скрипт как плагин к git, чтобы вести разработку в git, а с CC изредка синхронизироваться.

.>>Этим плагином и другие стали пользоваться, очень помогало переезду на git. Когда я уходил, некоторые проекты уже начали перетаскивать.
.>>К сожалению исходники там и остались (блин, надо было тупо в github выложить), но могу идеи рассказать как я сделал этот плагин, если интересно.
L>Что-то похожее на это, нет?
Да, примерно. Я ещё попытался это сделать более менее вменяемо и согласованно с обычным git workflow, и даже в каком-то виде изобразить атомарные чекины. И ещё как-то поборол evil twins (или ты не сталкивался ещё?). А у вас там CQ есть?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[3]: ClearCase
От: dwebster Россия  
Дата: 28.11.14 13:17
Оценка: -3 :))
Здравствуйте, landerhigh, Вы писали:

L>То есть для похожих говен мамонтов, в которые уже перестали добавлять новую функциональность, потому что никто не знает, что и где оно поломает?


Ю ду нот андерстенд что такое RUP и для каких проектов он применяется. Это проекты класса Бортовой компьютер самолета, система управления электростанцией или производственной линией, ПО для медицинского оборудования, проекты NASA и т.д. В таких сферах твои представления о разработке и рефакторинге невообразимо наивны.
Отредактировано 28.11.2014 13:19 dwebster . Предыдущая версия . Еще …
Отредактировано 28.11.2014 13:19 dwebster . Предыдущая версия .
Re[6]: ClearCase
От: landerhigh Пират http://www.blinnov.com
Дата: 28.11.14 13:23
Оценка:
Здравствуйте, ., Вы писали:

L>>То-то поиск по CC на "переполнении стека" вываливает кучу топиков, закрытых как неконструктивные

.>По-моему, он давно больше не развивается. Сейчас IBM-овцы пытаются всем впаривать RTC. Слава богу на моей прежней работе отказались, выбрали git.

Чувствую, впишу в резюме "компаниям, использующим один или более продуктов из списка Rational.*, ClearCase, IBM Lotus Notes, просьба не беспокоить".

L>>Ой. Ты даже не представляешь, как много это объясняет!

.>Так что забудь всякую ересь типа рефакторинга и аджайл, читай RUP. 0.5 водки и 5 ударов головой об стену в день думаю сможет привести мозг в правильное состояние, запишись в бокс, ходи без шлема. Если надо срочно, попробуй лоботомию.

Пошел-ка я вещички лучше собирать, пока по шею не затянуло. Ботинки только жалко, выкинуть придется, не отмыть уже.

L>>Что-то похожее на это, нет?

.>Да, примерно. Я ещё попытался это сделать более менее вменяемо и согласованно с обычным git workflow, и даже в каком-то виде изобразить атомарные чекины. И ещё как-то поборол evil twins (или ты не сталкивался ещё?). А у вас там CQ есть?

Не-не-не, я умываю руки. На полном серьезе.
www.blinnov.com
Re[4]: ClearCase
От: . Великобритания  
Дата: 28.11.14 13:26
Оценка:
Здравствуйте, dwebster, Вы писали:

.>>Мощная она только по требуемым ресурсам: time, hardware, human. Непонятно как оно рассчитано на миллионы строк. У нас в проекте было около 10000+ файлов, dynamic view создавался "быстро" (всего минут 15), но каждая компиляция занимала больше часа. Поэтому приходилось создавать static view, занимало около 5 часов (если, конечно по таймауту не падало, тогда пару дней уходило). Да ещё и update view занимал около 30 минут.

.>>Видимо оно будет нормально работать только если у тебя 50 файлов по 20000 строк каждый.

D>Я ClearCase не админил, а только юзал. Работали над проектами с десятками тысяч файлов, никаких проблем не возникало. Чекаут, апдейт — все проходило быстро. Т.е. все вопросы к CC админу.

Админов CC там несколько команд было. Я работал в большой компании (около 100к работников), географически распределённой, там хостилось куча проектов, больше 1000. Может поэтому.
Но всё равно непонятно. Когда делаешь апдейт, он с каждым файлом ходит в сеть. 10000 запросов по сети не могут работать быстро в принципе.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[4]: ClearCase
От: . Великобритания  
Дата: 28.11.14 13:30
Оценка: +2 :))) :)
Здравствуйте, dwebster, Вы писали:

L>>То есть для похожих говен мамонтов, в которые уже перестали добавлять новую функциональность, потому что никто не знает, что и где оно поломает?


D>Ю ду нот андерстенд что такое RUP и для каких проектов он применяется. Это проекты класса Бортовой компьютер самолета, система управления электростанцией или производственной линией, ПО для медицинского оборудования, проекты NASA и т.д. В таких сферах твои представления о разработке и рефакторинге невообразимо наивны.

Ты забыл уточнить: Атомной электростанцией.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.