Лучший способ заменить целое дерево каталогов в Subversion?

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

Этот сайт хорошо объясняет это. http://www.phpfreaks.com/blog/pcre-regex-spotlight-k ..

Но в значительной степени, когда у вас есть выражение, которое вы соответствуете, и вы хотите получить все позади, используя \ K, заставит его начать заново ...

Пример:

string = ' with some information 
LOOK FOR ME
'

соответствие /(\)\K.+?(?=\ приведет к перезапуску регулярного выражения после того, как вы согласитесь с тегом окончания div, чтобы регулярное выражение не включало это в результат. (?=\div) заставит движок получить все перед окончанием тега div

11
задан KPexEA 10 October 2008 в 20:26
поделиться

5 ответов

Можно смотреть к svnbook, говорящему об ответвлениях поставщика. Это точно, что Вы пытаетесь выполнить

Можно использовать svn_load_dirs.pl для замены ручных шагов 1-5. svn_load_dirs.pl будет также отслеживать новые, перемещенные или удаленные файлы.

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

У меня есть та же ситуация с CMake, где я сохраняю двоичный файл win32, выпуск зарегистрировался в нашем каталоге поставщика:

branches/
trunk/
vendor/
    cmake/
        cmake-2.6.0/
        cmake-2.6.1/
        cmake-2.6.2/
        ...

Я затем использую svn:externals для обращения к версии CMake, которую я использую. Делает действительно легким протестировать обновление до новых версий, и это также ясно, какую версию CMake я использую.

2
ответ дан 3 December 2019 в 08:31
поделиться

Все корректно за исключением того, что Вам не нужны шаги 1 и 5 - если сбои шага 3 возвращаются, изменения с помощью svn возвращаются функциональность.

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

Я думаю, что у Вас есть две опции.

A)

  1. SVN Удаляют все файлы.
  2. Станьте текущими и заставьте его работать.
  3. SVN Добавляют все файлы.

Pro: удостоверится, что никакие дополнительные файлы не сохранены, если они не присутствуют в последней версии.

Довод "против": май быть трудоемким.

B)

  1. Загрузите и установите новую версию по старой.
  2. Заставьте его работать.
  3. SVN добавляют любые новые файлы.

Pro: Вы видите то, что изменилось в файлах инструмента.

Довод "против": May заканчивается с помехой. В зависимости от инструмента перезапись может вызвать ошибки.

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

Если некоторые проекты поставщика также используют Подверсию, можно добавить svn:externals свойство к родительскому каталогу ответвления/соединительной линии.

Смотрите на книгу SVN для получения дополнительной информации.

0
ответ дан 3 December 2019 в 08:31
поделиться
Другие вопросы по тегам:

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