On Wed, Dec 23, 2015 at 03:20:18PM -0500, Paolo Bonzini wrote: > > > ----- Original Message ----- > > From: "Daniel P. Berrange" <berra...@redhat.com> > > To: "Paolo Bonzini" <pbonz...@redhat.com> > > Cc: "Eric Blake" <ebl...@redhat.com>, "Kevin Wolf" <kw...@redhat.com>, > > qemu-bl...@nongnu.org, qemu-devel@nongnu.org, > > "Markus Armbruster" <arm...@redhat.com>, "Andreas Färber" <afaer...@suse.de> > > Sent: Wednesday, December 23, 2015 8:23:13 PM > > Subject: Re: [Qemu-devel] [PATCH 7/7] qemu-img: allow specifying image as a > > set of options args > > > > On Wed, Dec 23, 2015 at 07:03:34PM +0100, Paolo Bonzini wrote: > > > > > > > > > On 23/12/2015 17:55, Daniel P. Berrange wrote: > > > >>> > > A third option would be to keep using positional arguments, but > > > >>> > > add a '--source-opts' *boolean* flag to indicate how to interpret > > > >>> > > the positional arguments. ie without --source-opts we use the > > > >>> > > historic syntax, but with --source-opts, we assume the full > > > >>> > > QemuOpts > > > >>> > > syntax. > > > >> > > > > >> > Oh, nice compromise. It's relatively discoverable (grep --help > > > >> > output), > > > >> > preserves back-compat of old scripts, and offers the full power for > > > >> > clients that want the full power. > > > > I've implemented this now and it makes the patches soooo much simpler > > > > too, so an added win. > > > > > > Hmm, looks like I'm a bit late, but here's another possibility: making > > > --source-options (aka -o) take an argument, and if you specify both > > > --source-options and the positional argument, the latter is added as a > > > "file" key. > > > > > > This way you can do "qemu-img info --object secret... -o secret=foo > > > iscsi://foo/". > > > > This gets somewhat messy for the commands which needs to accept more > > than one filename, eg 'compare' (2 files) and 'convert' (any number > > of files)'. eg if you have 3 positional file names and want to set > > an option on the 2nd file, '-o foo=bar' is not really going to say > > which positional file it applies to. > > That would be -o/-O, like -f/-F.
That only works for two files, unless you keep inventing yet more characters for the 3rd, 4th, ... file - 'convert' takes an arbitrary number of files. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|