[cfe-dev] Questions about Workflow & Submitting Patches

Bruce Hoult via cfe-dev cfe-dev at lists.llvm.org
Tue Oct 16 02:22:34 PDT 2018

On Tue, Oct 16, 2018 at 1:55 AM, Whisperity via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> After this "inner review" is done, we usually introduce them to the
> biggest bane of all Git works: rebasing. If their checker works on the
> local fork (whichever latest release of master they did), we, of
> course, require them to do a rebase

It's not like this is any easier with a different CVS. Certainly not with
svn. Git just lets you find the problems faster :-)

I *highly* recommend git-imerge https://github.com/mhagger/git-imerge

With simple "git rebase" you learn that your commit conflicts with
*something* in the firehose of maybe thousands of commits on master. But
which one? No idea.

With a git-imerge rebase you learn precisely *which* master commit
conflicts with precisely which of your local commits. You see the commit
messages of both commits, so you know what was trying to be achieved. And
there are no other diffs unrelated to the two conflicting commits.

git-imerge takes a bit longer than a standard git rebase, but it's mostly
your computer doing the work, not you. You can go to lunch (or go to sleep)
and then fix the problems it found.

 # unrelated to git-imerge, recommended with normal merge/rebase too
git config merge.conflictstyle diff3

git checkout master
git imerge start --name=my-new-rebased-branch --goal=rebase my-branch

# if merge error
# fix the problems. Compile, test, etc

git add ...
git imerge continue

git imerge finish
# test your new branch more extensively then rename branches as desired
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20181016/a201a266/attachment.html>

More information about the cfe-dev mailing list