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

Re: Merging insanity

From: Hari Kodungallur <hkodungallur_at_gmail.com>
Date: 2005-09-02 16:26:25 CEST

On 9/1/05, Ian Eure <ieure@enotes.com> wrote:
> On Thursday 01 September 2005 04:52 pm, you wrote:
> > On 9/1/05, Ian Eure <ieure@enotes.com> wrote:
> > > On Sep 1, 2005, at 3:23 PM, Ben Collins-Sussman wrote:
> > > > Is all the fuss about trying to find the revision which is the
> > > > 'base' of the branch? The whole running 'svn log --stop-on-copy'
> > > > to figure out when the branch was created?
> > > >
> > > > Why not, when creating the branch, also make a tag of it:
> > > >
> > > > $ svn cp trunkURL branchURL
> > > > $ svn cp branchURL branch-beginning-tag-URL
> > > >
> > > > [...make changes on branch...]
> > > >
> > > > $ svn checkout trunkURL; cd trunk
> > > > $ svn merge branch-beginning-tag-URL branchURL
> > >
> > > Still too much work. And I believe you omitted the delete/recreate
> > > step for thee branch-beginning tag, which is still more work.
> >
> > I am not sure about delete/recreate. There was no discussion about
> > that. As for the creation of the branch-beginning tag, thats what you
> > would do in CVS -- you will have to create a branch-tag first and then
> > create the branch and then merge. Same number of steps.
> >
> It's that way in the FAQ:
> http://subversion.tigris.org/faq.html#merge-using-tags
>
> You most definitely do not have to create additional tags to use CVS like
> this. You simply create the branch, and merge changes from HEAD (or another)
> branch into the working copy.
>
>
> > > And creating new tags/branches [is] slooooooow.
> >
> > Are you talking about CVS or SVN?
> > If you are talking about SVN, then you have not read the book or tried
> > out branching examples yet. Apart from atomic commits, the best thing
> > I like about SVN is that it branches/tags in a snap. Try it out. I am
> > sure you will love it.
> >
> SVN. I have a 506mb repo, and it takes around an hour to create a new branch.
> I haven't tried a tag, but since branches and tags Are Just Directories, I
> assume it will be no different.
>
> I'm doing:
> $ svn copy trunk branches/new-branch; svn ci -m 'created new branch'
> branches/new-branch

Try

$svn copy trunkURL branchURL/new-branch

(no checkout required. no commit required)
If this takes you an hour (in fact, if it takes more than a second or
two), then there is something seriously wrong with the installation.

Also, I thought even the above method Ian is using should have been
very fast. I have never tried it though. Someone else in the group can
comment on it?

>
> Which is exactly what the manual states.
>
> It's not a snap, and I don't love it.
>
>
> > > But this is my point - Subversion knows (or should know) the revision
> > > at which a branch was created, so why is all this screwing around
> > > with revision numbers and tags necessary in the first place?
> >
> > This is because subversion can not assume that the user wants to merge
> > every change from the branch. You might want to merge only some
> > changes from the branch (as in periodic merges -- now, now, don't tell
> > me that its a lot more work to do periodic merges in SVN. it has been
> > flagged in the book and it also provides suggestions to handle such
> > situations).
> >
> I never said it should assume anything, but rather that it should know the
> correct revision to apply changes from in this scenario. I.e. if you omitted
> the revision, or explicitly requested it via a pseudo 'LASTCOPY' revision,
> instead of having to look up the correct revision by hand.
>
> It wouldn't be an issue if you could just say "merge the most recent changes
> from file or directory X in branch Y into the same file or directory in this
> branch," but you can't. You have to fool around with revision numbers, or
> tags, or whatever.
>

That's where you get into periodic merges. You will need to keep track
of merges. Unless you are coming from the clearcase world, you are not
used to merge tracking anyway.

-Hari
SpikeSource Inc.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Sep 2 16:28:20 2005

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