From: Junio C Hamano Date: Thu, 08 May 2008 01:55:28 GMT Subject: Re: [PATCH] Teach git-svn how to catch up with its tracking branches Message-ID: <7v63tpd0fj.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20080508013956.GA24956@midwinter.com> Steven Grimm writes: > In environments where a lot of people are sharing an svn repository using > git-svn, everyone has identical, but individually maintained, tracking > branches. If the svn repository is very active, it can take a while to > run "git svn fetch" (which has to individually construct each revision > by querying the svn server). It's much faster to run "git fetch" against > another git-svn repository to grab the exact same git revisions you'd get > from "git svn fetch". But until now, git-svn was confused by this because > it didn't know how to incrementally rebuild its map of revision IDs. > The only choice was to completely remove the map file and rebuild it > from scratch, possibly a lengthy operation when there's a lot of history. > > With this change, git-svn will try to do an incremental update of its > revision map if it sees that its tracking branch has svn revisions that > aren't in the map yet. Being able to have a shared git-svn managed git repository that mirrors svn is something people have asked often enough, but the recommended practice has always been for each to have his own copy. Although I do not use git-svn heavily myself, I like this addition. We would probably want to update the in-tree doc to cover a recommended pattern of interacting multiple git repositories with a single svn repository on the other side?