Почему должен, бизнес-использование распределило управление версиями?

Ваше собственное регулярное выражение \b([a-zA-Z0-9_-]){3,16}\b достаточно хорошо, чтобы дать намеченное совпадение, но \b не сможет выполнить свою работу и позволит частично сопоставить слово, подобное @smith, чтобы дать вам smith, потому что @ не часть символа слова и, следовательно, s в smith будет совпадать, поскольку точка между @ и s действительно является границей слова. Вам понадобится другое регулярное выражение, обеспечивающее, чтобы перед словом / следовал пробел, а также запятая, а за некоторыми словами следуют запятые, и вы хотите их подсчитать. Попробуйте использовать это регулярное выражение,

(?<= |^)[a-zA-Z0-9_-]{3,16}(?=[ ,]|$)

Демо

Это должно дать вам совпадения только со словами, которые соответствуют вашим правилам.

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

10
задан skiphoppy 31 March 2009 в 20:27
поделиться

6 ответов

Аргумент кажется назад мне.

Учитывая, что централизованная система управления версиями является только одним из многих вариантов использования распределенной системы, как делает применение такого преимущества ограничения компания?

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

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

Два аргумента, что я услышал, не звонят хорошо мне:

  1. не может взять весь код и работать.
  2. блокировка

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

Номер 2 действительно походит на попытку использовать неправильный инструмент для задания. Я раньше получал аргументы анти-CVS от пользователей RCS, потому что они действительно думали, что необходимо заблокировать каждый файл каждый раз для предотвращения двух человек от, я не знаю, работая.

Коммуникация вне полосы. Если у Вас есть большие, unmergeable файлы, нормально говорить о них, я думаю. IMO, многие люди с этой проблемой не хотят систему управления версиями, но файловую систему создания снимков (zfs, 9 фс, Поле Отбрасывания, и т.д....).

В целом, тем не менее, я не понимаю, почему люди даже спрашивают, "Почему я должен дать свои инструменты разработчиков, которые являются более дешевыми, быстрее, более надежными, более устойчивыми, и делают их более продуктивными?" виды вопросов.

11
ответ дан 3 December 2019 в 16:30
поделиться

Я соглашаюсь с VonC, но хотел бы добавить, что (в мерзавце, по крайней мере) это тривиально для создания новых ответвлений, где я могу легко работать над экспериментальным кодом или прототипами, которые я не обязательно хочу совместно использовать с остальной частью пользователей репозитория. Это помогает содержать центральный репозиторий в чистоте (если Вы используете один), и я думаю, освобождает разработчиков для попытки вещей, которые они не могли бы иначе попробовать в системе, где Вы рискуете помещать экспериментальный код в центральный репозиторий.

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

5
ответ дан 3 December 2019 в 16:30
поделиться

С мерзавцем существует много мостов к традиционным основанным на центральном репозитории системам.

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

3
ответ дан 3 December 2019 в 16:30
поделиться

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

0
ответ дан 3 December 2019 в 16:30
поделиться

Одна вещь я заметил Подвижное использование, состоит в том, что оно изменило способ, которым я работаю, даже локально на моей рабочей станции. Идея, что каждая копия является полным, автономным repo, предоставляет себя хранению различных копий с различной работой и слиянием их вместе или в "общий" repo. Это хорошо, потому что наборы патча для разных вещей остаются вместе, а также хранение самой работы отделяется. Эти вещи могут быть сделаны некоторым способом в традиционных системах, но в Подвижном это естественно. Предложение большей гибкости в организации рабочего процесса имеет другие хорошие выплаты также.

1
ответ дан 3 December 2019 в 16:30
поделиться

В первую очередь, DVCS не предотвращает централизованное управление кодом: все еще можно установить один репозиторий как "ссылочный", все разработчики, вытягивающие от него.
Так приход (побочный эффект на самом деле) вот естественное резервное копирование посредством репликации данных при поддержании центральной кодовой базы.

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

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

Можно также видеть с DVCS, управлял тем путем естественный процесс "очистки" (только, что "допустимо" - по крайней мере, единица, протестированная, например - добирается, чтобы быть опубликованной в центральный repo), с более чистой историей (все промежуточные фиксации могут остаться в ответвлениях темы локальных репозиториев).

5
ответ дан 3 December 2019 в 16:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: