SVN find revision of tag
Asked Answered
R

2

35

Is there any way of showing which revision is equivalent to a certain tag?

Rattlebrain answered 11/2, 2010 at 19:9 Comment(0)
M
44

Try this

svn log /path/to/tag -v --stop-on-copy

You might see something like this

r10 | user | 2010-02-07 17:06:01 -0800 (Sun, 07 Feb 2010) | 1 line
Changed paths:
   A /path/to/tag (from /path/to/branch:5)

You can see that the tag was branched at revision 5

Malenamalet answered 11/2, 2010 at 19:32 Comment(3)
Piping the output to head -2 | tail -1 | grep -o -E "^r[[:digit:]]+" should print only the revision. (The head-tail combination ensures we're only greping the line containing the revision details and not the commit message for example.)Amphitrite
@Amphitrite Isn't your extraction wrong? Shouldn't it take the revision 5 instead of 10?Practically
@Practically You're right; my pipeline extracts the revision in which the tag was created (r10), while the question is more likely concerning at what revision the content of the tag was copied from its original location (r5).Amphitrite
O
14

If you want to know the revision number of what this tag points to you need to use svn log, which provides data in the format:

------------------------------------------------------------------------
r643 | [author] | [date] | [n] lines

Added tag
------------------------------------------------------------------------
r643 | [author] | [date] | [n] lines

[log message]
------------------------------------------------------------------------
...

If you add the option --stop-on-copy you can find out which revision the tag was created. Run svn log both with and without the --stop-on-copy option and the entry beneath the last one shown when run with the option will show the revision the tag ultimately points to.

Alternatively, assuming people aren't doing bad things in your repository (like committing against a tag) you can use svn info, it returns information in the format

Path: [path]
URL: [url]
Revision: [current repository revision]
Node Kind: directory
Schedule: normal
Last Changed Author: [author]
Last Changed Rev: [last revision this particular path was changed]
Last Changed Date: YYYY-MM-DD hh:mm:ss TZ

You might call something like svn info http://www.example.com/svn/path/to/tag

Orthodontics answered 11/2, 2010 at 19:12 Comment(1)
but if I tag an old revision now, the last changed revision would be the current one.Rattlebrain

© 2022 - 2024 — McMap. All rights reserved.