Browse Source

Merge branch 'ab/usage-error-docs'

Documentation updates, with unrelated comment updates, too.

* ab/usage-error-docs:
  api docs: document that BUG() emits a trace2 error event
  api docs: document BUG() in api-error-handling.txt
  usage.c: don't copy/paste the same comment three times
maint
Junio C Hamano 4 years ago
parent
commit
fdef940afe
  1. 10
      Documentation/technical/api-error-handling.txt
  2. 2
      Documentation/technical/api-trace2.txt
  3. 17
      usage.c

10
Documentation/technical/api-error-handling.txt

@ -1,8 +1,11 @@ @@ -1,8 +1,11 @@
Error reporting in git
======================

`die`, `usage`, `error`, and `warning` report errors of various
kinds.
`BUG`, `die`, `usage`, `error`, and `warning` report errors of
various kinds.

- `BUG` is for failed internal assertions that should never happen,
i.e. a bug in git itself.

- `die` is for fatal application errors. It prints a message to
the user and exits with status 128.
@ -20,6 +23,9 @@ kinds. @@ -20,6 +23,9 @@ kinds.
without running into too many problems. Like `error`, it
returns -1 after reporting the situation to the caller.

These reports will be logged via the trace2 facility. See the "error"
event in link:api-trace2.txt[trace2 API].

Customizable error handlers
---------------------------


2
Documentation/technical/api-trace2.txt

@ -465,7 +465,7 @@ completed.) @@ -465,7 +465,7 @@ completed.)
------------

`"error"`::
This event is emitted when one of the `error()`, `die()`,
This event is emitted when one of the `BUG()`, `error()`, `die()`,
`warning()`, or `usage()` functions are called.
+
------------

17
usage.c

@ -55,12 +55,13 @@ static NORETURN void usage_builtin(const char *err, va_list params) @@ -55,12 +55,13 @@ static NORETURN void usage_builtin(const char *err, va_list params)
exit(129);
}

/*
* We call trace2_cmd_error_va() in the below functions first and
* expect it to va_copy 'params' before using it (because an 'ap' can
* only be walked once).
*/
static NORETURN void die_builtin(const char *err, va_list params)
{
/*
* We call this trace2 function first and expect it to va_copy 'params'
* before using it (because an 'ap' can only be walked once).
*/
trace2_cmd_error_va(err, params);

vreportf("fatal: ", err, params);
@ -70,10 +71,6 @@ static NORETURN void die_builtin(const char *err, va_list params) @@ -70,10 +71,6 @@ static NORETURN void die_builtin(const char *err, va_list params)

static void error_builtin(const char *err, va_list params)
{
/*
* We call this trace2 function first and expect it to va_copy 'params'
* before using it (because an 'ap' can only be walked once).
*/
trace2_cmd_error_va(err, params);

vreportf("error: ", err, params);
@ -81,10 +78,6 @@ static void error_builtin(const char *err, va_list params) @@ -81,10 +78,6 @@ static void error_builtin(const char *err, va_list params)

static void warn_builtin(const char *warn, va_list params)
{
/*
* We call this trace2 function first and expect it to va_copy 'params'
* before using it (because an 'ap' can only be walked once).
*/
trace2_cmd_error_va(warn, params);

vreportf("warning: ", warn, params);

Loading…
Cancel
Save