git-commit-vandalism/builtin
Jeff King 42fa0cbfe0 credential: handle invalid arguments earlier
The git-credential command only takes one argument: the
operation to perform. If we don't have one, we complain
immediately. But if we have one that we don't recognize, we
don't notice until after we've read the credential from
stdin. This is likely to confuse a user invoking "git
credential -h", as the program will hang waiting for their
input before showing anything.

Let's detect this case early. Likewise, we never noticed
when there are extra arguments beyond the one we're
expecting. Let's catch this with the same conditional.

Note that we don't need to handle "--help" similarly,
because the git wrapper does this before even calling
cmd_credential().

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-30 14:45:03 +09:00
..
add.c hold_locked_index(): align error handling with hold_lockfile_for_update() 2016-12-07 11:31:59 -08:00
am.c am: handle "-h" argument earlier 2017-05-30 14:39:47 +09:00
annotate.c
apply.c Convert read_mmblob to take struct object_id. 2016-09-07 12:59:42 -07:00
archive.c archive: read local configuration 2016-11-22 13:55:20 -08:00
bisect--helper.c
blame.c Merge branch 'rs/blame-code-cleanup' into maint 2017-03-28 13:52:25 -07:00
branch.c Merge branch 'jk/war-on-git-path' 2017-04-26 15:39:08 +09:00
bundle.c bundle: use prefix_filename with bundle path 2017-03-21 11:18:41 -07:00
cat-file.c Rename sha1_array to oid_array 2017-03-31 08:33:56 -07:00
check-attr.c attr: tighten const correctness with git_attr and match_attr 2017-02-01 13:46:53 -08:00
check-ignore.c
check-mailmap.c
check-ref-format.c
checkout-index.c hold_locked_index(): align error handling with hold_lockfile_for_update() 2016-12-07 11:31:59 -08:00
checkout.c avoid using fixed PATH_MAX buffers for refs 2017-03-30 14:59:50 -07:00
clean.c Merge branch 'nd/clean-preserve-errno-in-warning' 2017-02-27 13:57:16 -08:00
clone.c Merge branch 'bw/submodule-is-active' 2017-03-30 14:07:14 -07:00
column.c
commit-tree.c builtin/commit-tree: convert to struct object_id 2016-09-07 12:59:43 -07:00
commit.c Merge branch 'jk/war-on-git-path' 2017-04-26 15:39:08 +09:00
config.c Merge branch 'jk/war-on-git-path' 2017-04-26 15:39:08 +09:00
count-objects.c Convert object iteration callbacks to struct object_id 2017-02-22 10:12:15 -08:00
credential.c credential: handle invalid arguments earlier 2017-05-30 14:45:03 +09:00
describe.c describe: localize debug output fully 2017-03-27 13:45:23 -07:00
diff-files.c
diff-index.c
diff-tree.c Merge branch 'bc/object-id' 2017-03-17 13:50:25 -07:00
diff.c Rename sha1_array to oid_array 2017-03-31 08:33:56 -07:00
difftool.c difftool: fix use-after-free 2017-04-13 17:53:08 -07:00
fast-export.c builtin/fast-export: convert to struct object_id 2017-02-22 10:12:15 -08:00
fetch-pack.c Rename sha1_array to oid_array 2017-03-31 08:33:56 -07:00
fetch.c Merge branch 'bc/object-id' 2017-04-19 21:37:13 -07:00
fmt-merge-msg.c builtin/fmt-merge-message: convert to struct object_id 2017-02-22 10:12:15 -08:00
for-each-ref.c ref-filter: add --no-contains option to tag/branch/for-each-ref 2017-03-24 12:15:26 -07:00
fsck.c read-cache: force_verify_index_checksum 2017-04-15 00:58:36 -07:00
gc.c Merge branch 'dt/xgethostname-nul-termination' 2017-04-23 22:07:57 -07:00
get-tar-commit-id.c
grep.c Merge branch 'ab/grep-plug-pathspec-leak' 2017-04-19 21:37:21 -07:00
hash-object.c prefix_filename: return newly allocated string 2017-03-21 11:18:41 -07:00
help.c Merge branch 'js/no-html-bypass-on-windows' into maint 2016-09-08 21:35:55 -07:00
index-pack.c Merge branch 'jk/loose-object-info-report-error' 2017-04-16 23:29:30 -07:00
init-db.c real_pathdup(): fix callsites that wanted it to die on error 2017-03-08 14:38:41 -08:00
interpret-trailers.c Merge branch 'jk/parseopt-string-list' into jk/string-list-static-init 2016-06-13 10:37:48 -07:00
log.c Merge branch 'ah/log-decorate-default-to-auto' 2017-04-11 00:21:51 -07:00
ls-files.c ls-files: fix path used when recursing into submodules 2017-04-18 18:01:41 -07:00
ls-remote.c avoid using fixed PATH_MAX buffers for refs 2017-03-30 14:59:50 -07:00
ls-tree.c ls-tree: convert show_recursive to use the pathspec struct interface 2017-01-08 18:04:17 -08:00
mailinfo.c prefix_filename: return newly allocated string 2017-03-21 11:18:41 -07:00
mailsplit.c mailsplit: support unescaping mboxrd messages 2016-06-06 11:14:43 -07:00
merge-base.c builtin/merge-base: convert to struct object_id 2017-02-22 10:12:16 -08:00
merge-file.c prefix_filename: return newly allocated string 2017-03-21 11:18:41 -07:00
merge-index.c Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ 2017-03-26 22:08:21 -07:00
merge-ours.c
merge-recursive.c i18n: merge-recursive: mark verbose message for translation 2016-09-15 13:17:32 -07:00
merge-tree.c
merge.c Merge branch 'bc/object-id' 2017-04-19 21:37:13 -07:00
mktag.c
mktree.c use QSORT 2016-09-29 15:42:18 -07:00
mv.c Merge branch 'bw/pathspec-cleanup' 2017-01-18 15:12:15 -08:00
name-rev.c name-rev: replace static buffer with strbuf 2017-03-30 14:59:50 -07:00
notes.c replace unchecked snprintf calls with heap buffers 2017-03-30 14:59:50 -07:00
pack-objects.c Merge branch 'bc/object-id' 2017-04-19 21:37:13 -07:00
pack-redundant.c
pack-refs.c refs: delete pack_refs() in favor of refs_pack_refs() 2017-04-14 03:53:25 -07:00
patch-id.c Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ 2017-03-26 22:08:21 -07:00
prune-packed.c Convert object iteration callbacks to struct object_id 2017-02-22 10:12:15 -08:00
prune.c Convert object iteration callbacks to struct object_id 2017-02-22 10:12:15 -08:00
pull.c Merge branch 'jk/war-on-git-path' 2017-04-26 15:39:08 +09:00
push.c push: unmark a local variable as static 2017-04-02 09:49:24 -07:00
read-tree.c builtin/read-tree: add --recurse-submodules switch 2017-03-16 14:07:16 -07:00
rebase--helper.c rebase--helper: add a builtin helper for interactive rebases 2017-02-09 14:55:26 -08:00
receive-pack.c Merge branch 'dt/xgethostname-nul-termination' 2017-04-23 22:07:57 -07:00
reflog.c refs: convert each_reflog_ent_fn to struct object_id 2017-02-22 10:12:15 -08:00
remote-ext.c pkt-line: rename packet_write() to packet_write_fmt() 2016-10-17 11:36:50 -07:00
remote-fd.c
remote.c Merge branch 'rl/remote-allow-missing-branch-name-merge' into maint 2017-03-21 15:03:28 -07:00
repack.c repack: die on incremental + write-bitmap-index 2016-12-29 13:45:37 -08:00
replace.c replace: plug a memory leak 2017-04-17 21:56:54 -07:00
rerere.c
reset.c delete_ref: accept a reflog message argument 2017-02-20 22:04:47 -08:00
rev-list.c Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ 2017-03-26 22:08:21 -07:00
rev-parse.c Merge branch 'bc/object-id' 2017-04-19 21:37:13 -07:00
revert.c Merge branch 'jk/cherry-pick-0-mainline' 2017-03-17 13:50:28 -07:00
rm.c rm: reuse strbuf for all remove_dir_recursively() calls, again 2017-02-13 14:33:32 -08:00
send-pack.c Merge branch 'bc/object-id' 2017-04-19 21:37:13 -07:00
shortlog.c Merge branch 'rs/shortlog-cleanup' 2017-03-24 13:07:37 -07:00
show-branch.c Merge branch 'jk/show-branch-lift-name-len-limit' into maint 2017-03-21 15:03:29 -07:00
show-ref.c show-ref: remove a stale comment 2017-01-23 18:51:56 -08:00
stripspace.c stripspace: respect repository config 2016-11-21 11:00:38 -08:00
submodule--helper.c Merge branch 'jk/submodule-init-segv-fix' 2017-05-01 14:14:44 +09:00
symbolic-ref.c delete_ref: accept a reflog message argument 2017-02-20 22:04:47 -08:00
tag.c i18n: remove i18n from tag reflog message 2017-05-01 11:08:02 +09:00
unpack-file.c convert trivial sprintf / strcpy calls to xsnprintf 2015-09-25 10:18:18 -07:00
unpack-objects.c unpack-objects: add --max-input-size=<size> option 2016-08-24 12:31:05 -07:00
update-index.c Merge branch 'cc/untracked' 2017-04-11 00:21:51 -07:00
update-ref.c update-ref: pass reflog message to delete_ref() 2017-02-20 22:04:47 -08:00
update-server-info.c
upload-archive.c archive: read local configuration 2016-11-22 13:55:20 -08:00
var.c
verify-commit.c
verify-pack.c
verify-tag.c builtin/verify-tag: add --format to verify-tag 2017-01-17 16:10:22 -08:00
worktree.c Merge branch 'nd/worktree-add-lock' 2017-04-26 15:39:12 +09:00
write-tree.c