On Nov 11, 2008, at 09:30, Robert P. J. Day wrote:
> having figured out what i was doing wrong yesterday, i got
> svncopy.pl to make a copy of my trunk using "--pin-externals",
> but i got a nasty shock when i looked at the way the branch
> was created.
>
> as is my pattern when creating a branch from the trunk, i
> used:
>
> $ svncopy.pl --pin-externals .../trunk .../branches/mybranch
>
> what i expected to get in the repository was:
>
> .../repo/branches/mybranch/<content>
>
> what i got instead was:
>
> .../repo/branches/mybranch/trunk/<content>
> ^^^^^ ?
>
> why do i have that extra "trunk" directory level?
Hmm. I haven't used svncopy.pl but their readme does indeed show that
extra "trunk" level. Not sure why they thought this was a good idea.
http://svn.collab.net/repos/svn/trunk/contrib/client-side/svncopy/
svncopy.README
> that's
> certainly not what i get when i do a regular "svn copy",
> and it flies in the face of the help text from svncopy.pl,
> which reads,
>
> "This script copies one Subversion location or set of locations
> to another, in the same way as svn copy."
>
> well, no, that's *not* what svn copy does. so, a simple
> question -- is this the expected behaviour of svncopy.pl?
> since if it is, i'll obviously have to svncopy each top-level
> directory individually. or did i just do something stupid?
I agree, that doesn't seem to match what svn copy does.
$ svnadmin create repo
$ REPO=file://`pwd`/repo
$ svn mkdir $REPO/trunk -m ""
Committed revision 1.
$ svn mkdir $REPO/trunk/foo -m ""
Committed revision 2.
$ svn mkdir $REPO/branches -m ""
Committed revision 3.
$ svn mkdir $REPO/tags -m ""
Committed revision 4.
$ svncopy.pl --branch $REPO/trunk $REPO/branches/mybranch -m ""
=================================================================
=== Copying from:
=== file:///tmp/repo/trunk
===
=== Copying to:
=== file:///tmp/repo/branches/mybranch
===
=== - branching (updating fully-contained svn:externals definitions)
===
=== ... copy complete
=================================================================
$ svncopy.pl --tag $REPO/trunk $REPO/tags/mytag -m ""
=================================================================
=== Copying from:
=== file:///tmp/repo/trunk
===
=== Copying to:
=== file:///tmp/repo/tags/mytag
===
=== - tagging (pinning all svn:externals definitions to current
revision)
===
=== ... copy complete
=================================================================
$ svn cp $REPO/trunk $REPO/branches/mybranch2 -m ""
Committed revision 9.
$ svn cp $REPO/trunk $REPO/tags/mytag2 -m ""
Committed revision 10.
$ svn ls $REPO/branches
mybranch/
mybranch2/
$ svn ls $REPO/branches/mybranch
trunk/
$ svn ls $REPO/branches/mybranch/trunk
foo/
$ svn ls $REPO/branches/mybranch2
foo/
$ svn ls $REPO/tags
mytag/
mytag2/
$ svn ls $REPO/tags/mytag
trunk/
$ svn ls $REPO/tags/mytag/trunk
foo/
$ svn ls $REPO/tags/mytag2
foo/
$
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-11-11 23:07:13 CET