Если вы хотите, чтобы ваше намерение обрабатывалось только приложением электронной почты (а не другими приложениями для обмена текстовыми сообщениями или социальными приложениями), то используйте действие ACTION_SENDTO
и включите схему данных «mailto:». Например:
public void composeEmail(String[] addresses, String subject) {
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("mailto:")); // only email apps should handle this
intent.putExtra(Intent.EXTRA_EMAIL, addresses);
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
Я нашел это в https://developer.android.com/guide/components/intents-common.html#Email
You can find a good comparison between ClearCase and Git in my SO answer:
"What are the basic ClearCase concepts every developer should know?", illustrating some major differences (and some shortcomings of ClearCase)
The most single important shortcoming of ClearCase is its old "file-centric" approach (as opposed to "repository-centric" like in SVN or Git or Perforce...)
That means each checkout or check-in is done file per file. The atomicity of operation is at file levels.
Combine that with a very verbose protocol and a network with potentially several nodes between the developer workstation and the VOB server, and you can end up with a fairly slow and inefficient file server (which ClearCase is at its core).
File-per-file operations means: slow recursive operations (like recursive checkout or recursive "add to source control", even by clearfsimport
).
A fast LAN is mandatory to mitigate the side-effects of that chatty protocol.
The other aspect to take into account is its centralized aspect (even though it can be "distributed" with its multi-site replicated VOB feature)
Если сеть не разрешает доступ к VOB, разработчики могут:
Вы можете получить некоторую функцию распределенной VCS, реплицируя Vob.
But:
As mentioned in "How to Leverage ClearCase’s features", dynamic views are great (a way to see data through the network without having to copy them to the disk), but the main feature remain UCM: it can be a real asset if you have big project with complex workflow.
Some shortcomings on that front:
Using ClearCase without using UCM means having to define a policy to:
cleartool find
" requests...ClearCase right management is entirely built on system rights.
Это означает, что вам необходимо зарегистрировать своего пользователя в правильной системной группе, что не всегда легко сделать, когда вам нужно ввести билет в свою ИТ-службу, чтобы они могли правильно зарегистрироваться.
Add to that an heterogeneous environment (users on Windows, and server on Unix), and you need to register your user on Unix as well as Windows! (with the same login/group name). Unless you put some sort of LDAP correspondence between the two world (like Centrify)
cleartool
" is the ClearCase Command Line Interface), meaning that any script (in Perl or other language) consists in parsing the output of those cleartool
commands)The View storages are the equivalent of the ".svn" of SubVersion, exept there is only one "view storage" per view instead of many .svn in all the directories of a SubVersion workspace. That is good.
What is bad is that each operations within a view (a simple "ls
", checkout, checking, ...) will trigger a network request to the view_server process that manages your view server.
2 options:
The first mode means: you have to backup yourself your work in progress (private files or checked-out files)
The second mode means: your workstation can be unavailable, you can just log on another a get back your views (execpt for the private files of a snapshot view)
Side discussion about dynamic views:
To add to the "dynamic view" aspect, it has one advantage (it's dynamic) and one shortcoming (it's dynamic).
Dynamic views are great for setting a simple environment to quickly share a small development between a small team: for a small development effort, a dynamic view can help 2 or 3 developers to constantly stay in touch one with another, seeing instantly when one's commit breaks something in the other views.
Для более сложных разработок предпочтительна искусственная «изоляция», обеспечиваемая просмотром снимка (вы видите изменения только тогда, когда обновляете - или «обновляете» - свое представление снимка)
For real divergent development effort or course, a branch is still required to achieve true code isolation (merges will be required at some point, which ClearCase handles very well, albeit slowly, file-by-file)
The point is, you can use both, for the right reasons.
Note: by small team I do not mean "small project". ClearCase is best used for large project, but if you want to use dynamic views, you need to setup up "task branches in order to isolate a small development effort per branch: that way a "small team" (a subset of your large team) can work efficiently, sharing quickly its work between its members.
If you use dynamic views on a "main" branch where everyone is doing anything, then any check-in would "kill you" as it could introduced some "build breaks" unrelated with your current development effort.
Тогда это было бы плохим использованием динамических представлений, и при этом были бы забыты другие его применения:
Я бы предложил SVN для набора инструментов и Git для масштабирования / рабочего процесса. Я также предлагаю по возможности избегать CC. (Не считая денег, тот факт, что пользоваться им так неудобно, что требуется постоянный администратор, - полная шутка)
Производительность.
ClearCase мощный, стабильный (если правильно обслуживается и контролируется), но он медленный. Иногда геологические.
Виды динамических представлений приводят к ужасным временам построения, представления снимков могут занять много времени для обновления (перерыв на обед для больших проектов) или оформления заказа (уходите домой на день).
Мой опыт работы с ClearCase был катастрофой, и я поддержу заявление Дона о том, что для этого требуется постоянный эксперт - к сожалению, у нас их было несколько. У меня был опыт работы с CVS и другими системами контроля версий, я был знаком с концепциями, но нашел документацию ClearCase непонятной, и мне пришлось несколько раз просить о помощи; разные эксперты дали мне противоречивые советы до такой степени, что мы фактически сломали cd . То есть, после того как я ввел команду ClearCase в оболочке UNIX, команда "cd" завершилась ошибкой
. Основная задача системы контроля версий действительно довольно проста. Честно говоря, я думаю, что полдюжины команд должно хватить, используя файловую схему, которая хорошо сочетается с другими. Для меня ClearCase выглядит как результат того, что руководитель отдела маркетинга намеренно усложняет все, чтобы продукт выглядел сложным и мощным. Я слышал, что его можно настроить так, чтобы он работал простым, безопасным и надежным способом, но опять же, для этого требуются услуги эксперта - прямо из коробки это похоже на моторизованный швейцарский армейский нож.
Стоимость является довольно очевидным недостатком. Не только стоимость лицензии, но и стоимость зарплаты гуру ClearCase. Почти в каждой известной мне компании, использующей ClearCase, кажется, есть по крайней мере один человек, единственная цель которого - приручить непокорного зверя.
Сам факт того, что это достаточно сложно, чтобы требовать постоянной няни, также беспокоит.
Everything I have done in Clearcase always seems hard. Whereas, I've never had that impression with other systems(except maybe CVS on occasion).
I've used SVN, CVS, Clearcase, and Mercurial.
Самым большим недостатком для меня является как производительность (особенно, если ваш VOB - это мультисайтовый или внешний), так и потенциально длительные простои.
Если вы похожи на меня и работаете в относительно небольшом в офисе в составе крупной компании (без ИТ-отдела), выход из строя серверов Clearcase может стоить вам большей части рабочего дня из-за непроизводительной работы, а также привлечения нужных людей для ремонта.
Итог, используйте это только в том случае, если он вам действительно нужен для того, что вы делаете, и убедитесь, что у вас есть солидный ИТ-бюджет для его обслуживания.
Я не категорически против ClearCase (он есть ' s преимущества), но перечислим недостатки:
ClearCase снаружи кажется чрезвычайно мощным. Но на самом деле, просто количество команд и параметров, которые вам нужно использовать для основного рабочего процесса, настолько велико, что они скрываются за несколькими псевдонимами или скриптами, и вы получаете что-то менее мощное, чем CVS, с удобством использования Visual Source. Безопасно. И каждый раз, когда вы хотите сделать что-то более сложное, чем позволяют ваши сценарии, у вас возникает болезненное ощущение в животе.
Сравните это с Git, который со стороны кажется сложным, но после недели работы с ним вы чувствуете полностью под контролем. Модель репозитория проста для понимания и невероятно эффективна. Поскольку до гайки и болта легко добраться, на самом деле приятно копать под поверхностью повседневного рабочего процесса.
Например, На выяснение тривиальной задачи, например, как просто просмотреть не-HEAD версию файла в режиме моментального снимка, у меня ушло несколько часов, и в итоге я получил полный взлом . Не самый приятный вид взлома.
Но в Git выяснение, казалось бы, сложной задачи, например, как интерактивно зафиксировать только некоторые изменения (а остальное оставить на потом) было большим развлечением, и все время у меня ощущение, что VCS позволяет мне организовать код и историю таким образом, который мне подходит, а не история как случайность того, как мы использовали VCS. «Git означает, что никогда не нужно говорить« вам следует иметь »» .
В своей работе я использую Git для всех видов легких задач, даже в ClearCase. Например, я использую TDD и передаю Git всякий раз, когда проходит несколько тестов и я собираюсь провести рефакторинг. Когда задача в конечном итоге выполнена, я проверяю ClearCase, и Git помогает мне точно проверить, что я меняю. Просто попробуйте заставить ClearCase произвести различие между парой файлов - он не может! Используйте Google, чтобы узнать о различных хитростях, которые люди пытались обойти. Это то, что система управления версиями должна делать из коробки, и это должно быть легко! CVS использует это десятилетиями!
Atomic commits and changesets are my biggest gripes against ClearCase. Let's say you check in five files as part of a bug fix or refactoring. Then it is discovered that something got messed up and you need to revert. Good luck finding which five files they are and what version each one needs to be on. But let's take a step back. You have just finished editing those five files, and it's time to commit. The first four go through just fine. That last one requires a massive merge. The other four files are already checked in. They don't wait for you to finish your necessary changes in the last file. I sure hope that no one updated or is using a dynamic view. A continuous integration build server is going to fail too.
Sometimes we make a whole new directory full of files that need to be checked in, but we don't want to check them in until they are done. It's early and everything is still volatile, so why check things in that you might delete very soon? OK, fine so far. Now it's time to check in. You add the newly created folder to source control. Well, ClearCase isn't recursive, so only that single folder is checked in. With SVN, that folder and everything below it is added, as you choose. The developer needs to remember to add everything, otherwise, a lot of files are going to be missing.
ClearCase owns the files and folders so you cannot modify anything unless you have checked it out first. The eclipse plugin takes away a lot of the nuisance here. I can't tell you how many times I opened a file in vi to make a quick change, only to find that I had forgotten to check it out first. Checkout isn't recursive either.
Updates can be painfully slow without changesets. When you update with a snapshot view, every file updates, not just the modified files. I worked on a project with 20,000+ files. I would remote in to my work machine, start the update, then drive to work; get coffee; go to my desk while it was finishing up. That might sound like an exaggeration, but it sadly isn't.
Dynamic views are terrible unless you are in a very small team. And if that's the case, why do you even have ClearCase? I have seen countless people's views getting hosed because someone checked in files that broke the views of everyone else. You should always update and merge any conflicts on your own view. That way, the changes only affect you. With a dynamic view, you cannot merge down before pushing back up; you just commit and hope.
I know cost probably isn't a big concern, but the developers who make the money for the company would enjoy spending the $50k-$100k (depending on ClearQuest license, which is a common addition) on either fun events or new equipment (chairs, monitors, etc.). IBM recommends having staff to keep ClearCase going. Why not re-purpose those people to generate revenue for the company, instead of making sure things don't crash and burn?
Some of the reasons that I have heard for not switching:
Единственное, что ClearCase делает лучше остальных, - это разветвляет отдельные файлы, сохраняя при этом остальные на том же пути, что и другая ветвь.
Возможно, я буду здесь один, но ClearCase не так уж и плох, как все говорят. Он может обрабатывать огромных хранилищ. Динамический просмотр - тоже довольно крутая и мощная функция. Он надежен, его можно настраивать путем добавления триггеров и ограничений на основе файла pef, разрешений и т. Д.
К сожалению, он имеет свою цену, большую цену. Это дорого и требует правильной настройки и обслуживания специальной ИТ-командой. Это действительно хорошо для BigCo, но не очень разумный выбор для SmallFirm.
Я большой поклонник DVCS и git, но могу понять, почему BigCo предпочел ClearCase SVN и Git. Чего я не могу понять, почему кто-то предпочел SVN Git;>
Запуск JDK из VOB в Linux.
Попробуйте, вам нужно поиграть с переменной LD_PRELOAD (я знаю!)
ClearCase отлично подходит для использования, если вы хотите использовать еще одну систему контроля версий поверх нее! Лично я считаю, что использование Mercurial поверх CC работает достаточно хорошо.
Недавно мне пришлось столкнуться с подобной ситуацией. Может быть, вы сможете извлечь уроки из моей истории.
Команда, в которую меня недавно назначили, использовала тяжелый инструмент запутанным, подверженным ошибкам способом. Сначала я попытался продать им свои инструменты и процессы. Эта попытка с треском провалилась. Я был ошеломлен тем, что они предпочли такую обременительную среду более простой и эффективной. Оказывается, они хотели быть дисциплинированными и, используя болезненный процесс, чувствовали себя дисциплинированными. Звучит странно, но это правда. У них тоже было много других заблуждений. После того, как я понял, что им нужно, мы фактически остановились на том же наборе инструментов (Серена), но сильно изменили его настройку.
Мой вам совет - выяснить, что важно для вашей команды. Копирование ClearCase ни к чему не приведет, если вы не поговорите с их интересами. Также выясните, почему они не хотят использовать альтернативы. По сути, сделайте небольшой сбор требований и приспособьте свой выбор инструментов к вашим потребностям.
Clearcase настолько раздражает, что на самом деле заставляет людей писать стихи о нем:
http://digital-compulsion.blogspot.com/2007/01/poetic-pathetic-version-control .html
http://grahamis.com/blog/2007/01/24/if-it-was-free-no-one-would-download-it/
На мой взгляд? Единственная причина иметь это? Если вы неукоснительно следуете RUP.
Недостатки ClearCase - добавление к самому подробному посту здесь.
Инструмент слияния бесполезен. Он почти не помогает вам, не запоминает никаких решений, которые вы принимали, это просто прославленная разница.
Инструмент слияния должен проверять каталоги, чтобы даже ПРОВЕРИТЬ, если они нуждаются в слиянии. Это немного безумие.
Я использую BitKeeper на работе (предположим, Git), и объединение двух репозиториев, даже если есть конфликты, настолько тривиально и удобно для пользователя даже с помощью командной строки, в то время как ClearCase, имеющий множество инструментов с графическим интерфейсом, - длинный и трудоемкий процесс, который также чрезвычайно подвержен ошибкам.
Все инструменты с графическим интерфейсом требуют огромной задержки. Даже просмотр того, что можно сделать с файлом, требует высокоскоростного соединения. Таким образом, щелчок правой кнопкой мыши в инструменте ClearCase по файлу, работающему из дома, может занять минуту или две при наличии высокоскоростного Интернета из-за чрезмерного количества сетевых требований.
Кто-то может полностью испортить репозиторий или проверки, если они сделают их точка зрения отличается от спецификаций команды. Что совершенно безумно, что никто не может просто проверить какую-то ветку; им нужна соответствующая спецификация просмотра, которая, кстати, даст им нужные вещи. Вся концепция может быть красивой и гибкой, но в 99% случаев она вызывает много боли. Я упоминал, что вы не можете отправить свою спецификацию по электронной почте через Microsoft Outlook, поскольку инструменты CC не принимают UTF-8, поэтому вы не можете скопировать и вставить его?
У меня нет абсолютно ничего , о чем можно сказать хорошего CC. Я использовал его в течение 2 лет в 2 компаниях и бросил его в мгновение ока, чувствуя себя все время счастливым. Также невозможно просто поэкспериментировать дома со своими собственными проектами, поэтому вы все равно будете изучать SVN или Git дома и будете вынуждены проходить через боли ClearCase на работе. Никто из моих знакомых никогда не использовал CC добровольно. Они используют его только потому, что какой-то менеджер на работе решил, что CC - это путь к спасению, и заставил всех перейти на него. Фактически моя последняя компания перешла с CVS на ClearCase, а через год с ClearCase на SVN. Это было то, что ненавидели.
ClearCase - это не просто одна вещь, которая заставляет вас сказать «нет». Это как жить в доме, кишащем муравьями. Каждый муравей доставляет в лучшем случае лишь незначительное неудобство, но заражение сведет вас с ума.
Поддержка ужасная. Билеты открыты уже много лет. Наш гуру eclipse фактически исправил ошибку в своем плагине eclipse локально примерно за 30 минут, дизассемблировав файл java. Но билет все еще не получил поддержки первого уровня. Время от времени они либо пытаются украдкой закрыть его, либо отправляют нам эхо-запрос «попробовать последнюю версию» (хотя мы отправили им рецепт воспроизведения, который они могли бы попробовать сами).
Не прикасайтесь к нему шест для отталкивания баржи.
Я пытаюсь объединить несколько комментариев в настоящий пост здесь. Я здесь не для того, чтобы убеждать вас в том, что один лучше другого, за исключением того, что хочу отметить несколько моментов:
ClearCase - прекрасный инструмент, но это сложный инструмент. Здесь не обойтись - у него нет режима «простой установки». :-) С технической точки зрения, нет ничего такого, что может сделать git или SVN, чего не может ClearCase (хотя часто терминология отличается, поскольку проекты с открытым исходным кодом имеют тенденцию просто изобретать новую таксономию там, где она уже существует), но некоторые вещи определенно проще / сложнее для данной системы, в зависимости от их дизайна. Представления «моментальных снимков» ClearCase - это в основном то же самое, что и при извлечении репозитория из SVN или CVS - это локальная копия исходного кода на вашем компьютере с указателями обратно на центральный сервер для инструментов для запроса истории версий, и т. д. Вы можете работать с этими представлениями без какого-либо сетевого подключения к серверу ClearCase сразу после их создания, и вы можете «переработать» их, чтобы избежать повторной загрузки всего репозитория, когда вы хотите перейти для работы в другой ветке, для пример. «Динамические просмотры» - это, по сути, изобретение ClearCase и стандартный рабочий режим для локальной сети. Они выглядят так же, как проверка репозитория SVN, но на самом деле они не копируют никаких файлов, пока вы не внесете изменения. Таким образом, представление становится доступным немедленно, но, очевидно, с ним нельзя работать, если основной сервер в открытом виде недоступен, и с ним неприятно работать через соединение с высокой задержкой. У них также есть удобство того, что они могут быть смонтированы как сетевой диск на любой машине с доступом к серверу, на котором они были созданы, поэтому, если ваша рабочая станция Windows умирает, вы можете просто войти на другую, смонтировать свое представление и получить вернуться к работе, поскольку все файлы хранятся либо на сервере VOB (для файлов, которые вы не изменяли в этой ветке), либо на view_server (для файлов, которые вы создали или изменили только в этом представлении).
Кроме того, и это заслуживает отдельного абзаца .... clearmerge почти стоит только цены входа. Это лучший инструмент слияния, который я когда-либо использовал в своей жизни. Я твердо уверен, что из-за отсутствия высококачественных инструментов слияния появилось много плохих практик в SCM, поэтому пользователи CVS так и не научились правильно использовать ветки, и этот страх перед ветвлением распространился до сегодняшнего дня без особо веских причин.
Хорошо, все, что было сказано, если вы ищете причины не использовать ClearCase, их нетрудно найти, хотя я думаю, что это неправильный путь. На самом деле вам нужно найти веские причины для использования ClearCase, а не причины НЕ использовать ClearCase. Вы должны входить в любую ситуацию SCM, предполагая, что ClearCase - это слишком много инструмента или слишком сложный инструмент для работы, а затем посмотрите, есть ли у вас ситуация, которая побуждает вас в любом случае использовать его. Наличие логотипов IBM или Rational не является уважительной причиной ..: -)
Я бы даже не стал рассматривать ClearCase, если бы вы не сказали «да» на все следующие утверждения:
Нет атомарных коммитов
После того, как вы отметили файлы, очень сложно вернуться к определенному состоянию, потому что атомарные коммиты не поддерживаются. При регистрации нескольких файлов каждый файл получает новую ревизию (аналогично CVS), а не саму регистрацию. Я думаю, что это важная функция, потому что вам вряд ли нужно возвращать отдельные файлы, а выполнять действия фиксации (которые должны отображать задачи). С ClearCase вы можете вернуться к определенным состояниям только с помощью меток. На практике использование ClearCase Labels для каждой регистрации является излишним, и поэтому не делается.
Дрянный пользовательский интерфейс
Графический интерфейс ClearCase Explorer - это просто большая шутка. Ужасно с точки зрения удобства использования и некрасиво выглядит. Не предусмотрены различные и часто необходимые функции (например, рекурсивная проверка проработанных артефактов). Инструмент командной строки cleartool, используемый с cygwin, намного лучше, но все же некоторые вещи недоступны, например, рекурсивное добавление новых файлов / папок в систему управления версиями. Мне придется смеяться над головой, если я прочитаю сценарий длиной 50 строк, чтобы обойти эту проблему.
Высокие усилия по администрированию
Администрирование ClearCase - далеко не очевидное или легкое занятие (в отличие от других scm-систем, таких как CVS, subversion или Git). Ожидайте, что придется нанять немало преданных экспертов ClearCase, чтобы просто поддерживать его работу.
Ужасная производительность
Нет ничего хуже, чем заставлять ваших разработчиков ждать, пока они взаимодействуют с SCM-инструментом, это похоже на вождение с включенным ручным тормозом. Это замедляет ваш мозг, а также вашу работу. Добавление новых файлов в представление моментального снимка занимает около 30 минут для 10K артефактов. Обновление (никакие артефакты не менялись) на такое же количество занимает примерно 5 минут. Когда много экспериментируешь и перепрыгиваешь между разными актуальными представлениями, приходится долго ждать. Еще хуже, когда вы работаете с файлами и хотите вернуть или обновить их. Выписка, регистрация и добавление в циклы управления версиями занимают около 10-15 секунд, что, очевидно, является кошмаром. Это очень раздражает, когда вы проводите рефакторинг, переименовывая / перемещая типы или методы (многие файлы могут быть затронуты).
Отсутствие поддержки распределенной разработки
Сегодня разработка программного обеспечения часто является распределенной вещью (разработчики разбросаны по всему миру работает над одним и тем же продуктом / проектом). ClearCase для этого определенно не подходит, потому что плохо подходит для работы в автономном режиме. Для выполнения извлечения (действия перед редактированием файла / папки) необходимо подключение к сети. Здесь вы можете использовать опцию взлома, но это скорее обходной путь как функция (вы в основном просто разблокируете файл в файловой системе). Если ваши сайты разработки находятся далеко от вашего сервера ClearCase, задержка регистрации / возврата может даже увеличиться настолько резко, что ее вообще нельзя будет использовать. Для этого есть обходные пути, такие как использование ClearCase Multisite (технология реплик SCM DB), но за это нужно доплачивать, и администрирование не является тривиальным.
Git как альтернатива
Хотя я большой поклонник + сторонник Open Source Я по-прежнему готов платить деньги за хорошее программное обеспечение. Но глядя на IBM-монстра ClearCase, я бы не стал вкладывать здесь свои деньги, у него есть все обсуждаемые недостатки, и, более того, IBM, похоже, не вкладывает деньги в существенное улучшение своего продукта. Недавно я посмотрел Git scm, который выглядит очень хорошо, особенно для его функций ветвления + слияния, где ClearCase имеет свои основные сильные стороны.
Эта информация взята из http://www.aldana-online.de/2009/03/19/reasons-why-you-should -stay-away-from-clearcase /
Абсолютный кошмар системы. Мне захотелось вернуться к VSS! (Не говоря уже о любой современной системе управления исходным кодом, такой как Subversion или Git!)
По сути, это медленное, сложное и чертовски ненадежное решение. О, и я упоминал , это смехотворно дорого ? Единственный способ, которым они могут продать его, - это поговорить с лицами, принимающими решения, которые никогда не использовали продукт и никогда не будут! Я совершенно уверен, что ни один разработчик в мире никогда его не купит.
По сути, это медленное, сложное и чертовски ненадежное решение. О, и я упоминал , это смехотворно дорого ? Единственный способ, которым они могут его продать, - это поговорить с лицами, принимающими решения, которые никогда не использовали продукт и никогда не будут! Я совершенно уверен, что ни один разработчик в мире никогда его не купит.
По сути, это медленное, сложное и чертовски ненадежное решение. О, и я упоминал , это смехотворно дорого ? Единственный способ, которым они могут продать его, - это поговорить с лицами, принимающими решения, которые никогда не использовали продукт и никогда не будут! Я совершенно уверен, что ни один разработчик в мире никогда его не купит.
Если они в конечном итоге предоставят исправление (после долгих споров), это будет самое простое из возможных исправлений самой неотложной проблемы.По сути, это медленное, сложное и чертовски ненадежное решение. О, и я упоминал , это смехотворно дорого ? Единственный способ, которым они могут его продать, - это поговорить с лицами, принимающими решения, которые никогда не использовали продукт и никогда не будут! Я совершенно уверен, что ни один разработчик в мире никогда его не купит.
Если они в конечном итоге предоставят исправление (после долгих споров), это будет самое простое из возможных исправлений самой насущной проблемы.По сути, это медленное, сложное и чертовски ненадежное решение. О, и я упоминал , это смехотворно дорого ? Единственный способ продать его - поговорить с лицами, принимающими решения, которые никогда не использовали продукт и никогда не будут! Я совершенно уверен, что ни один разработчик в мире никогда его не купит.
Динамические просмотры. Должен восхищаться полностью функциональной полупрозрачной файловой системой.
Одним из больших преимуществ является то, что Интеллектуальная собственность всегда находится в корпоративной сети. Ноутбук может быть утерян / украден, а исходный код не окажется под угрозой.
Другой - мгновенный доступ к исходному коду и измененным файлам, не тратится времени на загрузку чего-либо.
Это хорошо служит той цели, которую он имеет.
Все, с чем я сталкивался, так или иначе связанное с ClearCase, неэффективно, уродливо, чрезмерно сложно, медленно, запутанно, дорого и неудобно.
Кажется, что она привлекает менеджеров и инженеров, которые ПРОСТО ПОЛУЧИЛИ ВСЕ НЕПРАВИЛЬНО.
Черт возьми, у IBM и Rational должны быть потрясающие продавцы, чтобы продавать такой дерьмовый продукт.
Возможно, худшее программное обеспечение из когда-либо созданных. Я не буду работать ни в одной фирме, которая использует что-либо рациональное. Помимо полного сбоя CC и частого перезапуска моей рабочей станции при динамических сборках. Что происходит, когда вы отправляете что-то в систему управления версиями, а CC делает то, что у него лучше всего, - сбой? Ваш код затем вставлен в потерянный + найденный, может быть, где-то сделана резервная копия? Нет, это ушло навсегда. Так что, если вы когда-нибудь окажетесь в ужасной ситуации использования этого гигантского дорогостоящего программного обеспечения, сохраните все дубликаты. Хорошая работа Rational / IBM. Способ зафиксировать самую важную часть системы контроля версий - надежность. Умри медленно.
Мой опыт в основном ограничен CC, CVS и SVN. В принципе, CC технологичен, готов к работе на предприятии и сравним по возможностям с любой современной VCS. Но у него есть несколько недостатков, которые делают его непригодным для использования в любой среде, ориентированной на людей. Для сред, ориентированных на процессы, он, вероятно, подходит больше, хотя я сомневаюсь, что такие среды подходят сами по себе. Может быть, в военном, космическом или медицинском программном обеспечении, я не знаю. В любом случае, я считаю, что даже для этих областей есть подходящие и более дружественные инструменты.
Помимо технических возможностей VCS, CC имеет несколько отличительных преимуществ:
На мой взгляд, их использование ограничено, за исключением последнего, и они не компенсируют недостатки. Динамическое представление хорошо в теории, но не всегда доступно на практике. Дерево версий имеет гораздо меньшее применение в других VCS, в то время как в CC оно необходимо из-за разрастания ветвей (см. 6). Триггеры, как я знаю, очень подробные и способные, но я думаю, что для большинства практических задач достаточно SVN хуков. А теперь о недостатках, которые в основном касаются удобства использования:
cleartool
(до версии 7.1), не говоря уже о динамических представлениях. Начиная с новой версии 7.1 CC предоставляет атомарные проверки в качестве функциональности, ЕСЛИ вам это нравится. Лично я бы этого не хотел, но, видимо, некоторые люди видят в этом «существенную особенность». Я НИКОГДА не хотел бы иметь одну большую массу за раз, как своего рода массивную версию. Опять же ... если хочешь, просто включи.
так что ... больше не аргумент.
пункт «требуется специальный человек» и «это сложно» и т. Д.
Основная проблема при обнаружении этой проблемы заключается в том, что вы должны определить, хотите ли вы, чтобы управление конфигурацией выполнялось в вашей организации (что НЕ является управлением версиями). Управление конфигурацией похоже на управление проектом: даже без инструмента вы все равно можете управлять проектом, а без инструмента вы можете управлять конфигурацией. Многим людям сложно это понять, и многие люди думают, что Управление конфигурациями равнозначно инструменту, который версии источников программного обеспечения или чего-то еще ... (поэтому сравнение с подрывными версиями или другими системами управления ВЕРСИЯМИ)
ClearCase - это решение, созданное для использования в среде управления конфигурацией ERGO: есть менеджер конфигурации (как «есть менеджер проекта»).
Итак ... если в вашем представлении этот преданный человек должен управлять инструментом, я думаю, что что-то очень не так. На мой взгляд, есть специальный человек, который занимается управлением конфигурацией, который с точки зрения конечного пользователя появляется только тогда, когда есть проблема с инструментом, но считает это лишь 1% своей работы.
Итак, что вам нужно сделать (как и в любом другом программном проекте), вернитесь к своим требованиям и составьте список требований к тому, что ваша организация хочет от управления конфигурацией. И ДА, как и в любом другом программном проекте, у вас будут пользователи (например, разработчики), которые полностью не согласны с другими пользователями (например, с руководством) по определенным требованиям. В этом заключается ключ, imho, к некоторым реакциям, которые я здесь читал.
И ИМХО, если у вас есть список требований организации И менеджер конфигурации в смеси .... выбор довольно ясен (см. Также форум на www.cmcrossroads.com)
ClearCase - это не только инструмент для конечных пользователей, которые вводят свои источники под контролем версий, например subversion или git. Это только 1% причин, по которым менеджеру конфигурации действительно нужен зрелый инструмент управления конфигурацией.
И ... я думаю, что выбор CM-системы никогда не должен зависеть от разработчиков, равных с выбором правильного инструмента управления проектами или правильной CRM-системы. Разработчики являются конечными пользователями определенной части функциональных возможностей инструмента.
Администрирование. Мне пришлось запланировать несколько дневных простоев, чтобы выполнить обновления с 6 до 7 и переместить полумассивный (159 ГБ) VOBS со старого сервера в хранилище SAN. С такой системой, как git или svn + svk, это можно было сделать в мгновение ока, почти автоматически, без каких-либо последствий для пользователей - они никогда не заметят. Они не могли продвигать изменения вверх по течению, но могли продолжать работать. С ClearCase или необработанным SVN они находятся во власти сервера репозитория.
ClearCase UCM - отличный инструмент, мне он нравится, и я думаю, что можно сделать что-то, чтобы добавить подобную функциональность к SVN / mercurial / git / bzr - не то чтобы вы не можете реализовать это с помощью скриптов-перехватчиков, но это индивидуально для каждого сайта. UCM настолько распространен, что все это делают, но почти никто не отслеживает его в репозиториях. : - /