Я хотел бы переписать большое количество сообщений фиксации SVN в другую структуру, например, префикс категории. Из:
"foo" now accepts "bar" format for connection string.
я хочу
core - database - "foo" now accepts "bar" format for connection string.
Есть ли простой способ сделать это, который не включает сброс всего репозитория svndumpfilter
?
Я работаю с TortoiseSVN на стороне клиента и VisualSVN на стороне сервера. (VisualSVN - это оболочка для классической svn
версии, с которой я также могу разговаривать через командную строку.)
hooks
папке в местоположении репозитория и переименовать ее в,pre-revprop-change.tmpl
чтобыpre-revprop-change.bat
она работала.Вы, конечно, можете изменить сообщения журнала задним числом, это описано в FAQ . Я не уверен, как работает интерфейс командной строки для VisualSVN, но для vanilla svn команда будет
Если вы хотите сделать это для всех ревизий без сброса репозитория и повторной загрузки, вы можете написать сценарий этой команды для работы со списком всех ревизий. Это займет некоторое время, в зависимости от размера вашего репозитория, но в принципе нет причин, по которым вы не можете это сделать, и это не требует дампа и перезагрузки.
Кроме того, в vanilla SVN есть команда,
svnlook
которая является своего рода административным инструментом, который работает непосредственно с файлами репозитория. Этот инструмент не понимает URL-адресов (у вас должен быть доступ к репозиторию на уровне файловой системы), но он работает намного быстрее. Синтаксис немного отличается, но вы можете точно так же изменять свойства с помощью этого инструмента.источник
svn propedit -r N --revprop svn:log
было изменить сообщение в моем редакторе.set SVN_EDITOR=notepad.exe
Да, вы можете, но сначала вам нужно включить его в репозитории.
В репозитории, в каталоге хуков, есть файл pre-revprop-change.tmpl. У него есть пара страниц комментариев о том, что он делает, и он настроен так, чтобы разрешать только изменения свойств журнала. Чтобы включить его, переименуйте файл в pre-revprop-change и сделайте его исполняемым (я предполагаю, что это подрывная версия, размещенная на POSIX, если вы используете Windows для размещения, это сообщение может оказаться полезным для вас).
Как только репозиторий позволяет это, вы можете использовать Tortoise для изменения сообщения журнала для фиксации из контекстного меню фиксации или вы можете использовать командную строку.
источник
Использование
svn propset
вsvn:log
собственности. Примеры в книге svn .источник
svn propedit -r N --revprop svn:log URL
URL
выше не является обязательным, если вы уже находитесь в рабочем каталоге. После этого появится редактор, чтобы можно было изменить сообщение.источник
Только что наткнулся на этот пост с точной проблемой, используя Tortoise SVN для клиента и VisualSVN на сервере Windows.
Если у вас появляется сообщение об ошибке «Не удалось выполнить запрос DAV» , взгляните на ответ Эндрю Айлетта и отредактируйте «pre-revprop-change.tmpl» в подкаталоге хуков вашего репозитория.
Как только это будет сделано, нажатие «изменить сообщение журнала» в контекстном меню должно наконец заработать!
источник