[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Tag/label history?

From: David Weintraub <qazwart_at_gmail.com>
Date: Wed, 29 Jul 2009 12:30:23 -0400

This information is readily available in Subversion. In fact, it is more
easily available in Subversion than many revision control systems since
Subversion makes labels and branches as visible as regular files.

The problem is I can't guarantee whether a particular client UI will be able
to show this information, or how easily. However, you can find this
information from the command line:

*svn log --stop-on-copy -v svn://svnHost/path/to/project/tags*

Will give you the date a "label" was created, where it was created from, and
who created it.

*svn ls svn://svnHost/path/to/project/branches
*

will give you a listing of all branches in your project, who created them,
and where they were created from.

*svn diff svn://svnHost/path/to/project/branches/branch1
svn://svnHost/path/to/project/branches/branch2
*

If you want to know what label picked up a change, the best way is to find
the revision number that picked up the change, and then see what labels were
created off that change. For example, I determined that a particular change
was made on branch 1.3, on project projects/foo in the repository revision
54321. I can now do this:

*svn log --stop-on-copy -v svn://svnHost/projects/foo/tags*

This will give me a list of the tags, and tell me where a tag was created
and what revision of the repository.

Here's what the output will look like:

*------------------------------------------------------------------------*
*r54239 | hudson | 2009-07-10 03:40:44 -0400 (Fri, 10 Jul 2009) | 1 line*
*Changed paths:*
* A /projects/foo/tags/FOO-1.1.2 (from /projects/foo/trunk:54437)*

*Tagged FOO-1.1.2 by Hudson Build: Repository Revision: 54437.*
*------------------------------------------------------------------------*
*r54238 | hduson | 2009-07-10 03:29:20 -0400 (Fri, 10 Jul 2009) | 1 line*
*Changed paths:*
* A /projects/foo/tags/FOO-1.3.1 (from /projects/branches/1.3:54336)*

*Tagged FOO-1.3.4 by Hudson Build: Repository Revision: 54336.*
*------------------------------------------------------------------------*
*r54237 | hduson | 2009-07-10 03:29:20 -0400 (Fri, 10 Jul 2009) | 1 line*
*Changed paths:*
* A /projects/foo/tags/FOO-1.3 (from /projects/branches/1.3:54122)*

*Tagged FOO-1.3.4 by Hudson Build: Repository Revision: 54122.*

I can easily see from this output that the change I want was on label
FOO-1.3.1, but not FOO-1.3 because that label was created before the
revision (54122 < 54321), and not label FOO-1.1.2 because that label was
made off of the trunk which didn't have the change I wanted.

You can also see that I use Hudson as my continuous build engine. Hudson
generates a build (and in my case a build label) every time someone checks
in a change in the repository. By using Hudson, integrating Hudson with
Jira, and using logical label names, it is much easier to find using Hudson
what labels have a particular change in them.

Truthfully, anything you use to track revisions, including quill on
parchment, would be better than Visual SourceSafe. It's not an
anti-Microsoft tirade, it's that SourceSafe has many, many issues that make
it completely unreliable to use for revision management. Every single place
I've seen SourceSafe used has had corruption issues with the revision
database. I have seen the version of a particular file change in tags and
branches. I have seen tags disappear. I have seen whole projects lost.

Heck, even Microsoft doesn't use it. They use to use a custom version of
Perforce that has since morphed into TeamFoundation Version Control.
TeamFoundation is a good revision control system (if you prefer a Microsoft
product) and doesn't have the same issues that Visual SourceSafe has. The
"shelf" concept is really neat and is a feature I'm sure other revision
control systems might start to copy.

I personally haven't used Subversion with VisualStudio, but there is now an
integration for it. (Originally, there was a Microsoft licensing that
prevented Subversion from integrating with VisualStudio.) People who have
used the integration tell me it works pretty well. One of the big advantages
of Subversion is that you can try it out without telling anyone or paying
any sort of licensing fee.

On Wed, Jul 29, 2009 at 8:37 AM, <wxs1_at_optonline.net> wrote:

> Hi,
>
> We are looking at using subversion.
>
> Currently in visual source safe we are able to show history on a file or
> folder recursively and it will show all of the labels applied in time order.
>
> This gives us the ability to ask the question:
> What label did a change make it in to?
> Or what labels picked up this change.
>
> Is there a way to do this in a UI with subversion?
>
> Thanks.
>
> Sent from my Verizon Wireless BlackBerry
>
> ------------------------------------------------------
>
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2376583
>
> To unsubscribe from this discussion, e-mail: [
> users-unsubscribe_at_subversion.tigris.org].
>

-- 
David Weintraub
qazwart_at_gmail.com
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2376652
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-07-29 18:31:21 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.