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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]