From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Cornelia Huck <cohuck@redhat.com>
Cc: "fam@euphon.net" <fam@euphon.net>,
"pburton@wavecomp.com" <pburton@wavecomp.com>,
"peter.maydell@linaro.org" <peter.maydell@linaro.org>,
"codyprime@gmail.com" <codyprime@gmail.com>,
"jasowang@redhat.com" <jasowang@redhat.com>,
"mark.cave-ayland@ilande.co.uk" <mark.cave-ayland@ilande.co.uk>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"mdroth@linux.vnet.ibm.com" <mdroth@linux.vnet.ibm.com>,
"kraxel@redhat.com" <kraxel@redhat.com>,
"sundeep.lkml@gmail.com" <sundeep.lkml@gmail.com>,
"eblake@redhat.com" <eblake@redhat.com>,
"qemu-block@nongnu.org" <qemu-block@nongnu.org>,
"quintela@redhat.com" <quintela@redhat.com>,
"arikalo@wavecomp.com" <arikalo@wavecomp.com>,
"mst@redhat.com" <mst@redhat.com>,
"armbru@redhat.com" <armbru@redhat.com>,
"pasic@linux.ibm.com" <pasic@linux.ibm.com>,
"borntraeger@de.ibm.com" <borntraeger@de.ibm.com>,
"joel@jms.id.au" <joel@jms.id.au>,
"marcel.apfelbaum@gmail.com" <marcel.apfelbaum@gmail.com>,
"marcandre.lureau@redhat.com" <marcandre.lureau@redhat.com>,
"rth@twiddle.net" <rth@twiddle.net>,
"farman@linux.ibm.com" <farman@linux.ibm.com>,
"ehabkost@redhat.com" <ehabkost@redhat.com>,
"sw@weilnetz.de" <sw@weilnetz.de>,
"groug@kaod.org" <groug@kaod.org>,
"yuval.shaia@oracle.com" <yuval.shaia@oracle.com>,
"dgilbert@redhat.com" <dgilbert@redhat.com>,
"alex.williamson@redhat.com" <alex.williamson@redhat.com>,
"integration@gluster.org" <integration@gluster.org>,
"clg@kaod.org" <clg@kaod.org>,
"stefanha@redhat.com" <stefanha@redhat.com>,
"david@redhat.com" <david@redhat.com>,
"jsnow@redhat.com" <jsnow@redhat.com>,
"david@gibson.dropbear.id.au" <david@gibson.dropbear.id.au>,
"kwolf@redhat.com" <kwolf@redhat.com>,
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>,
"andrew@aj.id.au" <andrew@aj.id.au>,
"qemu-s390x@nongnu.org" <qemu-s390x@nongnu.org>,
"mreitz@redhat.com" <mreitz@redhat.com>,
"qemu-arm@nongnu.org" <qemu-arm@nongnu.org>,
"qemu-ppc@nongnu.org" <qemu-ppc@nongnu.org>,
"pbonzini@redhat.com" <pbonzini@redhat.com>
Subject: Re: [PATCH v4 06/31] python: add commit-per-subsystem.py
Date: Mon, 7 Oct 2019 17:21:42 +0100 [thread overview]
Message-ID: <20191007162142.GO4656@redhat.com> (raw)
In-Reply-To: <20191007181651.2fd72fbf.cohuck@redhat.com>
On Mon, Oct 07, 2019 at 06:16:51PM +0200, Cornelia Huck wrote:
> On Mon, 7 Oct 2019 16:10:02 +0000
> Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> wrote:
>
> > 07.10.2019 18:55, Cornelia Huck wrote:
> > > On Tue, 1 Oct 2019 18:52:54 +0300
> > > Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> wrote:
>
> > >> +def git_add(pattern):
> > >> + subprocess.run(['git', 'add', pattern])
> > >> +
> > >> +
> > >> +def git_commit(msg):
> > >> + subprocess.run(['git', 'commit', '-m', msg], capture_output=True)
> > >> +
> > >> +
> > >> +maintainers = sys.argv[1]
> > >> +message = sys.argv[2].strip()
> > >> +
> > >> +subsystem = None
> > >> +
> > >> +shortnames = {
> > >> + 'Block layer core': 'block',
> > >> + 'ARM cores': 'arm',
> > >> + 'Network Block Device (NBD)': 'nbd',
> > >> + 'Command line option argument parsing': 'cmdline',
> > >> + 'Character device backends': 'chardev',
> > >> + 'S390 general architecture support': 's390'
> > >> +}
> > >> +
> > >> +
> > >> +def commit():
> > >> + if subsystem:
> > >> + msg = subsystem
> > >> + if msg in shortnames:
> > >> + msg = shortnames[msg]
> > >> + msg += ': ' + message
> > >> + git_commit(msg)
> > >> +
> > >> +
> > >> +with open(maintainers) as f:
> > >> + for line in f:
> > >> + line = line.rstrip()
> > >> + if not line:
> > >> + continue
> > >> + if len(line) >= 2 and line[1] == ':':
> > >> + if line[0] == 'F' and line[3:] not in ['*', '*/']:
> > >> + git_add(line[3:])
> > >> + else:
> > >> + # new subsystem start
> > >> + commit()
> > >> +
> > >> + subsystem = line
> > >> +
> > >> +commit()
> > >
> > > Hm... I'm not sure about the purpose of this script (and my python is
> > > rather weak)... is this supposed to collect all changes covered by a
> > > subsystem F: pattern into one patch?
> >
> > Yes
> >
> > > If so, what happens to files
> > > covered by multiple sections?
> > >
> >
> > Hmm, they just go to the first of these sections, mentioned in MAINTAINERS.
> > Is it bad I don't know, but I tried to automate it somehow. Anyway, I myself
> > can't have better idea about how to organize patches to the subsystems which
> > I don't know.
> >
>
> Yeah, that is a problem I don't have a solution for, either.
>
> But the script should probably get at least a comment about its
> intended purpose and limitations? We don't really want people to start
> using it blindly.
Is this really a common enough problem to even justify having the
script to start with ?
It looks like its only really usable in the case where the changes
to each subsystem are totally self-contained, otherwise you'll get
git bisect failures. The user still has to go back and edit each
commit here to fill in a useful commit messages. It doesn't seem
to save much effort over 'git add -u sub/dir/ && git commit -s'
which is what I'd typically do for grouping changes that are
spread across the tree.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
WARNING: multiple messages have this Message-ID (diff)
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Cornelia Huck <cohuck@redhat.com>
Cc: "fam@euphon.net" <fam@euphon.net>,
"pburton@wavecomp.com" <pburton@wavecomp.com>,
"peter.maydell@linaro.org" <peter.maydell@linaro.org>,
"codyprime@gmail.com" <codyprime@gmail.com>,
"jasowang@redhat.com" <jasowang@redhat.com>,
"mark.cave-ayland@ilande.co.uk" <mark.cave-ayland@ilande.co.uk>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"mdroth@linux.vnet.ibm.com" <mdroth@linux.vnet.ibm.com>,
"kraxel@redhat.com" <kraxel@redhat.com>,
"sundeep.lkml@gmail.com" <sundeep.lkml@gmail.com>,
"qemu-block@nongnu.org" <qemu-block@nongnu.org>,
"quintela@redhat.com" <quintela@redhat.com>,
"arikalo@wavecomp.com" <arikalo@wavecomp.com>,
"mst@redhat.com" <mst@redhat.com>,
"armbru@redhat.com" <armbru@redhat.com>,
"pasic@linux.ibm.com" <pasic@linux.ibm.com>,
"borntraeger@de.ibm.com" <borntraeger@de.ibm.com>,
"joel@jms.id.au" <joel@jms.id.au>,
"marcandre.lureau@redhat.com" <marcandre.lureau@redhat.com>,
"rth@twiddle.net" <rth@twiddle.net>,
"farman@linux.ibm.com" <farman@linux.ibm.com>,
"ehabkost@redhat.com" <ehabkost@redhat.com>,
"sw@weilnetz.de" <sw@weilnetz.de>,
"groug@kaod.org" <groug@kaod.org>,
"yuval.shaia@oracle.com" <yuval.shaia@oracle.com>,
"dgilbert@redhat.com" <dgilbert@redhat.com>,
"alex.williamson@redhat.com" <alex.williamson@redhat.com>,
"integration@gluster.org" <integration@gluster.org>,
"clg@kaod.org" <clg@kaod.org>,
"stefanha@redhat.com" <stefanha@redhat.com>,
"david@redhat.com" <david@redhat.com>,
"jsnow@redhat.com" <jsnow@redhat.com>,
"david@gibson.dropbear.id.au" <david@gibson.dropbear.id.au>,
"kwolf@redhat.com" <kwolf@redhat.com>,
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>,
"andrew@aj.id.au" <andrew@aj.id.au>,
"qemu-s390x@nongnu.org" <qemu-s390x@nongnu.org>,
"mreitz@redhat.com" <mreitz@redhat.com>,
"qemu-arm@nongnu.org" <qemu-arm@nongnu.org>,
"qemu-ppc@nongnu.org" <qemu-ppc@nongnu.org>,
"pbonzini@redhat.com" <pbonzini@redhat.com>
Subject: Re: [PATCH v4 06/31] python: add commit-per-subsystem.py
Date: Mon, 7 Oct 2019 17:21:42 +0100 [thread overview]
Message-ID: <20191007162142.GO4656@redhat.com> (raw)
In-Reply-To: <20191007181651.2fd72fbf.cohuck@redhat.com>
On Mon, Oct 07, 2019 at 06:16:51PM +0200, Cornelia Huck wrote:
> On Mon, 7 Oct 2019 16:10:02 +0000
> Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> wrote:
>
> > 07.10.2019 18:55, Cornelia Huck wrote:
> > > On Tue, 1 Oct 2019 18:52:54 +0300
> > > Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> wrote:
>
> > >> +def git_add(pattern):
> > >> + subprocess.run(['git', 'add', pattern])
> > >> +
> > >> +
> > >> +def git_commit(msg):
> > >> + subprocess.run(['git', 'commit', '-m', msg], capture_output=True)
> > >> +
> > >> +
> > >> +maintainers = sys.argv[1]
> > >> +message = sys.argv[2].strip()
> > >> +
> > >> +subsystem = None
> > >> +
> > >> +shortnames = {
> > >> + 'Block layer core': 'block',
> > >> + 'ARM cores': 'arm',
> > >> + 'Network Block Device (NBD)': 'nbd',
> > >> + 'Command line option argument parsing': 'cmdline',
> > >> + 'Character device backends': 'chardev',
> > >> + 'S390 general architecture support': 's390'
> > >> +}
> > >> +
> > >> +
> > >> +def commit():
> > >> + if subsystem:
> > >> + msg = subsystem
> > >> + if msg in shortnames:
> > >> + msg = shortnames[msg]
> > >> + msg += ': ' + message
> > >> + git_commit(msg)
> > >> +
> > >> +
> > >> +with open(maintainers) as f:
> > >> + for line in f:
> > >> + line = line.rstrip()
> > >> + if not line:
> > >> + continue
> > >> + if len(line) >= 2 and line[1] == ':':
> > >> + if line[0] == 'F' and line[3:] not in ['*', '*/']:
> > >> + git_add(line[3:])
> > >> + else:
> > >> + # new subsystem start
> > >> + commit()
> > >> +
> > >> + subsystem = line
> > >> +
> > >> +commit()
> > >
> > > Hm... I'm not sure about the purpose of this script (and my python is
> > > rather weak)... is this supposed to collect all changes covered by a
> > > subsystem F: pattern into one patch?
> >
> > Yes
> >
> > > If so, what happens to files
> > > covered by multiple sections?
> > >
> >
> > Hmm, they just go to the first of these sections, mentioned in MAINTAINERS.
> > Is it bad I don't know, but I tried to automate it somehow. Anyway, I myself
> > can't have better idea about how to organize patches to the subsystems which
> > I don't know.
> >
>
> Yeah, that is a problem I don't have a solution for, either.
>
> But the script should probably get at least a comment about its
> intended purpose and limitations? We don't really want people to start
> using it blindly.
Is this really a common enough problem to even justify having the
script to start with ?
It looks like its only really usable in the case where the changes
to each subsystem are totally self-contained, otherwise you'll get
git bisect failures. The user still has to go back and edit each
commit here to fill in a useful commit messages. It doesn't seem
to save much effort over 'git add -u sub/dir/ && git commit -s'
which is what I'd typically do for grouping changes that are
spread across the tree.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2019-10-07 16:29 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-01 15:52 [PATCH v4 00/31] error: auto propagated local_err Vladimir Sementsov-Ogievskiy
2019-10-01 15:52 ` Vladimir Sementsov-Ogievskiy
2019-10-01 15:52 ` [PATCH v4 01/31] errp: rename errp to errp_in where it is IN-argument Vladimir Sementsov-Ogievskiy
2019-10-08 9:08 ` Markus Armbruster
2019-10-08 9:30 ` Vladimir Sementsov-Ogievskiy
2019-10-08 12:05 ` Markus Armbruster
2019-10-09 10:08 ` Vladimir Sementsov-Ogievskiy
2019-10-09 18:48 ` Markus Armbruster
2019-10-09 9:42 ` Vladimir Sementsov-Ogievskiy
2019-10-09 18:51 ` Markus Armbruster
2019-10-01 15:52 ` [PATCH v4 02/31] hw/core/loader-fit: fix freeing errp in fit_load_fdt Vladimir Sementsov-Ogievskiy
2019-10-01 16:13 ` Eric Blake
2019-10-08 14:24 ` Markus Armbruster
2019-10-01 15:52 ` [PATCH v4 03/31] net/net: fix local variable shadowing in net_client_init Vladimir Sementsov-Ogievskiy
2019-10-08 14:34 ` Markus Armbruster
2019-10-01 15:52 ` [PATCH v4 04/31] error: auto propagated local_err Vladimir Sementsov-Ogievskiy
2019-10-01 16:17 ` Eric Blake
2019-10-01 16:17 ` Eric Blake
2019-10-02 10:15 ` Roman Kagan
2019-10-02 14:00 ` Eric Blake
2019-10-08 16:03 ` Markus Armbruster
2019-10-08 16:19 ` Greg Kurz
2019-10-08 18:24 ` Markus Armbruster
2019-10-09 8:04 ` Markus Armbruster
2019-10-09 8:17 ` Vladimir Sementsov-Ogievskiy
2019-10-09 19:09 ` Markus Armbruster
2019-10-01 15:52 ` [PATCH v4 05/31] scripts: add script to fix error_append_hint/error_prepend usage Vladimir Sementsov-Ogievskiy
2019-10-01 16:22 ` Eric Blake
2019-10-01 17:01 ` Vladimir Sementsov-Ogievskiy
2019-10-01 17:01 ` Vladimir Sementsov-Ogievskiy
2019-10-01 16:50 ` Eric Blake
2019-10-01 17:08 ` Eric Blake
2019-10-01 17:08 ` Eric Blake
2019-10-01 17:15 ` Vladimir Sementsov-Ogievskiy
2019-10-01 17:15 ` Vladimir Sementsov-Ogievskiy
2019-10-01 15:52 ` [PATCH v4 06/31] python: add commit-per-subsystem.py Vladimir Sementsov-Ogievskiy
2019-10-07 15:55 ` Cornelia Huck
2019-10-07 16:10 ` Vladimir Sementsov-Ogievskiy
2019-10-07 16:16 ` Cornelia Huck
2019-10-07 16:16 ` Cornelia Huck
2019-10-07 16:21 ` Daniel P. Berrangé [this message]
2019-10-07 16:21 ` Daniel P. Berrangé
2019-10-07 17:15 ` Vladimir Sementsov-Ogievskiy
2019-10-01 15:52 ` [PATCH v4 07/31] s390: Fix error_append_hint/error_prepend usage Vladimir Sementsov-Ogievskiy
2019-10-07 15:58 ` Cornelia Huck
2019-10-09 7:42 ` Markus Armbruster
2019-10-11 15:33 ` Vladimir Sementsov-Ogievskiy
2019-10-01 15:52 ` [PATCH v4 08/31] ARM TCG CPUs: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:52 ` [PATCH v4 09/31] PowerPC " Vladimir Sementsov-Ogievskiy
2019-10-01 15:52 ` [PATCH v4 10/31] arm: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:52 ` [PATCH v4 11/31] SmartFusion2: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 12/31] ASPEED BMCs: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 13/31] Boston: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 14/31] PowerNV (Non-Virtualized): " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 15/31] PCI: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 16/31] SCSI: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 17/31] USB: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 18/31] VFIO: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 19/31] vhost: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 20/31] virtio: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 21/31] virtio-9p: " Vladimir Sementsov-Ogievskiy
2019-10-02 9:19 ` Greg Kurz
2019-10-02 12:58 ` Vladimir Sementsov-Ogievskiy
2019-10-02 13:11 ` Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 22/31] XIVE: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 23/31] block: " Vladimir Sementsov-Ogievskiy
2019-10-01 17:09 ` Eric Blake
2019-10-01 18:55 ` Vladimir Sementsov-Ogievskiy
2019-10-01 19:12 ` Vladimir Sementsov-Ogievskiy
2019-10-01 19:44 ` Eric Blake
2019-10-09 7:22 ` Markus Armbruster
2019-10-01 15:53 ` [PATCH v4 24/31] chardev: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 25/31] cmdline: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 26/31] QOM: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 27/31] Migration: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 28/31] Sockets: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 29/31] nbd: " Vladimir Sementsov-Ogievskiy
2019-10-01 17:47 ` Eric Blake
2019-10-01 15:53 ` [PATCH v4 30/31] PVRDMA: " Vladimir Sementsov-Ogievskiy
2019-10-01 15:53 ` [PATCH v4 31/31] ivshmem: " Vladimir Sementsov-Ogievskiy
2019-10-02 3:26 ` [PATCH v4 00/31] error: auto propagated local_err no-reply
2019-10-02 11:58 ` Markus Armbruster
2019-10-08 7:30 ` Markus Armbruster
2019-10-08 8:41 ` Vladimir Sementsov-Ogievskiy
2019-10-08 9:39 ` Greg Kurz
2019-10-08 10:09 ` Vladimir Sementsov-Ogievskiy
2019-10-08 11:59 ` Markus Armbruster
2019-10-09 8:45 ` Vladimir Sementsov-Ogievskiy
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=20191007162142.GO4656@redhat.com \
--to=berrange@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=andrew@aj.id.au \
--cc=arikalo@wavecomp.com \
--cc=armbru@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=clg@kaod.org \
--cc=codyprime@gmail.com \
--cc=cohuck@redhat.com \
--cc=david@gibson.dropbear.id.au \
--cc=david@redhat.com \
--cc=dgilbert@redhat.com \
--cc=eblake@redhat.com \
--cc=ehabkost@redhat.com \
--cc=fam@euphon.net \
--cc=farman@linux.ibm.com \
--cc=groug@kaod.org \
--cc=integration@gluster.org \
--cc=jasowang@redhat.com \
--cc=joel@jms.id.au \
--cc=jsnow@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=mdroth@linux.vnet.ibm.com \
--cc=mreitz@redhat.com \
--cc=mst@redhat.com \
--cc=pasic@linux.ibm.com \
--cc=pbonzini@redhat.com \
--cc=pburton@wavecomp.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=quintela@redhat.com \
--cc=rth@twiddle.net \
--cc=stefanha@redhat.com \
--cc=sundeep.lkml@gmail.com \
--cc=sw@weilnetz.de \
--cc=vsementsov@virtuozzo.com \
--cc=yuval.shaia@oracle.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.