git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Schindelin <johannes.schindelin@gmx.de>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>
Subject: [PATCH v2 0/2] Let the sequencer handle the grunt work of rebase -i
Date: Thu, 9 Feb 2017 23:22:59 +0100 (CET)	[thread overview]
Message-ID: <cover.1486678952.git.johannes.schindelin@gmx.de> (raw)
In-Reply-To: <cover.1472805251.git.johannes.schindelin@gmx.de>

After all of these patch series y'all had to review, this is finally the
one that switches things over.

Please note that it does not (yet) handle the `git rebase -i --root`
invocation; I tried to focus on the common case, and I rarely use --root
myself.

Please note also that --preserve-merges is *not* handled.

The way I designed --preserve-merges is totally stupid and idiotic and I
do not want to spend any further time on it. You cannot "pick" merges
and hope to be able to reorder commits, for example. I may work on
porting Git garden shears' way to recreate the branch structure into
rebase -i proper at some stage.

And please finally note that this pair of patches does not yet yield the
full speed improvement that I promised earlier. After these patches, the
time is dominated by pre- and post-processing the todo script, at least
on Windows, so there is another patch series that ports those bits and
pieces into the rebase--helper, too.

Changes since v1:

- rebased to current master

- this required a change in t3404 because I was bullied^Wasked to change
  some messages (which should not have been conflated with the work I
  actually wanted to do, but whatevs)


Johannes Schindelin (2):
  Add a builtin helper for interactive rebases
  rebase -i: use the rebase--helper builtin

 .gitignore                    |  1 +
 Makefile                      |  1 +
 builtin.h                     |  1 +
 builtin/rebase--helper.c      | 40 ++++++++++++++++++++++++++++++++++++++++
 git-rebase--interactive.sh    | 13 +++++++++++++
 git.c                         |  1 +
 t/t3404-rebase-interactive.sh |  2 +-
 7 files changed, 58 insertions(+), 1 deletion(-)
 create mode 100644 builtin/rebase--helper.c


base-commit: 6e3a7b3398559305c7a239a42e447c21a8f39ff8
Based-On: sequencer-i at https://github.com/dscho/git
Fetch-Base-Via: git fetch https://github.com/dscho/git sequencer-i
Published-As: https://github.com/dscho/git/releases/tag/rebase--helper-v2
Fetch-It-Via: git fetch https://github.com/dscho/git rebase--helper-v2

Interdiff vs v1:

 diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
 index e2f18d11f6..33d392ba11 100755
 --- a/t/t3404-rebase-interactive.sh
 +++ b/t/t3404-rebase-interactive.sh
 @@ -556,7 +556,7 @@ test_expect_success 'clean error after failed "exec"' '
  	echo "edited again" > file7 &&
  	git add file7 &&
  	test_must_fail git rebase --continue 2>error &&
 -	test_i18ngrep "You have staged changes in your working tree." error
 +	test_i18ngrep "you have staged changes in your working tree" error
  '
  
  test_expect_success 'rebase a detached HEAD' '

-- 
2.11.1.windows.1


  parent reply	other threads:[~2017-02-09 22:25 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-02  8:34 [PATCH 0/2] Let the sequencer handle the grunt work of rebase -i Johannes Schindelin
2016-09-02  8:34 ` [PATCH 1/2] Add a builtin helper for interactive rebases Johannes Schindelin
2016-09-02  8:34 ` [PATCH 2/2] rebase -i: use the rebase--helper builtin Johannes Schindelin
2017-02-09 22:22 ` Johannes Schindelin [this message]
2017-02-09 22:23   ` [PATCH v2 1/2] Add a builtin helper for interactive rebases Johannes Schindelin
2017-02-09 22:23   ` [PATCH v2 2/2] rebase -i: use the rebase--helper builtin Johannes Schindelin
2017-02-09 22:40   ` [PATCH v2 0/2] Let the sequencer handle the grunt work of rebase -i Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1486678952.git.johannes.schindelin@gmx.de \
    --to=johannes.schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 NNTP newsgroup(s).