diff options
Diffstat (limited to 'XD.c')
-rw-r--r-- | XD.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -3,7 +3,10 @@ #include <string.h> #include <ctype.h> -#if defined(ERR) || defined(EXPLAIN) +#ifdef ERR +#include <errno.h> +#endif +#if defined(EXPLAIN) || defined(ERR) #include <stdarg.h> #endif @@ -62,9 +65,12 @@ char struct stat s; int i, c; - /* find the number of jumps to the root of the fs */ rpath = realpath(path, NULL); + if (!rpath) { + L("realpath: %s", strerror(errno)); + return NULL; + } for (i = c = 0; i < strlen(rpath); i++) { if (rpath[i] == '/') { c++; @@ -281,6 +287,9 @@ main(int argc, char *argv[]) if (has_stashes(repo)) { E("The current git repo has stashed changes.") P("8"); /* goggle eyes if we have some stashed changes */ + } else if (git_repository_state(repo) == GIT_REPOSITORY_STATE_MERGE) { + E("The current git repo is in the middle of a merge.") + P("X"); /* laughing eyes cause the user is fucked */ } else if (git_repository_is_empty(repo)) { E("This is a new git repo.") P("B"); /* sunglasses if we're in a new repo with no HEAD */ |