diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-08-31 15:49:52 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-08-31 15:49:52 -0700 |
commit | cacab0c8566084901cd0f8ed6c9e1c4a5dc63677 (patch) | |
tree | 416f3e9c8881652ce29ae6bd03d6fa83a165e693 /revision.c | |
parent | Merge branch 'jc/ident-whose-ident' (diff) | |
parent | revision: set rev_input_given in handle_revision_arg() (diff) | |
download | tgif-cacab0c8566084901cd0f8ed6c9e1c4a5dc63677.tar.xz |
Merge branch 'jk/rev-input-given-fix'
Feeding "$ZERO_OID" to "git log --ignore-missing --stdin", and
running "git log --ignore-missing $ZERO_OID" fell back to start
digging from HEAD; it has been corrected to become a no-op, like
"git log --tags=no-tag-matches-this-pattern" does.
* jk/rev-input-given-fix:
revision: set rev_input_given in handle_revision_arg()
Diffstat (limited to 'revision.c')
-rw-r--r-- | revision.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/revision.c b/revision.c index 96630e3186..08c2ad23af 100644 --- a/revision.c +++ b/revision.c @@ -2017,7 +2017,7 @@ static int handle_dotdot(const char *arg, return ret; } -int handle_revision_arg(const char *arg_, struct rev_info *revs, int flags, unsigned revarg_opt) +static int handle_revision_arg_1(const char *arg_, struct rev_info *revs, int flags, unsigned revarg_opt) { struct object_context oc; char *mark; @@ -2092,6 +2092,14 @@ int handle_revision_arg(const char *arg_, struct rev_info *revs, int flags, unsi return 0; } +int handle_revision_arg(const char *arg, struct rev_info *revs, int flags, unsigned revarg_opt) +{ + int ret = handle_revision_arg_1(arg, revs, flags, revarg_opt); + if (!ret) + revs->rev_input_given = 1; + return ret; +} + static void read_pathspec_from_stdin(struct strbuf *sb, struct strvec *prune) { @@ -2703,7 +2711,7 @@ static void NORETURN diagnose_missing_default(const char *def) */ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct setup_revision_opt *opt) { - int i, flags, left, seen_dashdash, got_rev_arg = 0, revarg_opt; + int i, flags, left, seen_dashdash, revarg_opt; struct strvec prune_data = STRVEC_INIT; const char *submodule = NULL; int seen_end_of_options = 0; @@ -2792,8 +2800,6 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s strvec_pushv(&prune_data, argv + i); break; } - else - got_rev_arg = 1; } if (prune_data.nr) { @@ -2822,7 +2828,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s opt->tweak(revs, opt); if (revs->show_merge) prepare_show_merge(revs); - if (revs->def && !revs->pending.nr && !revs->rev_input_given && !got_rev_arg) { + if (revs->def && !revs->pending.nr && !revs->rev_input_given) { struct object_id oid; struct object *object; struct object_context oc; |