Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
0e3a7a84e6 | |||
68634537c0 | |||
529ac333ea | |||
50aa5f157f |
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
||||
*.o
|
||||
XD
|
||||
compile_commands.json
|
||||
|
1
XD.1
1
XD.1
@ -24,6 +24,7 @@ c;l.
|
||||
:;default
|
||||
\;;in a git repo
|
||||
8;in a git repo with stashed changes
|
||||
X;in a git repo during a merge
|
||||
B;in a git repo with no commits
|
||||
.TE
|
||||
.Ss Nose
|
||||
|
15
XD.c
15
XD.c
@ -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 */
|
||||
@ -291,7 +300,7 @@ main(int argc, char *argv[])
|
||||
|
||||
/* change the nose depending on the current git repo's status */
|
||||
if (has_staged(repo)) {
|
||||
E("The're staged changes.")
|
||||
E("They're staged changes.")
|
||||
P("*"); /* change to broken nose for staged changes */
|
||||
} else if (has_untracked(repo)) {
|
||||
E("There are untracked changes in the repository.")
|
||||
|
Reference in New Issue
Block a user