"Johannes Schindelin via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Johannes Schindelin <johannes.schindelin@xxxxxx> > > The builtin rebase and the builtin interactive rebase have been > developed independently, on purpose: Google Summer of Code rules > specifically state that students have to work on independent projects, > they cannot collaborate on the same project. A much better description, especially without the less relevant "the reason probably is..." omitted from here. The author's personal guess, while adding it does not help understanding what is already in the above paragraph an iota, is still a fine reading material in the cover letter 0/1, though. > One fallout is that the rebase-in-c and rebase-i-in-c patches cause no > merge conflicts but a royal number of tests in the test suite to fail. > > It is easy to explain why: rebase-in-c was developed under the > assumption that all rebase backends are implemented in Unix shell script > and can be sourced via `. git-rebase--<backend>`, which is no longer > true with rebase-i-in-c, where git-rebase--interactive is a hard-linked > builtin. > > This patch fixes that. > > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > --- > builtin/rebase.c | 81 ++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 81 insertions(+) Will replace by doing: $ git checkout js/rebase-in-c-5.5-work-with-rebase-i-in-c $ git checkout HEAD^ $ git am -s mbox $ git range-diff @{-1}... $ git checkout -B @{-1} $ git checkout pk/rebase-i-in-c-6-final $ git rebase --onto js/rebase-in-c-5.5-work-with-rebase-i-in-c \ js/rebase-in-c-5.5-work-with-rebase-i-in-c@{1} HEAD^0 $ git range-diff @{-1}... $ git checkout -B @{-1} to update the two topics and then rebuilding the integration branches the usual way. I also need to replace the "other" topic used in this topic, so the actual procedure would be a bit more involved than the above, though. Thanks.