From: Eric Wong Date: Thu, 02 Jul 2009 08:16:15 GMT Subject: Re: git svn's performance on cloning mono's branches/tags... Message-ID: <20090702081615.GB11119@dcvr.yhbt.net> In-Reply-To: <3ace41890906272008t96bfb04q7218e95055897900@mail.gmail.com> Hin-Tak Leung wrote: > On Sat, Jun 27, 2009 at 2:17 AM, Hin-Tak Leung wrote: > > > the tags, branches, url entries are effectively the same, I think - so > > the main difference is using trunk instead of fetch. > > Why does it make any difference? The example at the bottom of > > git-svn's man page uses the trunk notation. Maybe it should be > > changed? > > To answer my question - I think the man page should be updated. Somebody actually fixed it a while back: commit 0e5e69a355b7bdd1af6ca33ac7ee35299bda368e Author: Wesley J. Landaker Date: Wed Apr 1 16:05:01 2009 -0600 Documentation: git-svn: fix trunk/fetch svn-remote key typo As far as performance goes, SVN's flexibility of tagging and having multiple subprojects interacts quite badly with git svn's --stdlayout behavior. With --stdoulayout, git svn supports tags/branches that are directly descended from the top-level of trunk: svn cp $root/trunk $root/tags/0.1.0 However, it looks like mono does things like this: svn cp $root/trunk/mono $root/tags/mono-0.1.0 And when git svn sees that $root/tags/mono-0.1.0's parent is $root/trunk/mono and not $root/trunk (which it's actually following), it will try to fetch the complete history of $root/trunk/mono ($root/trunk may not contain all the history $root/trunk/mono contained, either). -- Eric Wong