SVN Co-tagging

Suppose you have two related products to be released together. Alternatively, suppose to have a project and some separately developed associated components. In either case, when you tag the released version, it would be helpful to tag them atomically in the same commit. If this is done, a view of the history of the creation of such a tag will include the associated tags too.

This can be done with svnmucc (multiple URL command client), included with the SVN command-line client distribution.

Thus, rather than doing this:

svn copy -m"Tagged version 1.0"
    -r100 http://repos/trunk/project1

svn copy -m"Tagged version 1.0"
    -r123 http://repos/trunk/project2

Instead, you can do this:

svnmucc -m"Tagged version 1.0"
    -U http://repos/
    cp 100 trunk/project1 tags/project1/v_1.0
    cp 123 trunk/project2 tags/project2/v_1.0

[Each of these commands is supposed to be on one line.]

At the time of writing, the planned writing of a section on svnmucc in the SVN book had not been started. I have mentioned svnmucc in a previous post. The tool does have command line help

svnmucc --help

which is probably the best source of information at the moment. I have not yet found a good reference elsewhere on the Internet; svnmucc is discussed on the SVN mailing list, but there’s little about usage. [There is also the source.]


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: