Как найти исходную ветку для тега - PullRequest
12 голосов
/ 11 января 2011

У меня есть тег в Subversion, который был сделан некоторое время назад.Я хотел бы знать, из какой ветви он был создан.Есть ли способ сделать это.Я пробовал

svn log --stop-on-copy

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

Ответы [ 3 ]

19 голосов
/ 11 января 2011

svn log -v --stop-on-copy <url-of-the-tag> должен предоставить вам эту информацию как , задокументированное здесь .

Соответствующий отрывок:

In addition to the action codes which precede the changed paths, svn log with the
--verbose (-v) option will note whether a path was added or replaced as the result of 
a copy operation. It does so by printing (from COPY-FROM-PATH:COPY-FROM-REV) after such 
paths.
10 голосов
/ 25 октября 2013

Чтобы получить правильную ревизию напрямую:

svn log -v -r0:HEAD --stop-on-copy --limit 1 <url-of-the-tag>

Она будет печатать только ревизию, из которой создана ветвь:

rxxx | Author | 2013-01-25 11:43:55 +0100 (fri., 2013, jan. 25) | 1 line
Changed paths:
   A /project/branches/branch (from /project/trunk/folder:ryyy)

Ревизия и путь, который вы ищете:/project/trunk/folder:ryyy.

0 голосов
/ 14 декабря 2018

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

Если вы можете использовать PowerShell, это может привести к пути, из которого тег / ветвь были скопированы напрямую:

([Xml](svn log -v -r0:HEAD --stop-on-copy --limit 1 URL-HERE --xml)).log.logentry.paths.path.'copyfrom-path'

Что здесь происходит?Команда svn вызывается с флагом --xml, поэтому я могу привести возвращенное значение к [Xml], что, в свою очередь, позволяет мне получить доступ к XML-узлам вывода svn.

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