All of lore.kernel.org
 help / color / mirror / Atom feed
From: Josh Triplett <josh@joshtriplett.org>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Christoph Lameter <cl@linux.com>,
	"ksummit-discuss@lists.linuxfoundation.org"
	<ksummit-discuss@lists.linuxfoundation.org>
Subject: Re: [Ksummit-discuss] [ANNOUNCE] git-series: track changes to a patch series over time
Date: Fri, 29 Jul 2016 09:21:04 -0700	[thread overview]
Message-ID: <20160729162104.GA12719@x> (raw)
In-Reply-To: <CAKMK7uGS5_0p-k1mvqPqCfii3_JsGpyW6BvxaYuxDQeuaFs+TA@mail.gmail.com>

On Fri, Jul 29, 2016 at 05:40:05PM +0200, Daniel Vetter wrote:
> On Fri, Jul 29, 2016 at 5:18 PM, Josh Triplett <josh@joshtriplett.org> wrote:
> > On Fri, Jul 29, 2016 at 05:00:06PM +0200, Daniel Vetter wrote:
> >> And the other reason is the same you have: Editing raw patches is
> >> really powerful for doing rebases over mechanical changes. Function
> >> renames become a trivial quilt pop -a ; sed; while quilt push ; do
> >> make ; done.
> >
> > Interesting!  I'll have to give that some thought, to figure out if
> > I can support workflows like that.
> >
> > What other kinds of changes do you tend to make by editing patches
> > directly?
> 
> The other upshot of raw patches is that you can use horrible risky
> tools like wiggle to force a patch to apply. git is a lot more strict
> and ime wiggle helps you with a lot of simple rebase conflicts. I have
> small helper scripts to integrate wiggle both into that quilt flow
> script, but also into normal git rebase.

That does sound useful.  It'd be nice to have "git apply --wiggle" and
"git am --wiggle", too.

> > I'm tempted to add a "git series filter" that applies filter-branch to
> > the commits in the series, or something similar to that.  I'll also have
> > to think about the use case of testing each commit in the series, to see
> > if that needs support from git-series or just from underlying git tools.
> 
> Another one I really started to like is that you can visually compare
> changes to a patch. It takes a bit of experience reading them, but
> after a while diffs-of-patches start to make as much sense as a plain
> patch, e.g.
> - Context movements easily stand out, they only touch @@ lines or
> lines not starting in +/-.
> - Rebasing adjustements in the patch itself (in the + lines of the patch).
> - Direct code conflicts with upstream (anything that changes a - line
> in the patch).
> 
> I think that's the other massive benefit of working on a pile of patches.

That's actually the output I'm planning to provide for "git series diff"
or "git series log -p" to show the diff between patch series.

> But the problem is that all three (bisecting, sed on raw patches and
> patch-diffs) are only really useful if you have to maintain a rebasing
> tree over a really long time (months/years). I think for a normal
> feature patch series your git series is more than sufficient.

I'd like git-series to work for both workflows.  The feature patch case
is definitely easier, but I'd like to support long-standing rebasing
trees too.  Use cases include maintainer trees like yours, as well as
distribution packaging repositories with patches, and vendor/product
kernels.

> PS: Since we work for the same company I can actually show you the
> internal branch if you're interested in how this works ;-)

Definitely interested; perhaps when I'm back from sabbatical. :)

- Josh Triplett

  reply	other threads:[~2016-07-29 16:21 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-29  7:50 [Ksummit-discuss] [ANNOUNCE] git-series: track changes to a patch series over time Josh Triplett
2016-07-29 12:20 ` David Howells
2016-07-29 13:11   ` Josh Triplett
2016-08-04 22:46     ` Catalin Marinas
2016-08-04 23:07       ` Michael S. Tsirkin
2016-08-08 17:27         ` Catalin Marinas
2016-08-15 23:44           ` Michael S. Tsirkin
2016-08-04 23:46       ` Josh Triplett
2016-08-08 17:37         ` Catalin Marinas
2016-07-29 14:06   ` David Howells
2016-07-29 14:21     ` Christoph Lameter
2016-07-29 14:37       ` Josh Triplett
2016-07-29 15:00       ` Daniel Vetter
2016-07-29 15:18         ` Josh Triplett
2016-07-29 15:40           ` Daniel Vetter
2016-07-29 16:21             ` Josh Triplett [this message]
2016-07-29 16:31               ` Luis R. Rodriguez
2016-07-29 17:52       ` Bird, Timothy
2016-07-29 17:57         ` James Bottomley
2016-07-29 21:59           ` James Hogan
2016-07-30  2:55           ` Steven Rostedt
2016-07-29 20:13         ` David Howells
2016-07-30  5:02           ` Josh Triplett
2016-07-30  8:43             ` Arnd Bergmann
2016-08-04 12:44             ` Jani Nikula
2016-07-29 14:34     ` Josh Triplett
2016-07-29 14:37     ` David Howells
2016-07-29 14:56       ` Josh Triplett
2016-07-29 14:55 ` James Bottomley
2016-07-29 15:05   ` Josh Triplett
2016-08-09  0:10     ` Paul E. McKenney
2016-07-29 15:26 ` James Hogan
2016-08-04 23:52 ` Michael S. Tsirkin
2016-08-05 20:26   ` Josh Triplett
2016-08-15 13:20     ` James Hogan
2016-08-15 16:14       ` Josh Triplett
2016-08-15 23:42     ` Michael S. Tsirkin
2016-08-15 12:53 ` James Hogan
2016-08-15 16:34   ` Josh Triplett
2016-08-15 18:46     ` James Hogan
2016-08-15 21:35       ` Josh Triplett
2016-08-15 22:06         ` James Hogan
2016-08-15 23:59           ` Josh Triplett
2016-08-16  2:38             ` Michael S. Tsirkin

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=20160729162104.GA12719@x \
    --to=josh@joshtriplett.org \
    --cc=cl@linux.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=ksummit-discuss@lists.linuxfoundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.