diff options
-rw-r--r-- | docs/error-handling.md | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/docs/error-handling.md b/docs/error-handling.md index 8df9a4074..05725f2ed 100644 --- a/docs/error-handling.md +++ b/docs/error-handling.md @@ -110,6 +110,15 @@ int git_repository_open(git_repository **repository, const char *path) } ~~~ +Note that some error codes have been defined with a specific meaning in the +context of callbacks: +- `GIT_EUSER` provides a way to bubble up a non libgit2-related failure, which + allows it to be preserved all the way up to the initial function call (a `git_cred` + setup trying to access an unavailable LDAP server for instance). +- `GIT_EPASSTHROUGH` provides a way to tell libgit2 that it should behave as if + no callback was provided. This is of special interest to bindings, which would + always provide a C function as a "trampoline", and decide at runtime what to do. + The public error API -------------------- @@ -119,7 +128,7 @@ The public error API of error and the error message that was generated by the library. Do not use this function unless the prior call to a libgit2 API returned an error, as it can otherwise give misleading results. - libgit2's error strings are not cleared aggressively, + libgit2's error strings are not cleared aggressively, and this function may return an error string that reflects a prior error, possibly even reflecting internal state. |