Subject: Re: git-svn and branches

From: Steven Walter <[email-masked]>
Date: Fri, 28 Sep 2007 13:19:59 -0400

On Thu, Sep 27, 2007 at 12:24:04AM -0700, Eric Wong wrote:
> I believe your case handles where a branch is created directly from a
> trunk copy with no file modifications in the branch, but not when a
> branch is created and files are modified in the trunk (or branch) within
> the same revision.  Is this what's happening?
> 
> Additionally, I think this breaks when an entire trunk or branch is
> moved around because the original directory has moved or gone away:
> 
>   /trunk => /project-a/trunk
> 
> Anyways, as Sam said, newer SVN (1.4.4+) has a working do_switch()
> function and that code path will never be hit at all.

I think you're right that my code would only handle a verbatim copy.  I
made a few changes and I think I have something that is more generally
useful.  Using a newer version of subversion isn't practical for me, as
this is a work situation where I don't have control of the workstations.

One criticism of the patch: the trees_match function probably needs to
be re-written.  My SVN::Perl-foo is weak.

Patch to follow
-- 
-Steven Walter <[email-masked]>
"A human being should be able to change a diaper, plan an invasion,
butcher a hog, conn a ship, design a building, write a sonnet, balance
accounts, build a wall, set a bone, comfort the dying, take orders,
give orders, cooperate, act alone, solve equations, analyze a new
problem, pitch manure, program a computer, cook a tasty meal, fight
efficiently, die gallantly. Specialization is for insects."
   -Robert Heinlein