* [PATCH 1/2] blame.c: Add translation to warning about failed revision walk @ 2014-08-10 21:33 Stefan Beller 2014-08-10 21:33 ` [PATCH 2/2] prepare_revision_walk: Check for return value in all places Stefan Beller 2014-08-12 16:57 ` [PATCH 1/2] blame.c: Add translation to warning about failed revision walk Junio C Hamano 0 siblings, 2 replies; 5+ messages in thread From: Stefan Beller @ 2014-08-10 21:33 UTC (permalink / raw) To: gitster, git; +Cc: Stefan Beller blame belonging to the group of ancillaryinterrogators and not to plumbinginterrogators should have localized error messages? Signed-off-by: Stefan Beller <stefanbeller@gmail.com> --- builtin/blame.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/blame.c b/builtin/blame.c index 17d30d0..ca4ba6f 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -2700,7 +2700,7 @@ parse_done: * uninteresting. */ if (prepare_revision_walk(&revs)) - die("revision walk setup failed"); + die(_("revision walk setup failed")); if (is_null_sha1(sb.final->object.sha1)) { o = sb.final->util; -- 2.1.0.rc2 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] prepare_revision_walk: Check for return value in all places 2014-08-10 21:33 [PATCH 1/2] blame.c: Add translation to warning about failed revision walk Stefan Beller @ 2014-08-10 21:33 ` Stefan Beller 2014-08-11 19:09 ` Junio C Hamano 2014-08-12 16:57 ` [PATCH 1/2] blame.c: Add translation to warning about failed revision walk Junio C Hamano 1 sibling, 1 reply; 5+ messages in thread From: Stefan Beller @ 2014-08-10 21:33 UTC (permalink / raw) To: gitster, git; +Cc: Stefan Beller Even the documentation tells us: You should check if it returns any error (non-zero return code) and if it does not, you can start using get_revision() to do the iteration. In preparation for this commit, I grepped all occurrences of prepare_revision_walk and added error messages, when there were none. Signed-off-by: Stefan Beller <stefanbeller@gmail.com> --- builtin/branch.c | 4 +++- builtin/commit.c | 3 ++- remote.c | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/builtin/branch.c b/builtin/branch.c index 0591b22..ced422b 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -653,7 +653,9 @@ static int print_ref_list(int kinds, int detached, int verbose, int abbrev, stru add_pending_object(&ref_list.revs, (struct object *) filter, ""); ref_list.revs.limited = 1; - prepare_revision_walk(&ref_list.revs); + + if (prepare_revision_walk(&ref_list.revs)) + die(_("revision walk setup failed")); if (verbose) ref_list.maxwidth = calc_maxwidth(&ref_list); } diff --git a/builtin/commit.c b/builtin/commit.c index 7867768..bb84e1d 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -1055,7 +1055,8 @@ static const char *find_author_by_nickname(const char *name) revs.mailmap = &mailmap; read_mailmap(revs.mailmap, NULL); - prepare_revision_walk(&revs); + if (prepare_revision_walk(&revs)) + die("revision walk setup failed"); commit = get_revision(&revs); if (commit) { struct pretty_print_context ctx = {0}; diff --git a/remote.c b/remote.c index 894db09..112e4d5 100644 --- a/remote.c +++ b/remote.c @@ -1893,7 +1893,8 @@ int stat_tracking_info(struct branch *branch, int *num_ours, int *num_theirs) init_revisions(&revs, NULL); setup_revisions(rev_argc, rev_argv, &revs, NULL); - prepare_revision_walk(&revs); + if (prepare_revision_walk(&revs)) + die("revision walk setup failed"); /* ... and count the commits on each side. */ *num_ours = 0; -- 2.1.0.rc2 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] prepare_revision_walk: Check for return value in all places 2014-08-10 21:33 ` [PATCH 2/2] prepare_revision_walk: Check for return value in all places Stefan Beller @ 2014-08-11 19:09 ` Junio C Hamano 2014-08-11 19:23 ` Stefan Beller 0 siblings, 1 reply; 5+ messages in thread From: Junio C Hamano @ 2014-08-11 19:09 UTC (permalink / raw) To: Stefan Beller; +Cc: git Stefan Beller <stefanbeller@gmail.com> writes: > Even the documentation tells us: > You should check if it > returns any error (non-zero return code) and if it does not, you can > start using get_revision() to do the iteration. > > In preparation for this commit, I grepped all occurrences of > prepare_revision_walk and added error messages, when there were none. Thanks. One niggling thing is that I do not seem to find a way for the function to actually return an error without dying in it, but these are independently good changes. > > Signed-off-by: Stefan Beller <stefanbeller@gmail.com> > --- > builtin/branch.c | 4 +++- > builtin/commit.c | 3 ++- > remote.c | 3 ++- > 3 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/builtin/branch.c b/builtin/branch.c > index 0591b22..ced422b 100644 > --- a/builtin/branch.c > +++ b/builtin/branch.c > @@ -653,7 +653,9 @@ static int print_ref_list(int kinds, int detached, int verbose, int abbrev, stru > add_pending_object(&ref_list.revs, > (struct object *) filter, ""); > ref_list.revs.limited = 1; > - prepare_revision_walk(&ref_list.revs); > + > + if (prepare_revision_walk(&ref_list.revs)) > + die(_("revision walk setup failed")); > if (verbose) > ref_list.maxwidth = calc_maxwidth(&ref_list); > } > diff --git a/builtin/commit.c b/builtin/commit.c > index 7867768..bb84e1d 100644 > --- a/builtin/commit.c > +++ b/builtin/commit.c > @@ -1055,7 +1055,8 @@ static const char *find_author_by_nickname(const char *name) > revs.mailmap = &mailmap; > read_mailmap(revs.mailmap, NULL); > > - prepare_revision_walk(&revs); > + if (prepare_revision_walk(&revs)) > + die("revision walk setup failed"); > commit = get_revision(&revs); > if (commit) { > struct pretty_print_context ctx = {0}; > diff --git a/remote.c b/remote.c > index 894db09..112e4d5 100644 > --- a/remote.c > +++ b/remote.c > @@ -1893,7 +1893,8 @@ int stat_tracking_info(struct branch *branch, int *num_ours, int *num_theirs) > > init_revisions(&revs, NULL); > setup_revisions(rev_argc, rev_argv, &revs, NULL); > - prepare_revision_walk(&revs); > + if (prepare_revision_walk(&revs)) > + die("revision walk setup failed"); > > /* ... and count the commits on each side. */ > *num_ours = 0; ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] prepare_revision_walk: Check for return value in all places 2014-08-11 19:09 ` Junio C Hamano @ 2014-08-11 19:23 ` Stefan Beller 0 siblings, 0 replies; 5+ messages in thread From: Stefan Beller @ 2014-08-11 19:23 UTC (permalink / raw) To: Junio C Hamano; +Cc: git On 11.08.2014 21:09, Junio C Hamano wrote: > Stefan Beller <stefanbeller@gmail.com> writes: > >> Even the documentation tells us: >> You should check if it >> returns any error (non-zero return code) and if it does not, you can >> start using get_revision() to do the iteration. >> >> In preparation for this commit, I grepped all occurrences of >> prepare_revision_walk and added error messages, when there were none. > > Thanks. One niggling thing is that I do not seem to find a way for > the function to actually return an error without dying in it, but > these are independently good changes. > >> >> Signed-off-by: Stefan Beller <stefanbeller@gmail.com> >> --- >> builtin/branch.c | 4 +++- >> builtin/commit.c | 3 ++- >> remote.c | 3 ++- >> 3 files changed, 7 insertions(+), 3 deletions(-) >> >> diff --git a/builtin/branch.c b/builtin/branch.c >> index 0591b22..ced422b 100644 >> --- a/builtin/branch.c >> +++ b/builtin/branch.c >> @@ -653,7 +653,9 @@ static int print_ref_list(int kinds, int detached, int verbose, int abbrev, stru >> add_pending_object(&ref_list.revs, >> (struct object *) filter, ""); >> ref_list.revs.limited = 1; >> - prepare_revision_walk(&ref_list.revs); >> + >> + if (prepare_revision_walk(&ref_list.revs)) >> + die(_("revision walk setup failed")); >> if (verbose) >> ref_list.maxwidth = calc_maxwidth(&ref_list); >> } >> diff --git a/builtin/commit.c b/builtin/commit.c >> index 7867768..bb84e1d 100644 >> --- a/builtin/commit.c >> +++ b/builtin/commit.c >> @@ -1055,7 +1055,8 @@ static const char *find_author_by_nickname(const char *name) >> revs.mailmap = &mailmap; >> read_mailmap(revs.mailmap, NULL); >> >> - prepare_revision_walk(&revs); >> + if (prepare_revision_walk(&revs)) >> + die("revision walk setup failed"); Just reviewed the patch myself and here in commit.c we should have a localized version, right? Should I resend the patch with the localisation or could you just amend that? >> commit = get_revision(&revs); >> if (commit) { >> struct pretty_print_context ctx = {0}; >> diff --git a/remote.c b/remote.c >> index 894db09..112e4d5 100644 >> --- a/remote.c >> +++ b/remote.c >> @@ -1893,7 +1893,8 @@ int stat_tracking_info(struct branch *branch, int *num_ours, int *num_theirs) >> >> init_revisions(&revs, NULL); >> setup_revisions(rev_argc, rev_argv, &revs, NULL); >> - prepare_revision_walk(&revs); >> + if (prepare_revision_walk(&revs)) >> + die("revision walk setup failed"); >> >> /* ... and count the commits on each side. */ >> *num_ours = 0; ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] blame.c: Add translation to warning about failed revision walk 2014-08-10 21:33 [PATCH 1/2] blame.c: Add translation to warning about failed revision walk Stefan Beller 2014-08-10 21:33 ` [PATCH 2/2] prepare_revision_walk: Check for return value in all places Stefan Beller @ 2014-08-12 16:57 ` Junio C Hamano 1 sibling, 0 replies; 5+ messages in thread From: Junio C Hamano @ 2014-08-12 16:57 UTC (permalink / raw) To: Stefan Beller; +Cc: git Stefan Beller <stefanbeller@gmail.com> writes: > blame belonging to the group of > ancillaryinterrogators and not to plumbinginterrogators > should have localized error messages? Unless running under --porcelain option to be driven by scripts, we expect that we are talking to a human user, so using "_(msg)" is very much appropriate for that case. A possibly problematic script might do something like this: git blame --porcelain "$1" 2>&1 | awk "$awkScript" and the $awkScript may check the input lines that do not match the expected pattern the output lines from the command follow and act on them, though. _(msg) is unwelcome to such a script [*1*]. I suspect the above problem is likely to be theoretical. People would be more sloppy and write this instead: git blame --porcelain "$1" | awk "$awkScript" and let the problem pass unnoticed, affecting the later parts of their processing ;-). And "_(msg)", not "msg", would help. [Footnote] *1* ... and with possible interleaving of output that came to the standard output and the standard error, such parsing by $awkScript would not be a reliable way to do this anyway. A truly careful one has to be written along the lines of: git blame --porcelain "$1" >"$tmp" && awk "$awkScript" <"$tmp" anyway. > Signed-off-by: Stefan Beller <stefanbeller@gmail.com> > --- > builtin/blame.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/builtin/blame.c b/builtin/blame.c > index 17d30d0..ca4ba6f 100644 > --- a/builtin/blame.c > +++ b/builtin/blame.c > @@ -2700,7 +2700,7 @@ parse_done: > * uninteresting. > */ > if (prepare_revision_walk(&revs)) > - die("revision walk setup failed"); > + die(_("revision walk setup failed")); > > if (is_null_sha1(sb.final->object.sha1)) { > o = sb.final->util; ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-08-12 16:58 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-08-10 21:33 [PATCH 1/2] blame.c: Add translation to warning about failed revision walk Stefan Beller 2014-08-10 21:33 ` [PATCH 2/2] prepare_revision_walk: Check for return value in all places Stefan Beller 2014-08-11 19:09 ` Junio C Hamano 2014-08-11 19:23 ` Stefan Beller 2014-08-12 16:57 ` [PATCH 1/2] blame.c: Add translation to warning about failed revision walk Junio C Hamano
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).