The current API does not provide a method to call `get_oid()` and avoid `exit()` to be called. This commit intention is to introduce a flag in order to make `get_oid()` able to get the sha1 safely, without exiting the program. Since `get_oid()` calls a lot of functions, which call other functions as well (and so on), there are a lot of cases in which `exit()` could be called. To make this idea more clear, here is one example, which could cause `get_oid()` to die. get_oid() -> get_oid_with_context() -> get_oid_with_context_1() -> get_oid_1() -> read_ref_at() -> exit() Where `function1() -> function2()` means that `function1()` might call `function2()` at some point. Signed-off-by: Paul-Sebastian Ungureanu <ungureanupaulsebastian@xxxxxxxxx> --- cache.h | 1 + 1 file changed, 1 insertion(+) diff --git a/cache.h b/cache.h index d49092d94..cb8803e2f 100644 --- a/cache.h +++ b/cache.h @@ -1314,6 +1314,7 @@ struct object_context { #define GET_OID_FOLLOW_SYMLINKS 0100 #define GET_OID_RECORD_PATH 0200 #define GET_OID_ONLY_TO_DIE 04000 +#define GET_OID_GENTLY 010000 #define GET_OID_DISAMBIGUATORS \ (GET_OID_COMMIT | GET_OID_COMMITTISH | \ -- 2.18.0.rc2.184.ga79db55c2.dirty