Hi!
At $DAYJOB, we have a lot of code flowing from a central repository
to repositories which hold refinitions and ports of the code from the
central repository. Often enough the people working on the porting
repositories find bugs in the code from the central repository, and
want to submit patches upstream.
We want to get these patches upstream in the easiest possible manner,
and a clever colleague of mine came up with this recipe, to be run
from the downstream repository:
git log --reverse --format="pick %h %s" master.. -- common_paths >
changes.txt
This gives a list of the commits changing the code in the common paths
(we try to make sure to make them in separate changesets, not touching
the downstream code), in a format that can be used as input to git
rebase --interactive.
Now, to my question. Is there an easy way to run interactive rebase
on the upstream branch with this recipe? The best we have come up with
so far is
git checkout master # the upstream branch
git rebase -i HEAD~
and then just append everything from the generated recipe. This
doesn't play well if the last commit is a merge, though (making a
dummy commit and just removing it from the default rebase recipe works
for that case, though).
I was thinking about using git cherry-pick with a list of commits,
rebase is better at helping with conflicts and such.
--
\\// Peter - http://www.softwolves.pp.se/
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html