Commit 2964fed0c5dfeb3b1349ed354f57a3e10ac2a631

Etienne Samson 2019-01-15T13:30:42

docs: document GIT_EUSER/GIT_EPASSTHROUGH

diff --git a/docs/error-handling.md b/docs/error-handling.md
index 8df9a40..05725f2 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.