From: Paul Tan <pyokagan@gmail.com>
To: git@vger.kernel.org
Cc: Stefan Beller <sbeller@google.com>,
Johannes Schindelin <johannes.schindelin@gmx.de>,
Paul Tan <pyokagan@gmail.com>
Subject: [PATCH v7 44/45] builtin-am: check for valid committer ident
Date: Tue, 4 Aug 2015 21:52:05 +0800 [thread overview]
Message-ID: <1438696326-19590-45-git-send-email-pyokagan@gmail.com> (raw)
In-Reply-To: <1438696326-19590-1-git-send-email-pyokagan@gmail.com>
When commit_tree() is called, if the user does not have an explicit
committer ident configured, it will attempt to construct a default
committer ident based on the user's and system's info (e.g. gecos field,
hostname etc.) However, if a default committer ident is unable to be
constructed, commit_tree() will die(), but at this point of git-am's
execution, there will already be changes made to the index and work
tree.
This can be confusing to new users, and as such since d64e6b0 (Keep
Porcelainish from failing by broken ident after making changes.,
2006-02-18) git-am.sh will check to see if the committer ident has been
configured, or a default one can be constructed, before even starting to
apply patches.
Re-implement this in builtin/am.c.
Signed-off-by: Paul Tan <pyokagan@gmail.com>
---
builtin/am.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/builtin/am.c b/builtin/am.c
index 3c50392..1ff74ac 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -2246,6 +2246,9 @@ int cmd_am(int argc, const char **argv, const char *prefix)
fprintf_ln(stderr, _("The -b/--binary option has been a no-op for long time, and\n"
"it will be removed. Please do not use it anymore."));
+ /* Ensure a valid committer ident can be constructed */
+ git_committer_info(IDENT_STRICT);
+
if (read_index_preload(&the_index, NULL) < 0)
die(_("failed to read the index"));
--
2.5.0.280.gd88bd6e
next prev parent reply other threads:[~2015-08-04 13:57 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-04 13:51 [PATCH v7 00/45] Make git-am a builtin Paul Tan
2015-08-04 13:51 ` [PATCH v7 01/45] wrapper: implement xopen() Paul Tan
2015-08-04 13:51 ` [PATCH v7 02/45] wrapper: implement xfopen() Paul Tan
2015-08-04 13:51 ` [PATCH v7 03/45] builtin-am: implement skeletal builtin am Paul Tan
2015-08-04 13:51 ` [PATCH v7 04/45] builtin-am: implement patch queue mechanism Paul Tan
2015-08-04 13:51 ` [PATCH v7 05/45] builtin-am: split out mbox/maildir patches with git-mailsplit Paul Tan
2015-08-04 13:51 ` [PATCH v7 06/45] builtin-am: auto-detect mbox patches Paul Tan
2015-08-04 13:51 ` [PATCH v7 07/45] builtin-am: extract patch and commit info with git-mailinfo Paul Tan
2015-08-04 13:51 ` [PATCH v7 08/45] builtin-am: apply patch with git-apply Paul Tan
2015-08-04 13:51 ` [PATCH v7 09/45] builtin-am: implement committing applied patch Paul Tan
2015-08-04 13:51 ` [PATCH v7 10/45] builtin-am: refuse to apply patches if index is dirty Paul Tan
2015-08-04 13:51 ` [PATCH v7 11/45] builtin-am: implement --resolved/--continue Paul Tan
2015-08-04 13:51 ` [PATCH v7 12/45] builtin-am: don't parse mail when resuming Paul Tan
2015-08-04 13:51 ` [PATCH v7 13/45] builtin-am: implement --skip Paul Tan
2015-08-04 13:51 ` [PATCH v7 14/45] builtin-am: implement --abort Paul Tan
2015-08-04 13:51 ` [PATCH v7 15/45] builtin-am: reject patches when there's a session in progress Paul Tan
2015-08-04 13:51 ` [PATCH v7 16/45] builtin-am: implement -q/--quiet Paul Tan
2015-08-04 13:51 ` [PATCH v7 17/45] builtin-am: exit with user friendly message on failure Paul Tan
2015-08-04 13:51 ` [PATCH v7 18/45] builtin-am: implement -s/--signoff Paul Tan
2015-08-04 13:51 ` [PATCH v7 19/45] cache-tree: introduce write_index_as_tree() Paul Tan
2015-08-04 13:51 ` [PATCH v7 20/45] builtin-am: implement --3way Paul Tan
2015-08-04 13:51 ` [PATCH v7 21/45] builtin-am: implement --rebasing mode Paul Tan
2015-08-04 13:51 ` [PATCH v7 22/45] builtin-am: bypass git-mailinfo when --rebasing Paul Tan
2015-08-04 13:51 ` [PATCH v7 23/45] builtin-am: handle stray state directory Paul Tan
2015-08-04 13:51 ` [PATCH v7 24/45] builtin-am: implement -u/--utf8 Paul Tan
2015-08-04 13:51 ` [PATCH v7 25/45] builtin-am: implement -k/--keep, --keep-non-patch Paul Tan
2015-08-04 13:51 ` [PATCH v7 26/45] builtin-am: implement --[no-]message-id, am.messageid Paul Tan
2015-08-04 13:51 ` [PATCH v7 27/45] builtin-am: support --keep-cr, am.keepcr Paul Tan
2015-08-04 13:51 ` [PATCH v7 28/45] builtin-am: implement --[no-]scissors Paul Tan
2015-08-04 13:51 ` [PATCH v7 29/45] builtin-am: pass git-apply's options to git-apply Paul Tan
2015-08-04 13:51 ` [PATCH v7 30/45] builtin-am: implement --ignore-date Paul Tan
2015-08-04 13:51 ` [PATCH v7 31/45] builtin-am: implement --committer-date-is-author-date Paul Tan
2015-08-04 13:51 ` [PATCH v7 32/45] builtin-am: implement -S/--gpg-sign, commit.gpgsign Paul Tan
2015-08-04 13:51 ` [PATCH v7 33/45] builtin-am: invoke post-rewrite hook Paul Tan
2015-08-04 13:51 ` [PATCH v7 34/45] builtin-am: support automatic notes copying Paul Tan
2015-08-04 13:51 ` [PATCH v7 35/45] builtin-am: invoke applypatch-msg hook Paul Tan
2015-08-04 13:51 ` [PATCH v7 36/45] builtin-am: invoke pre-applypatch hook Paul Tan
2015-08-04 13:51 ` [PATCH v7 37/45] builtin-am: invoke post-applypatch hook Paul Tan
2015-08-04 13:51 ` [PATCH v7 38/45] builtin-am: rerere support Paul Tan
2015-08-04 13:52 ` [PATCH v7 39/45] builtin-am: support and auto-detect StGit patches Paul Tan
2015-08-04 13:52 ` [PATCH v7 40/45] builtin-am: support and auto-detect StGit series files Paul Tan
2015-08-04 13:52 ` [PATCH v7 41/45] builtin-am: support and auto-detect mercurial patches Paul Tan
2015-08-04 13:52 ` [PATCH v7 42/45] builtin-am: implement -i/--interactive Paul Tan
2015-08-04 13:52 ` [PATCH v7 43/45] builtin-am: implement legacy -b/--binary option Paul Tan
2015-08-04 13:52 ` Paul Tan [this message]
2015-08-04 13:52 ` [PATCH v7 45/45] builtin-am: remove redirection to git-am.sh Paul Tan
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=1438696326-19590-45-git-send-email-pyokagan@gmail.com \
--to=pyokagan@gmail.com \
--cc=git@vger.kernel.org \
--cc=johannes.schindelin@gmx.de \
--cc=sbeller@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).