Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 720531
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T05:46:08+00:00 2026-05-14T05:46:08+00:00

Whenever we make a release of a project we’ll create a tag to capture

  • 0

Whenever we make a release of a project we’ll create a tag to capture the snapshot. It will be very helpful to be able to see which revisions in the trunk history were used in certain releases. I know the TortoiseSVN revision graph shows this information, but I’m wondering if there’s a way to see it in the command-line svn log?

I’m coming from a Clearcase background where we’ll be able to see the release labels in the history.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-14T05:46:09+00:00Added an answer on May 14, 2026 at 5:46 am

    The log for the tags directory should include the revision that it committed when you made the tag, the revision numbers of your trunk would then be less than that.

    Or am I misunderstand something?

    Look at my class library: WebSVN view for my class library tags’ directory

    You can see the revision that each build ended up with, since it’s the same repository, the revision number for the tag is 1 higher than the maximum possible revision in the trunk for changes that were tagged.

    Here’s how this looks with a simple svn log command:

    [C:\Temp] :svn log http://svn.vkarlsen.no/svn/LVK/LVK_3_5/tags
    
    -----------------------------------------------------------------------
    r751 | lassevk | 2009-10-04 13:45:07 +0200 (sø, 04 okt 2009) | 1 line
    
    Build 750
    -----------------------------------------------------------------------
    r636 | lassevk | 2009-07-31 07:00:11 +0200 (fr, 31 jul 2009) | 1 line
    
    Build 635
    -----------------------------------------------------------------------
    r632 | lassevk | 2009-07-25 06:19:27 +0200 (lø, 25 jul 2009) | 1 line
    
    Build 631
    -----------------------------------------------------------------------
    r614 | lassevk | 2009-07-23 06:18:58 +0200 (to, 23 jul 2009) | 1 line
    
    Build 612
    
    |----|
      ^
      +-- this column here shows the tag commit revision, trunk is less than that
    

    Or with xml:

    [C:\Temp] :svn log http://svn.vkarlsen.no:81/svn/LVK/LVK_3_5/tags --xml
    <?xml version="1.0"?>
    <log>
    <logentry
       revision="751">                         <-- this
    <author>lassevk</author>
    <date>2009-10-04T11:45:07.445750Z</date>
    <msg>Build 750</msg>
    </logentry>
    <logentry
       revision="636">                         <-- and this
    <author>lassevk</author>
    <date>2009-07-31T05:00:11.796875Z</date>
    <msg>Build 635</msg>
    </logentry>
    

    Here’s a python script that will output something, it isn’t formatted all that good since it doesn’t handle linefeeds in revision comments properly, but it should get you going.

    from xml.dom.minidom import parse;
    
    # files created by:
    #   svn log http://svn.vkarlsen.no:81/svn/LVK/LVK_3_5/tags --xml >tags.xml
    #   svn log http://svn.vkarlsen.no:81/svn/LVK/LVK_3_5/trunk --xml >trunk.xml
    
    def get_revs(filename):
        log = parse(filename);
        try:
            for rev in log.getElementsByTagName("logentry"):
                revision = int(rev.getAttribute("revision"));
                rev.getElementsByTagName("msg")[0].normalize();
                comment = rev.getElementsByTagName("msg")[0].firstChild.nodeValue.rstrip();
                yield (revision, comment);
        finally:
            log.unlink();
    
    tag_revs = [tr for tr in get_revs("tags.xml")];
    trunk_revs = [tr for tr in get_revs("trunk.xml")];
    tag_revs.insert(0, (max((tr[0] for tr in trunk_revs)), "HEAD"));
    
    tag_rev_lookup = {};
    for tag_rev in tag_revs:
        tag_rev_lookup[tag_rev[0]] = tag_rev[1];
    
    prev_tag = -1;
    for trunk_rev in trunk_revs:
        tag_rev_for_trunk_rev = min((tr[0] for tr in tag_revs if tr[0] >= trunk_rev[0]));
        if tag_rev_for_trunk_rev != prev_tag:
            print("tag #%d: %s" % (tag_rev_for_trunk_rev, tag_rev_lookup[tag_rev_for_trunk_rev]));
            prev_tag = tag_rev_for_trunk_rev;
        print("  rev #%d: %s" % trunk_rev);
    

    This outputs this (truncated):

    tag #879: HEAD
      rev #879: Fixed build properties and added FinalBuilder project. Need PostSharp 2 to work properly for x64.
      rev #878: Adjusted property targets.
    Fixed references to SQLite for 32 and 64-bit.
      rev #877: Removed 32-bit only SQLite library.
      rev #876: Removed 32-bit only SQLite library.
      rev #875: Removed 32-bit only SQLite library.
      rev #874: Cleaned up dependencies on SQLite.
      rev #873: Removed SQLite connection editor from UI.Windows project.
      rev #872: Added separate projects for SQLite functionality.
      rev #870: Changes to allow code to compile without resource files.
      rev #859: Added Any CPU target.
    

    I added an artificial tag named HEAD to ensure all log entries was present, but you can easily remove that and ignore it.

    The code is here: WebSVN repository for above example code.

    I changed it to output xml, in somewhat the same format as the original svn log --xml does, the code in the repository has those changes, the output now looks like:

    <?xml version="1.0" ?>
    <tags>
      ...
      <tag revision="8">                                         --+
        <logentry revision="8">         --+                        |
          <author>                        |                        |
            lassevk                       |                        |
          </author>                       |                        |
          <date>                          |                        |
            2007-12-08T20:36:18.730377Z   +-- from tags.xml        |
          </date>                         |                        |
          <msg>                           |                        |
            Created folder remotely       |                        |
          </msg>                          |                        |
        </logentry>                     --+                        |
        <revisions>                                                +-- repeated
          <logentry revision="7">       --+                        |   for each
            <author>                      |                        |   tag
              lassevk                     |                        |
            </author>                     |                        |
            <date>                        |                        |
              2007-12-08T20:36:14.324041Z +-- from trunk.xml       |
            </date>                       |   repeated for each    |
            <msg>                         |   revision             |
              Created folder remotely     |                        |
            </msg>                        |                        |
          </logentry>                   --+                        |
        </revisions>                                               |
      </tag>                                                     --+
    </tags>
    

    Each <tag...> node has a single <logentry...> child, which is the tag log entry from the tag xml log, and then a node <revisions> where all the children are the relevant log entries from the trunk xml log.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a static Web project added to an Apache server. Whenever I make
I'm developing a website which is currently in testing phase. Whenever I make some
I'm using url_for('module/myaction/id/3') to create links in modified admin generator screens. Whenever I make
I am in the early stages of developing an Azure web project which will
Whenever I make a new file in xcode, it puts something like this at
Whenever we make changes to the CSS, it generally takes 24 hours to reflect
Whenever i make a change in the objects in the first tab of my
Whenever I make changes to my app, nodemon restarts the whole app, but every
Whenever we make a call to any action controller whether through a full post
i have an swf file, uploaded in server. But whenever I make changes to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.