On 9/1/05, Ian Eure <email@example.com> wrote:
> On Thursday 01 September 2005 04:52 pm, you wrote:
> > On 9/1/05, Ian Eure <firstname.lastname@example.org> 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:
> 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'
$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.
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Fri Sep 2 16:28:20 2005