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

Re: creating an old branch

From: Bill Mann <bmann_at_vertica.com>
Date: 2007-09-25 16:07:32 CEST

Thanks, that makes sense to me.
-Bill

Ryan Schmidt wrote:

>
> On Sep 23, 2007, at 19:37, Bill Mann wrote:
>
>> This isn't a very good subject, but here's the situation.
>>
>> I've recently converted a fairly large project from cvs to svn. I
>> told everyone to check in their pending work on cvs branches, then
>> used cvs2svn to do the work. That worked out well. But somebody
>> forgot a project which had been put aside.
>>
>> That cvs workspace is based on what's now revision 4148 in svn, and
>> has lots of changes in a cvs workspace. We are at about revision
>> 8600 in svn now.
>>
>> What I'd like to do is create an svn branch based on 4148, check it
>> in if necessary, copy in the changes from the cvs workspace using
>> patch, and check those in, then update the branch to the trunk head
>> and (ugh) debug the conflicts and other problems. Maybe I am
>> thinking about this wrong.
>>
>> I tried this; the workspace corresponds to svn info -r 4148
>> $SVNROOT/build/trunk/vertica.
>> svn info -r 4148 $SVNROOT/build/trunk/vertica
>> Path: vertica
>> URL: svn+ssh://svn/repos/trunk/vertica
>> Repository Root: svn+ssh://svn/repos
>> Repository UUID: c4c4507d-fb47-4471-b792-52309e25f909
>> Revision: 4148
>> Node Kind: directory
>> Last Changed Author: xyz
>> Last Changed Rev: 4148
>> Last Changed Date: 2006-12-22 19:00:05 -0500 (Fri, 22 Dec 2006)
>>
>> Note the URL: says trunk/vertica, but I had previously svn move'd
>> that to build/trunk/vertica
>>
>> I tried making a normal branch, then checking out that version:
>> svn copy $SVNROOT/build/trunk $SVNROOT/build/branches/bill_blockhdr
>> svn ls $SVNROOT/build/branches/bill_blockhdr
>> PG-contrib/
>> third-party/
>> vertica/
>> svn co -r 4148 $SVNROOT/build/branches/bill_blockhdr/vertica
>> That worked, giving me the right files. I tried
>> svn ci -m 'based on 4148'
>> No messages. Then I used patch to apply the changes; no problems.
>> Then
>> svn diff
>> ...
>> Changes are all there. Then
>> svn ci -m 'blockhdr changes from dec 2006'
>> Sending Basics/Basics.mk
>> ...
>> Transmitting file data ..................svn: Commit failed (details
>> follow):
>> svn: Path 'Basics' not present
>>
>> WHAT does that mean?? Basics/Basics.mk has always been there.
>> svn stat shows the changes; svn info shows revision 4148.
>>
>> Now I'm confused -- I've got the files I want, and this worked:
>> svn copy . $SVNROOT/build/branches/bill_old
>> Committed revision 8752.
>>
>> What to do next?
>
>
> What you probably wanted to do instead is make a branch of the
> project at revision 4148, rather than branch it at HEAD like you did.
>
> $ svn rm $SVNROOT/build/branches/bill_blockhdr
> $ svn copy -r 4148 $SVNROOT/build/trunk $SVNROOT/build/branches/
> bill_blockhdr
>
> Now you can check out a working copy of that branch:
>
> $ svn checkout $SVNROOT/build/branches/bill_blockhdr
> $ cd bill_blockhdr
>
> Then you can copy in your changes from your CVS workspace and commit
> them.
>
> Then you can merge in the changes from 4148 to 8600 (or whatever your
> HEAD is now) using svn merge.
>
> $ svn merge -r 4148:8600 $SVNROOT/build/trunk .
>
> If you experience conflicts, resolve them, test, then commit. Let's
> say this gives you revision 8700.
>
> Now if you want to bring that change into the trunk, you can check
> out the trunk and merge the change there:
>
> $ svn checkout -r 8700 $SVNROOT/build/trunk
> $ cd trunk
> $ svn merge $SVNROOT/build/trunk@8700 $SVNROOT/build/branches/
> bill_blockhdr@8700 .
>
> This should apply cleanly and you can just test and commit.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Received on Tue Sep 25 16:08:40 2007

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.