Re: Alioth - Convert SVN repo to Git
On Wed, Mar 25, 2009 at 02:13:42PM +0000, Roger Leigh <firstname.lastname@example.org> wrote:
> On Tue, Mar 24, 2009 at 08:44:55PM +0100, sean finney wrote:
> > On Tue, Mar 24, 2009 at 09:52:28AM -0700, Ryan Niebur wrote:
> > > > find . -type f -name 'foo*.dsc' | sort (or similar tools, make sure they're
> > > > sorted in a way as dpkg would sort the versions) | while read i; do
> > > > git-import-dsc $i
> > > > done
> > > >
> > >
> > > git-import-dscs (note the extra s on the end) does exactly this.
> > holy crap that's an awesome tool.
> > i just tried this on a directory containing all the currently relevant
> > php5 .dscs/.orig.tar.gzs/.diff.gzs and it did exactly what i would have
> > hoped that it should do. i think that pkg-php will be switching to git
> > much sooner than expected now :)
> For me, the main major blocker is the lack of upstream->master merges
> in the history. Given that we are importing all of the upstream, and
> all of the debian releases, merge conflicts have already been handled
> and so it should be possible to do this since we have all of the
> information to hand (see #506211).
> This means you can't commit a new upstream release to the upstream
> branch and this do a "git merge upstream" on the master branch until
> you do an initial merge of all the conflicts in the history to this
> point (which can be a huge amount of work). Given that both should
> have a common ancestor (the original upstream commit), if the initial
> import also does an upstream->master merge for each new upstream,
> prior to adding the debian changes, it would work wonderfully.
You don't need to do that on initial import. You can use a grafts file
to create the history you like from these 2 unrelated branches, and
you can then use git filter-branch to rewrite the master branch to
have the commits rewritten to use this grafted history (then you can
remove the grafts file).