From: Pierre Habouzit <madcoder@debian.org>
To: Jeff King <peff@peff.net>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] git send-email: allow any rev-list option as an argument.
Date: Mon, 03 Nov 2008 10:15:13 +0100 [thread overview]
Message-ID: <20081103091513.GC13930@artemis.corp> (raw)
In-Reply-To: <20081102180220.GA5726@sigio.intra.peff.net>
[-- Attachment #1: Type: text/plain, Size: 3769 bytes --]
On Sun, Nov 02, 2008 at 06:02:21PM +0000, Jeff King wrote:
> On Sun, Nov 02, 2008 at 10:39:07AM +0100, Pierre Habouzit wrote:
>
> > Well it still messes the file/reference name conflict with no way to
> > prevent it because of the backward compatibility, and even if unlikely
> > it's still possible.
>
> Hmm. As Junio mentioned, this is really an easier way of doing:
>
> git format-patch -o tmp "$@"
> $EDITOR tmp/*
> git send-email tmp
>
> So I guess a wrapper program would suffice, that just called send-email.
> But of course then you would have to think of a new name, and explain
> the confusion between it and send-email.
Well that defeats the purpose of fixing send-email to me. I really would
like to see this fixed properly like it should. I mean it makes sense to
me to use _three_ commands where one should be enough. Not to mention
that introducing a new command is just completely against the spirit of
*simplifying* the current UI ;)
Actually I see a few possibilities.
(1) The first one is to pass a --[no]-format-patch flag to
git-send-email which says that it should understand arguments as
format-patch arguments. You add to that a sendemail.format-patch
setting that would default to false for backward compatibility sake,
that would allow the user to force --format-patch as a default.
This would e.g. cleanly allow: git send-email --format-patch -3 HEAD.
I would understand if people dislike the setting: it basically
modifies the behaviour of a git command a lot, which has been
frowned upon in the past. Even though I would argue than using
git-send-email in scripting is quite bad, for something that you can
probably replace with:
while read patchname; do mail some@where.org < $patchname; done < git format-patch "$@"
But if people think it's too dangerous, replacing it with a short
switch so that it's not too painful to use would fly for me,
something like -F or whatever.
(2) Another way is to add a --pass-to-format-patch kind of option that
would take its arguments and pass it to git-format-patch. Like in:
git send-email --pass-to-format-patch "-3 HEAD". (Of course a short
switch would help ;p).
(3) Use -- for mandatory separating <format-patch> arguments like this:
git send-email [send-email options] -- -3 HEAD
or if you want to send patches that would modify only a given path:
git send-email [s-e options] -- origin/next.. -- git-gui
that would run internally:
git format-patch origin/next.. -- git-gui
I would say that I dislike (2) a LOT because it's a pain to use: needs a
lot of quoting, and it gets worse if you want to pass things with spaces
in it to format-patch.
(2) has the small drawback of not being 100% backward compatible: with
the current use of perl Getoptions, -- is used to stop options
processing, and people _may_ have used it to do `git s-e -- --my.patch`
and such a use would break. However this is highly unlikely to cause
issues in real life I think (unlike the problem of refs against filename
clashes).
In (1) people may dislike the idea of a setting, I've not strong
feelings about it, I won't mind if it gets rejected, a short switch will
do just fine then.
As a summary, I'd say that I like both (1) and (3) because those are
handy, short, and either completely or mostly backward compatible. My
way would be to go down (1) and add a alias.s-e = !git send-email -F in
my .gitconfig.
What do you think ?
--
·O· Pierre Habouzit
··O madcoder@debian.org
OOO http://www.madism.org
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
next prev parent reply other threads:[~2008-11-03 9:16 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-31 10:57 git send-email improvements Pierre Habouzit
2008-10-31 10:57 ` [PATCH 1/3] git send-email: avoid leaking directory file descriptors Pierre Habouzit
2008-10-31 10:57 ` [PATCH 2/3] git send-email: interpret unknown files as revision lists Pierre Habouzit
2008-10-31 10:57 ` [PATCH 3/3] git send-email: add --annotate option Pierre Habouzit
2008-10-31 21:34 ` Ian Hilt
2008-11-02 6:23 ` Junio C Hamano
2008-11-02 9:51 ` Pierre Habouzit
2008-11-03 12:18 ` Matthieu Moy
2008-10-31 16:52 ` [PATCH] git send-email: allow any rev-list option as an argument Pierre Habouzit
2008-11-02 4:35 ` Jeff King
2008-11-02 9:39 ` Pierre Habouzit
2008-11-02 18:02 ` Jeff King
2008-11-03 9:15 ` Pierre Habouzit [this message]
2008-11-04 1:04 ` Junio C Hamano
2008-11-04 8:19 ` Pierre Habouzit
2008-11-02 4:31 ` [PATCH 1/3] git send-email: avoid leaking directory file descriptors Jeff King
2008-10-31 12:36 ` Further enhancement proposal for git-send-email Pierre Habouzit
2008-10-31 12:36 ` [PATCH 1/3] git send-email: make the message file name more specific Pierre Habouzit
2008-10-31 12:36 ` [PATCH 2/3] git send-email: do not ask questions when --compose is used Pierre Habouzit
2008-10-31 12:36 ` [PATCH 3/3] git send-email: turn --compose on when more than one patch Pierre Habouzit
2008-10-31 21:33 ` [PATCH 2/3] git send-email: do not ask questions when --compose is used Ian Hilt
2008-10-31 21:38 ` Pierre Habouzit
2008-10-31 22:01 ` Ian Hilt
2008-11-01 2:26 ` Ian Hilt
2008-11-01 11:04 ` Pierre Habouzit
2008-11-01 13:00 ` Ian Hilt
2008-11-01 17:08 ` Pierre Habouzit
2008-11-01 17:34 ` Francis Galiegue
2008-11-01 17:43 ` Pierre Habouzit
2008-11-01 19:56 ` Francis Galiegue
2008-11-01 17:54 ` Ian Hilt
2008-11-02 6:18 ` [PATCH 1/3] git send-email: make the message file name more specific Junio C Hamano
2008-11-02 9:35 ` Pierre Habouzit
2008-11-02 21:34 ` Ian Hilt
2008-11-03 8:53 ` Pierre Habouzit
2008-11-04 16:24 ` [take 2] git send-email updates Pierre Habouzit
2008-11-04 16:24 ` [PATCH 1/5] git send-email: make the message file name more specific Pierre Habouzit
2008-11-04 16:24 ` [PATCH 2/5] git send-email: interpret unknown files as revision lists Pierre Habouzit
2008-11-04 16:24 ` [PATCH 3/5] git send-email: add --annotate option Pierre Habouzit
2008-11-04 16:24 ` [PATCH 4/5] git send-email: ask less questions when --compose is used Pierre Habouzit
2008-11-04 16:24 ` [PATCH 5/5] git send-email: turn --compose on when more than one patch Pierre Habouzit
2008-11-04 23:54 ` Junio C Hamano
2008-11-05 3:31 ` Jeff King
2008-11-05 7:03 ` Junio C Hamano
2008-11-04 20:09 ` [PATCH 4/5] git send-email: ask less questions when --compose is used Francis Galiegue
2008-11-04 23:54 ` Junio C Hamano
2008-11-04 23:54 ` [PATCH 2/5] git send-email: interpret unknown files as revision lists Junio C Hamano
2008-11-05 10:40 ` Pierre Habouzit
2008-11-05 15:17 ` Junio C Hamano
2008-11-09 18:56 ` Junio C Hamano
2008-11-10 23:53 ` [take 2] git send-email updates Pierre Habouzit
2008-11-10 23:53 ` [PATCH 1/4] git send-email: make the message file name more specific Pierre Habouzit
2008-11-10 23:54 ` [PATCH 2/4] git send-email: interpret unknown files as revision lists Pierre Habouzit
2008-11-10 23:54 ` [PATCH 3/4] git send-email: add --annotate option Pierre Habouzit
2008-11-10 23:54 ` [PATCH 4/4] git send-email: ask less questions when --compose is used Pierre Habouzit
2008-11-12 5:48 ` [PATCH 2/4] git send-email: interpret unknown files as revision lists Junio C Hamano
2008-11-11 20:30 ` [take 2] git send-email updates Junio C Hamano
2008-11-11 22:13 ` Pierre Habouzit
2008-11-12 0:14 ` Junio C Hamano
2008-11-13 0:01 ` Re* " Junio C Hamano
2008-11-15 22:07 ` Pierre Habouzit
2008-11-15 22:05 ` Pierre Habouzit
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=20081103091513.GC13930@artemis.corp \
--to=madcoder@debian.org \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
/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.