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

Re: What I really want is to be able to "svn log" back to the beginning of repo time

From: Ryan Schmidt <subversion-2008a_at_ryandesign.com>
Date: Thu, 3 Apr 2008 19:13:08 -0500

On Apr 3, 2008, at 17:21, Hari Kodungallur wrote:

> On Thu, Apr 3, 2008 at 2:40 PM, Dan Stromberg wrote:
>
>> This is kind of interesting:
>>
>> $ svn log -v http://eng2/svn/Datallegro/branches/v3.1.4-dev
>> --stop-on-copy | wc -l
>> 199
>> eng2-da_build:~/.subversion i686-redhat-linux-gnu 8879 - above cmd
>> done 2008 Thu Apr 03 02:24 PM
>>
>> $ svn log -v http://eng2/svn/Datallegro/branches/v3.1.4-dev | wc -l
>> 199
>> eng2-da_build:~/.subversion i686-redhat-linux-gnu 8879 - above cmd
>> done 2008 Thu Apr 03 02:24 PM
>>
>> It seems to stop at the same place --stop-on-copy does.

This means that the branch was not created by copying something else,
but by creating it from scratch.

>> The way we create new branches is to:
>> 1) "svn checkout" the source branch nonrecursively - this doesn't
>> really check out much
>> 2) modify the external references at the top level
>> 3) do an "svn update" to get the rest of the code - this checks
>> out a lot
>> 4) modify a few remaining externals
>> 5) "svn update" again
>> 6) "svn switch" to name the checked out code to something new
>> 7) "svn commit"
>>
>> Is that appropriate? I don't have a huge amount of SCM
>> experience, and inherited most of this process.

Sounds very weird. Normally to create branch you should:

svn copy -r 123 $REPO/trunk $REPO/branches/my_new_branch \
-m "making my_new_branch from revision 123 of trunk"

>> I suspect we may be doing it this way because our trunk is
>> scattered all over, but we have a single subversion directory with
>> external references that unifies the pieces.
>>
>> Is the alternative to do one "svn copy" for every external reference?

Don't understand how your trunk "is scattered all over"...

> I am afraid this is not the best way to create the branches. 'svn
> switch' will completely switch (move) your branch to a new location
> in the repository. And when you do this (a) it will remove your old
> branch and (b) it will leave no trace of history for the new branch.

What? No... "svn switch" does nothing to your repository. It just
changes your working copy so that it's attached to a different part
of the repository. It doesn't remove anything from the repository, or
change the repository in any way.

> My suggestion will be to do the following (if you can make it a
> script, it will be better).
> - 'svn copy' your tree to a branch directory
> - separately checkout -N (non-recursive) each directory within the
> new branch where the externals have to be set.
> - update the externals for each of these directories and check-in
> each directory

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-04-04 02:14:12 CEST

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