mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Wink Saville <>
Cc:, Wink Saville <>
Subject: [RFC PATCH 0/3] rebase-interactive
Date: Tue, 20 Mar 2018 13:45:04 -0700	[thread overview]
Message-ID: <> (raw)

I've not worked on the git sources before and while looking into
fixing test_expect_failure 'exchange two commits with -p' in, I found it difficult to understand
the git testing infracture and

So as part of learning my way around I thought I'd refactor
git-rebase--interactive to make it easier for me to understand.
At this point I do have some understanding and will be working
on fixing the bug. In the mean time I'm requesting comments on
this refactoring patch sequence.

Patch 0001 creates a library of functions which can be
used by git-rebase--interactive and
git-rebase--interactive--preserve-merges. The functions are
those that exist in plus new
functions created from the body of git_rebase_interactive
that will be used git_rebase_interactive in the third patch
and git_rebase_interactive_preserve_merges in the second
patch. None of the functions are invoked so there is no
logic changes and the system builds and passes all tests

Patch 0002 creates
with the function git_rebase_interactive_preserve_merges. The contents
of the function are refactored from git_rebase_interactive and
uses existing and new functions in the library. A small modification
of git-rebase is also done to invoke the new function when the -p
switch is used with git-rebase. When this is applied on top of
0001 the system builds and passes all tests on

The final patch, 0003, removes all unused code from
git_rebase_interactive and uses the functions from the library
where appropriate. And, of course, when applied on top of 0002
the system builds and passes all tests on

Wink Saville (3):
  rebase-interactive: create
  rebase-interactive: create git-rebase--interactive--preserve-merges
  rebase-interactive: refactor git-rebase--interactive to use library

 .gitignore                                  |    2 +
 Makefile                                    |    2 +             |  944 +++++++++++++++++++++++++ |  134 ++++                  | 1019 +--------------------------                               |    7 +-
 6 files changed, 1107 insertions(+), 1001 deletions(-)
 create mode 100644
 create mode 100644


             reply	other threads:[~2018-03-20 20:45 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-20 20:45 Wink Saville [this message]
2018-03-20 20:45 ` [RFC PATCH 1/3] rebase-interactive: create Wink Saville
2018-03-20 20:45 ` [RFC PATCH 2/3] rebase-interactive: create git-rebase--interactive--preserve-merges Wink Saville
2018-03-20 20:45 ` [RFC PATCH 3/3] rebase-interactive: refactor git-rebase--interactive to use library Wink Saville
2018-03-20 21:11 ` [RFC PATCH 0/3] rebase-interactive Eric Sunshine
2018-03-20 21:23   ` Wink Saville
2018-03-20 21:47     ` Eric Sunshine
2018-03-21  3:31       ` Wink Saville
2018-03-21  8:54         ` Eric Sunshine
2018-03-21 17:44           ` [RFC PATCH v2 0/1] rebase-interactive: Add git_rebase__interactive__preserve_merges Wink Saville
2018-03-21 17:44           ` [RFC PATCH v2 1/1] " Wink Saville
2018-03-21 19:42             ` Junio C Hamano
2018-03-21 21:49               ` Wink Saville
2018-03-21 22:43                 ` 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:

  List information:

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

  git send-email \ \ \ \ \

* 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.
Code repositories for project(s) associated with this public inbox

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