С помощью SVN как добавить сообщение журнала в транк при создании тега? - PullRequest
3 голосов
/ 02 января 2009

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

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

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

Ответы [ 3 ]

2 голосов
/ 02 января 2009

Я думаю, вы хотите посмотреть на параметр "message"

http://svnbook.red -bean.com / о / 1,0 / re07.html

svn copy .... --message (-m) TEXT

РЕДАКТИРОВАТЬ:

Неважно. Это не то, что вы хотите. Вы хотите посмотреть на ствол, чтобы увидеть, какие копии / теги вы сделали ... Вы можете сделать это:

svn list --verbose например Список SVN - подробный файл: /// имя_хранилища / теги

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

Я делал что-то подобное в предыдущей компании. Скрипт сборки имел свой собственный логин пользователя в SVN и проверял в файле версии.

т.е. /Project/Builds/builds.txt

Содержит список помеченных версий. Вы можете добавить к нему или перезаписать. Поскольку он версионный, не имеет значения, перезаписать ли вы его. Для выполнения CI / многих сборок это может помочь не допустить такого роста.

EDIT

в текстовом файле вы помещаете ревизию И имя тега, связанное с ним. Вы также проверяете файл, чтобы можно было предположить, что это тег-revision-n +1 для каждой сборки с тегами.

1 голос
/ 03 января 2009

В Subversion вы обычно не добавляете сообщение в транк, но в ветку. (Поскольку вы фактически не изменили ствол, создав ветку / тег). Если вы действительно хотите добавить сообщение журнала в транк, вам нужно что-то изменить в транке.

Чтобы использовать для этого одно и то же сообщение и ревизию, нужно сделать что-то особенное (или сделать все в рабочей копии, содержащей как ствол, так и новую ветвь).

Используя svnmucc, вы можете сделать: (строки продолжаются, когда вы видите обратную косую черту)

svnmucc \
  cp 1234 http://srv/svn/project/trunk http://srv/svn/project/tags/release \
  propset last-tag ^/tags/release http://srv/svn/project/trunk \
  -m "The log message"

(svnmucc означает клиент команд с несколькими URL для Subversion и доступен в большинстве выпусков Subversion)

Это делает все это за один коммит:

Свойство last-tag можно заменить чем-то другим; но это пример очень незначительного изменения только в транке.

1 голос
/ 02 января 2009

В вашей ветке / теге используйте svn log --stop-on-copy -v. Нижняя запись покажет вам местоположение: ревизия, из которой вы изначально скопировали.

Подробнее см. http://blank.jasonwhaley.com/2008/12/subversion-t-where-and-what-revision.html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...