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

  • Home
  • SEARCH
  • 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 81713
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T21:30:11+00:00 2026-05-10T21:30:11+00:00

I maintain the build system at my company, which is currently using CVS. This

  • 0

I maintain the build system at my company, which is currently using CVS. This build system is used across multiple projects and multiple CVS repositories.

Whenever we have a release milestone, we create a tag. In CVS, this is easy:

$ cvs tag TAG_NAME 

That command works regardless of the CVS module or repository, as long as it is executed in a CVS working directory.

In order to do the same thing in subversion though, it looks like I will first have to parse the output of svn info to get the repository root. Then I can create the tag with:

svn cp . $REPO_ROOT/tags/TAG_NAME -m'Created tag TAG_NAME' 

This of course assumes that the svn repository has the recommended ‘trunk, tags, branches’ directory structure. So to be safe I’ll probably need to verify this first.

That seems like a lot of work just to map a revision number to a symbolic name. Is there a better way?

  • 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. 2026-05-10T21:30:12+00:00Added an answer on May 10, 2026 at 9:30 pm

    Here is how I implemented this, in case anyone is curious:

    <!-- First, we need to get the svn repository root URL by parsing the output of 'svn info'. --> <exec executable='svn' failonerror='yes'>     <arg line='info'/>      <redirector outputproperty='svninfo.out' errorproperty='svninfo.err'>         <outputfilterchain>             <linecontains>                 <contains value='Repository Root: '/>             </linecontains>              <tokenfilter>                 <replacestring from='Repository Root: ' to=''/>             </tokenfilter>         </outputfilterchain>     </redirector> </exec>  <echo level='verbose' message='Root from svn info: ${svninfo.out}'/>  <!-- Set the svn.root property from the svn info output, and append the module prefix if it exists. The module prefix allows multiple projects to use the same repository root. --> <condition property='svn.root' value='${svninfo.out}/${svn.module.prefix}'>     <isset property='svn.module.prefix'/> </condition> <!-- Note that the next line will have no effect if the property was set in the condition above, since ant properties are immutable. The effect is an 'else', if the condition above is NOT true. --> <property name='svn.root' value='${svninfo.out}'/> <echo level='verbose' message='Root: ${svn.root}'/>  <!-- Verify the tags directory exists. --> <exec executable='svn'       failonerror='no'       outputproperty='null'       errorproperty='svn.ls.error'>     <arg line='ls ${svn.root}/tags'/> </exec> <fail> Cannot find 'tags' subdirectory.  ${svn.ls.error}  The subversion repository is expected to have 'trunk', 'branches', and 'tags' subdirectories. The tag '${tag}' will need to be manually created.     <condition>         <not>             <equals arg1='${svn.ls.error}' arg2='' trim='yes'/>         </not>     </condition> </fail>  <!-- Finally, do the actual tag (copy in subversion). --> <exec executable='svn' failonerror='yes'>     <arg line='cp . ${svn.root}/tags/${tag} -m 'Created tag ${tag}''/> </exec> 

    I also want to point out that I am aware of the differences between CVS and subversion with respect to tagging, and that the subversion revision is, for all practical purposes, equivalent to the tag. Unfortunately, that is not really relevant; my users want a symbolic name composed of the module name and a (different) version number.

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

Sidebar

Ask A Question

Stats

  • Questions 79k
  • Answers 79k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer For frequent uploads of small files, the fastest way would… May 11, 2026 at 4:01 pm
  • Editorial Team
    Editorial Team added an answer Symbolic equation solving is a complex problem and there is… May 11, 2026 at 4:01 pm
  • Editorial Team
    Editorial Team added an answer Have you tried having the ID be TEST.html? My guess… May 11, 2026 at 4:01 pm

Related Questions

As recently as several years ago, the developers actually made the builds that went
Classic scenario: Take user input, get a search-result and display it in pages to
I build and maintain a set of Flash components that is distributed to publishers
In a past interview, I was asked how would I write a mission critical

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

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.