>> +#define USE_THE_REPOSITORY_VARIABLE >> > Ah! Seems like `is_bare_repository()` is responsible for this, it would > be nice to not introduce global dependency in a new command, but this > isn't part of your project, so it's okay here. Yeah, to be honest I was reluctant to use this, and I tried to find if I could easily drop this dependency. But this is `is_bare_repository`: int is_bare_repository(void) { /* if core.bare is not 'false', let's see if there is a work tree */ return is_bare_repository_cfg && !repo_get_work_tree(the_repository); } But I couldn't find out what is the dependency of is_bare_repository_cfg on the_repository yet, but I decided to keep for this RFC.