Thread (29 messages) flat view 29 messages, 1 author, 2016-06-15
DORMANTno replies

Revision v6 of 3 in this series.

Revisions (3)
  1. v4 [diff vs current]
  2. v5 [diff vs current]
  3. v6 current

[PATCH v6 00/28] Massive improvents to rebase and cherry-pick

From: Felipe Contreras <hidden>
Date: 2016-06-15 22:58:34

Hi,

These are improvements to 'git rebase' by using a much improved 'git
cherry-pick'.

A new rewrite.c helper is added, and builtin/commit updated to use
that.

A new git-rebase--cherypick mode is added, and it replaces git-rebase--am and
git-rebase--merge.

Felipe Contreras (28):
  cherry-pick: don't barf when there's nothing to do
  cherry-pick: add --skip-empty option
  revert/cherry-pick: add --quiet option
  revert/cherry-pick: add --skip option
  builtin: add rewrite helper
  cherry-pick: store rewritten commits
  cherry-pick: don't store skipped commit
  builtin: move run_rewrite_hook() to rewrite.c
  builtin: rewrite: add copy_rewrite_notes()
  cherry-pick: add --action-name option
  cherry-pick: copy notes and run hooks
  cherry-pick: remember rerere-autoupdate
  rebase: split the cherry-pick stuff
  rebase: cherry-pick: fix mode storage
  rebase: cherry-pick: fix sequence continuation
  rebase: cherry-pick: fix abort of cherry mode
  rebase: cherry-pick: fix command invocations
  rebase: cherry-pick: fix status messages
  rebase: cherry-pick: automatically commit stage
  rebase: cherry-pick: set correct action-name
  rebase: trivial cleanup
  t: rebase-autostash: fix setup
  sequencer: store progress information
  prompt: parse cherry-pick rebase mode
  rebase: use 'cherrypick' mode instead of 'am'
  rebase: cherry-pick: add merge options
  rebase: remove merge mode
  rebase: cherry-pick: add copyright

 .gitignore                             |   2 +-
 Documentation/config.txt               |   9 +-
 Documentation/git-cherry-pick.txt      |  10 ++-
 Documentation/git-revert.txt           |   7 +-
 Documentation/githooks.txt             |   8 +-
 Documentation/sequencer.txt            |   3 +
 Makefile                               |   4 +-
 builtin/commit.c                       |  46 ++--------
 builtin/revert.c                       |  17 ++++
 contrib/completion/git-prompt.sh       |  16 ++--
 git-rebase--am.sh                      |  12 +--
 git-rebase--cherrypick.sh              |  66 ++++++++++++++
 git-rebase--interactive.sh             |   6 +-
 git-rebase--merge.sh                   | 151 ---------------------------------
 git-rebase.sh                          |  16 ++--
 rewrite.c                              | 122 ++++++++++++++++++++++++++
 rewrite.h                              |  20 +++++
 sequencer.c                            | 124 +++++++++++++++++++++++++--
 sequencer.h                            |   8 +-
 t/t3406-rebase-message.sh              |  14 +--
 t/t3407-rebase-abort.sh                |   2 +-
 t/t3420-rebase-autostash.sh            | 107 ++++++++++++-----------
 t/t3425-rebase-topology-merges.sh      |  15 ++--
 t/t3508-cherry-pick-many-commits.sh    |  13 +++
 t/t3510-cherry-pick-sequence.sh        |  14 ++-
 t/t5520-pull.sh                        |   2 +-
 t/t9106-git-svn-commit-diff-clobber.sh |   2 +-
 t/t9903-bash-prompt.sh                 |   2 +-
 28 files changed, 496 insertions(+), 322 deletions(-)
 create mode 100644 git-rebase--cherrypick.sh
 delete mode 100644 git-rebase--merge.sh
 create mode 100644 rewrite.c
 create mode 100644 rewrite.h

-- 
1.8.4-fc
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help