git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 0/1] Teach the builtin rebase about the builtin interactive rebase
@ 2018-08-22 21:35 Johannes Schindelin via GitGitGadget
  2018-08-22 21:35 ` [PATCH 1/1] builtin rebase: prepare for builtin rebase -i Johannes Schindelin via GitGitGadget
                   ` (3 more replies)
  0 siblings, 4 replies; 22+ messages in thread
From: Johannes Schindelin via GitGitGadget @ 2018-08-22 21:35 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano

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.

The reason is probably the very fine tradition in academia to prohibit
teamwork, which makes grading easier (at the expense of not exactly
preparing the students for the real world, unless they want to stay in
academia).

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.

Note: while this patch targets pk/rebase-in-c-6-final, it will not work
correctly without ag/rebase-i-in-c. So my suggestion is to rewrite the 
pk/rebas-in-c-6-final branch by first merging ag/rebase-i-in-c, then
applying this here patch, and only then cherry-pick "rebase: default to
using the builtin rebase".

Johannes Schindelin (1):
  builtin rebase: prepare for builtin rebase -i

 builtin/rebase.c | 81 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 81 insertions(+)


base-commit: a5bb2345d2d414aba04e18531de1e0f041f0434a
Published-As: https://github.com/gitgitgadget/git/releases/tags/pr-23%2Fdscho%2Frebase-in-c-6-final-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-23/dscho/rebase-in-c-6-final-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/23
-- 
gitgitgadget

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2018-10-12  7:59 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-22 21:35 [PATCH 0/1] Teach the builtin rebase about the builtin interactive rebase Johannes Schindelin via GitGitGadget
2018-08-22 21:35 ` [PATCH 1/1] builtin rebase: prepare for builtin rebase -i Johannes Schindelin via GitGitGadget
2018-08-22 21:50 ` [PATCH 0/1] Teach the builtin rebase about the builtin interactive rebase Junio C Hamano
2018-08-23  2:48 ` Jonathan Nieder
2018-08-25 23:46   ` Johannes Schindelin
2018-08-27 17:48     ` Junio C Hamano
2018-08-28 12:53       ` Johannes Schindelin
2018-08-28 15:34         ` Junio C Hamano
2018-08-29 13:24           ` Johannes Schindelin
2018-08-28 17:17         ` Jonathan Nieder
2018-08-29 14:29           ` Johannes Schindelin
2018-08-29 14:31 ` [PATCH v2 " Johannes Schindelin via GitGitGadget
2018-08-29 14:31   ` [PATCH v2 1/1] builtin rebase: prepare for builtin rebase -i Johannes Schindelin via GitGitGadget
2018-08-29 22:40     ` Junio C Hamano
2018-08-30 11:03       ` Johannes Schindelin
2018-08-30 20:09         ` Jeff King
2018-08-31 20:38           ` Johannes Schindelin
2018-08-31 20:48             ` Jeff King
2018-10-05 15:54   ` [PATCH v3 0/1] Teach the builtin rebase about the builtin interactive rebase Johannes Schindelin via GitGitGadget
2018-10-05 15:54     ` [PATCH v3 1/1] builtin rebase: prepare for builtin rebase -i Johannes Schindelin via GitGitGadget
2018-10-06 23:50     ` [PATCH v3 0/1] Teach the builtin rebase about the builtin interactive rebase Junio C Hamano
2018-10-12  7:59       ` Johannes Schindelin

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).