Находится subprepos функция в Подвижном 1.4.x готова к производственному использованию?

Я хотел бы оценить Подвижный для моих рабочих проектов. Но большинство моих проектов очень в большой степени полагается на присутствие подобной svn:externals поддержки. Я искал по StackOverflow и погуглил для соответствующей поддержки в Подвижном. Все, что я нашел, является subrepo опцией, добавленной в Подвижных 1.3, но странице для этой сказанной функции:

subrepos являются экспериментальной функцией Подвижных 1.3. Не делайте этого на репозиториях в жестком реальном времени!

Я не хочу использовать что-то нестабильное.

Кто-либо может пролить некоторый свет на реальное состояние этой функции и планы полировки/окончания его и когда это назовут "стабильным" и готовым к репозиториям в жестком реальном времени?

8
задан Aziz Shaikh 11 October 2012 в 09:32
поделиться

2 ответа

Чтение на ASN.1. Если можно описать двоичные данные в их терминах, то можно использовать различные доступные наборы. Не для слабонервных.

-121--2560203-

Если выполняется синтаксический анализ входных данных с использованием символов стиля Java, возможно, потребуется просмотреть StringEscapeUtils.unescapeJava . Он обрабатывает переходы Юникода, а также новые строки, вкладки и т.д.

String s = StringEscapeUtils.unescapeJava("\\u20ac\\n"); // s contains the euro symbol followed by newline
-121--2096002-

Слово в IRC-канале # mercurial заключается в том, что субрепо будут продолжать работать так же, как и они, и поддержка будет расти. Например, в настоящее время команда 'hg status' не знает subrepo - она работает, она просто не рекурсивна, но что в будущем она будет. Однако текущее поведение, файловые форматы (.hgsub и .hgsubstate) будут изменены только обратно совместимыми способами.

Итак, продолжайте и рассчитывайте на это сейчас, и с нетерпением ждите его улучшения.

P.S. Начиная с mercurial 1.4.2 subrepos теперь может быть subversion repos, так что вы можете использовать mercurial родителя и svn ребенка.

6
ответ дан 5 December 2019 в 21:19
поделиться

До сих пор мне повезло с этой функцией при моем (легком) использовании. Он пригодится в двух местах:

  1. Резервное копирование дерева несвязанных репозиториев с помощью одной команды hg pull .
  2. Связывание проекта с конкретными версиями его зависимостей, так что один hg clone получает готовый для сборки исходный код. Это ближе к типичному использованию svn: externals .

Вот несколько ограничений, которые я видел до сих пор:

  1. В случае №1, описанном выше, вы должны зафиксировать все подрепо сразу.Это только иногда раздражает, поскольку Mercurial (как и любой DVCS) поощряет частые коммиты, поэтому большинство репозиториев не остаются в незавершенном состоянии с самого начала.
  2. Только самые основные команды Mercurial поддерживают субрепо: clone , push / pull , update / commit и, возможно, пара других.
  3. Авторам расширений понадобится время, чтобы протестировать свои расширения в репозиториях с подрепозиториями.

Когда команда Mercurial описывает эту функцию как «экспериментальную», они не имеют в виду, что она внезапно решит стереть все ваши данные. Они просто означают, что они не закодировали все крайние случаи, такие как конфликты имен (например, один разработчик добавляет подрепо под названием README , а другой разработчик добавляет текстовый файл под названием README ) .

1
ответ дан 5 December 2019 в 21:19
поделиться
Другие вопросы по тегам:

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