xfs
[Top] [All Lists]

Re: XFS Master Branch Rebase

To: Alex Elder <aelder@xxxxxxx>
Subject: Re: XFS Master Branch Rebase
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed, 28 Jul 2010 09:27:19 +1000
Cc: xfs@xxxxxxxxxxx
In-reply-to: <1280247366.2002.111.camel@doink>
References: <1280247366.2002.111.camel@doink>
User-agent: Mutt/1.5.20 (2009-06-14)
On Tue, Jul 27, 2010 at 11:16:06AM -0500, Alex Elder wrote:
> Some recent commits have resulted in changes to
> the XFS master branch that result in non-trivial
> merges, which are not something we want to have in
> our git history.  (I didn't realize this when I
> pushed my last set of updates out, unfortunately.)
> 
> To remedy this, I'm have re-based the XFS master
> branch on oss.sgi.com against v2.6.35-rc6.

<groan>

Alex, this is a bit annoying. Rebases are a real pain for anyone
downstream that is using git in non-trivial ways. I'll give you an
idea of what this means to me - for the xfs tree directly:

        - bare repository on kernel.org I have to fix
        - local bare repo pulled from kernel.org I have to fix
        - local working repo I have to fix with about 10 separate
          working branches that I have now have to rebase
        - run garbage collection on all repos

And for the for-2.6.36 branch of my xfsdev.git tree on kernel.org
(which I've been careful not to require rebasing as the OSS tree has
gained more commits):

        - all the commits in that branch are stale, so the branch
          has to be destroyed (in 3 repos)
        - remove any branch based on for-2.6.36 in 2 bare repos
        - recreate a new branch and pull the new xfs tree commits
          into it and push it back out to bare repos
        - rebase another ~10 local working branches based on the
          for-2.6.36 branch and push them back out
        - restage all the pending commits that I hadn't pushed out
          on that branch yet.
        - run garbage collection on all repos

And to top that all off - I know that people have pulled branches
from this tree that are based on for-2.6.36, so they are going to
get problems when trying to update them again. i.e. an upstream
rebase triggers problems for users downstream of my repo, not just
the direct downstream of the OSS repo....

....

> If you have a different branch checked out, you
> can do this instead to force the re-based commits
> to land in your "xfs-master" branch:
>     git pull git://oss.sgi.com/xfs/xfs.git +master:xfs-master

You don't want to do this - the forced merge causes a branch in
history in the local repository and hence it's no longer an
identical copy of the upstream repository any more. I got caught by
this on a previous rebase when I started pushing commits back out
and people tried to pull them...

Cheers,

Dave.

-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>