All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joe MacDonald <Joe_MacDonald@mentor.com>
To: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: openembedded-devel@lists.openembedded.org
Subject: Re: Still many meta-networking changes waiting in patchwork/master-next
Date: Thu, 3 Mar 2016 15:46:46 -0500	[thread overview]
Message-ID: <20160303204645.GF4671@mentor.com> (raw)
In-Reply-To: <1592801.EHfQ34bF0n@peggleto-mobl.ger.corp.intel.com>

[-- Attachment #1: Type: text/plain, Size: 7772 bytes --]

[Re: [oe] Still many meta-networking changes waiting in patchwork/master-next] On 16.03.03 (Thu 11:08) Paul Eggleton wrote:

> On Wed, 02 Mar 2016 08:27:26 Joe MacDonald wrote:
> > [Re: [oe] Still many meta-networking changes waiting in patchwork/master-
> next] On 16.03.02 (Wed 11:33) Martin Jansa wrote:
> > > On Fri, Feb 26, 2016 at 08:39:45PM -0500, Joe MacDonald wrote:
> > > > Hi Martin,
> > > > 
> > > > [Re: [oe] Still many meta-networking changes waiting in 
> patchwork/master-next] On 16.02.26 (Fri 20:56) Martin Jansa wrote:
> > > > > On Fri, Feb 26, 2016 at 01:13:17PM -0500, Joe MacDonald wrote:
> > > > > > Hey Martin,
> > > > > > 
> > > > > > [[oe] Still many meta-networking changes waiting in 
> patchwork/master-next] On 16.02.25 (Thu 18:19) Martin Jansa wrote:
> > > > > > > Hi Joe.
> > > > > > 
> > > > > > > there are still 18 meta-networking commits in master-next:
> > > > > > I thought I'd follow up to this and let you know I'll do something
> > > > > > with
> > > > > > these before the end of the month.  Almost all of them (waf-samba
> > > > > > aside)
> > > > > > obviously got missed because I'm watching patchwork based on
> > > > > > 'meta-networking' and none of these had it in the subject line.
> > > > > > 
> > > > > > I think I've asked before, but are you curating all of those bundles
> > > > > > by
> > > > > > hand or have you got some machinery that filters patches into
> > > > > > bundles
> > > > > > based on path names in the patches?  Because that would be kind of
> > > > > > neat
> > > > > > to have.
> > > > > 
> > > > > I think I've answered before, but I'm filtering them manually based on
> > > > > subject and also actual paths inside the patch. I also need to mark
> > > > > them
> > > > > "Accepted", "Superseded", ..  manually, there is git hooks which is
> > > > > supposed to mark at least accepted one, but it finds 1 from 1000 if
> > > > > any.
> > > > 
> > > > Yeah, I've seen the hooks trying to find something when I push commits
> > > > and
> > > > just spewing a slew of errors.  I generally do my best to stay on top of
> > > > the status in patchwork, doing it all at one time, though.
> > > > 
> > > > > This is of course a bit error prone, especially when there are
> > > > > multiple
> > > > > versions of the same patch already in master-next - I usually end up
> > > > > marking all versions merged patch as Accepted (unless I've marked
> > > > > older
> > > > > versions already as Superseded when filtering incoming queue).
> > > > 
> > > > I took a bit of time this afternoon to try to come up with a way to
> > > > automate at least part of the process for me and I'm sure there's a
> > > > better
> > > > way to do it (hence why I asked again) but since it sounds like you're
> > > > doing it by hand for a much larger space than I am, maybe there's not.
> > > > 
> > > > Anyway, for what it's worth, here's what I came up with:
> > > >    git log --cherry-pick --format="'%s'" \
> > > >    
> > > >       oe/master-next...oe/master meta-networking | \
> > > >       xargs -r -n1 pwclient search -f "%{id} %{name}" -s New
> > > > 
> > > > Which does pretty well, though it obviously goes a little insane if
> > > > someone puts a ' in the short log, but it didn't seem worth trying to
> > > > work
> > > > around that pretty rare (I hope) corner case.  As an aside, the first
> > > > time
> > > > I did this I was using --format="\"%s\"" and the *very* top commit
> > > > ('recipes: Replace "cp ...) showed me what kind of pain I'm in for when
> > > > there are colliding characters in the short log.  It's ugly but nothing
> > > > catastrophic.
> > > > 
> > > > So that gave me 14 of the patches you asked about.  The others were easy
> > > > 
> > > > to find:
> > > >    git log --cherry-pick --format="'%s'" \
> > > >    
> > > >       oe/master-next...oe/master meta-networking | \
> > > >       xargs -r -n1 pwclient search -f "%{id} %{name}" -s Accepted
> > > > 
> > > > But obviously they haven't been accepted into 'master' next, obviously
> > > > just a typo or a mis-click at some point.  So that's not bad.
> > > > 
> > > > Once I had that sanity check done, it's easy to harvest them all:
> > > >    git log --cherry-pick --format="'%s'" \
> > > >    
> > > >       oe/master-next...oe/master meta-networking | \
> > > >       xargs -r -n1 pwclient search -f "%{name}" -s new | \
> > > >       sed 's=\[.*\] *==;s="=.=g;s=\(.*\)="\1"=' | \
> > > >       xargs -r -n1 git log --format="%h" --grep | \
> > > >       xargs -r -n1 git cherry-pick -s
> > > > 
> > > > The hideous sed in the middle is just to throw out stuff from the
> > > > pwclient
> > > > output that doesn't appear in the git logs (eg. "[v2]") and to skip over
> > > > the craziness that happens on the 'git log grep' if you have a " in the
> > > > subject.
> > > > 
> > > > Run it a second time to grab the three 'accepted' patches and we're
> > > > nearly
> > > > done.
> > > > 
> > > > Setting aside all of the inspection steps that follow that nobody would
> > > > want to automate, the same machinery applies equally well to keeping
> > > > 
> > > > patchwork up to date:
> > > >    git log --cherry-pick --format="'%s'" \
> > > >    
> > > >       master...oe/master meta-networking | \
> > > >       xargs -r -n1 pwclient search -f "%{id}" -s new | \
> > > >       xargs -r -n1 pwclient update -s "accepted"
> > > > 
> > > > There's not really any point in running this one a second time for the
> > > > patches already marked 'accepted'.
> > > > 
> > > > I've been using a version of this last one for a while now because the
> > > > git
> > > > hooks are non-functional.
> > > > 
> > > > The end result is that my semi-automated process above gets 17 of the 18
> > > > patches you cited and the 18th (waf-samba.bbclass) is a special case
> > > > that
> > > > I don't think could ever be caught except by manual intervention.
> > > > 
> > > > Mostly just throwing this out there so that maybe it'll help you or
> > > > someone else with similar tasks and maybe someone can look at what I'm
> > > > doing and point out obvious flaws / shortcomings / bear-traps /
> > > > improvements.  And also since I haven't bothered to put this into a
> > > > shell
> > > > function or git alias yet, at least my process is archived in the
> > > > mailing
> > > > list and I can find it again if I need it.
> > > 
> > > Thanks for trying to improve patchwork experience with bunch of scripts.
> > > Personally I would prefer to just use gerrit (that's why I gave up
> > > trying to work around patchwork issues with scripts and rather sort &
> > > apply the patches manually with just small help from pwclient).
> > 
> > I've never been a fan of gerrit, but I've only used it on a couple of
> > projects, so I don't really have a lot of experience with it.  Probably
> > obviously, so long as the CLI experience isn't terrible and I can easily
> > script around things that don't work well for me, I can work with almost
> > anything.
> 
> FWIW, and I know some people may be tired of hearing about this without much 
> visible progress, but we still have some people within Intel working on 
> Patchwork as well as some automated patch testing functionality aimed at OE 
> specifically, and they are making progress. I hope to have something to show 
> pretty soon. It should eliminate a lot of the manual work required with the 
> current version.

I was wondering about that.  I'm quite looking forward to it.  At the
very least I know newer versions of patchwork than the one we have right
now offer an improved bundle experience.

-- 
-Joe MacDonald.
:wq

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 484 bytes --]

  reply	other threads:[~2016-03-03 20:46 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-25 17:19 Still many meta-networking changes waiting in patchwork/master-next Martin Jansa
2016-02-26 18:13 ` Joe MacDonald
2016-02-26 19:56   ` Martin Jansa
2016-02-27  1:39     ` Joe MacDonald
2016-03-02 10:33       ` Martin Jansa
2016-03-02 13:27         ` Joe MacDonald
2016-03-02 22:08           ` Paul Eggleton
2016-03-03 20:46             ` Joe MacDonald [this message]
2016-03-03  2:51           ` Huang, Jie (Jackie)
2016-03-03 20:49             ` Joe MacDonald
2016-03-04  1:42               ` Huang, Jie (Jackie)

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=20160303204645.GF4671@mentor.com \
    --to=joe_macdonald@mentor.com \
    --cc=openembedded-devel@lists.openembedded.org \
    --cc=paul.eggleton@linux.intel.com \
    /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.