git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bron Gondwana <brong@brong.net>
To: git@vger.kernel.org
Subject: WANTED: patch splitting tool - waypoints
Date: Sun, 2 May 2010 21:58:42 +1000	[thread overview]
Message-ID: <20100502115842.GA11607@brong.net> (raw)

Hi,

My toolkit is missing a tool.  I've never seen it
or anything like it, but I can describe it - and
hopefully someone else knows if it exists.

It's basically a combination of git rebase -i and
git add -p.  Something that allows you to split
either a single patch or a series of patches that
had bad "waypoints".

You can imagine the patch as a journey from A to B.
Only, that's a long journey, and the path between
them is a big ugly code dump.  The commits along
the way include various adventures down rabbit holes
that got backed out much later without necessarily
tidying up the history along the way.

This tool allows you to easily generate one
intermediate state.  Repeated application generates
multiple intermediate states until you have a nice
tidy patch series, every step of the way bisectable.

So the journey A => B becomes the journey A => W => B.

The tool allows you to quickly choose which hunks to
add to patch(A=>W) and which to add to patch(W=>B),
but also lets you make edits to the intermediate state
easily so that W will compile even if some bits of the
patch were intermingled.


Does anybody know of a tool that can do this?  Does it
sounds like something others would use?  I'm thinking
that you could sort of get there with a combination of
rebase squash, git add -p and a git stash holding the
state of 'B', but it would need to be scripted enough
that repeated application isn't a pain.  And a graphical/
ncurses interface like the kernel's "make menuconfig" at
the very least would make it much easier than paging
through piles of diff fragments and hoping you never
made a mistake.

Regards,

Bron.

             reply	other threads:[~2010-05-02 12:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-02 11:58 Bron Gondwana [this message]
2010-05-02 15:17 ` WANTED: patch splitting tool - waypoints Matthieu Moy
2010-05-02 15:20 ` Matthieu Moy
2010-05-02 23:40   ` Bron Gondwana
2010-05-03  6:31     ` Matthieu Moy
2010-05-02 21:10 ` Robin Rosenberg
2010-05-03  6:43 ` Yann Dirson

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=20100502115842.GA11607@brong.net \
    --to=brong@brong.net \
    --cc=git@vger.kernel.org \
    /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).