Teach runstatus about --untracked
Actually, teach runstatus what to do if it is not passed; it should not list the contents of completely untracked directories, but only the name of that directory (plus a trailing '/'). [jc: with comments by Jeff King to match hide-empty-directories behaviour of the original.] Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
c91f0d92ef
commit
2074cb0af3
@ -25,6 +25,8 @@ int cmd_runstatus(int argc, const char **argv, const char *prefix)
|
|||||||
}
|
}
|
||||||
else if (!strcmp(argv[i], "--verbose"))
|
else if (!strcmp(argv[i], "--verbose"))
|
||||||
s.verbose = 1;
|
s.verbose = 1;
|
||||||
|
else if (!strcmp(argv[i], "--untracked"))
|
||||||
|
s.untracked = 1;
|
||||||
else
|
else
|
||||||
usage(runstatus_usage);
|
usage(runstatus_usage);
|
||||||
}
|
}
|
||||||
|
@ -82,7 +82,8 @@ run_status () {
|
|||||||
esac
|
esac
|
||||||
git-runstatus ${color} \
|
git-runstatus ${color} \
|
||||||
${verbose:+--verbose} \
|
${verbose:+--verbose} \
|
||||||
${amend:+--amend}
|
${amend:+--amend} \
|
||||||
|
${untracked_files:+--untracked}
|
||||||
}
|
}
|
||||||
|
|
||||||
trap '
|
trap '
|
||||||
|
@ -50,6 +50,7 @@ void wt_status_prepare(struct wt_status *s)
|
|||||||
s->amend = 0;
|
s->amend = 0;
|
||||||
s->verbose = 0;
|
s->verbose = 0;
|
||||||
s->commitable = 0;
|
s->commitable = 0;
|
||||||
|
s->untracked = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void wt_status_print_header(const char *main, const char *sub)
|
static void wt_status_print_header(const char *main, const char *sub)
|
||||||
@ -188,6 +189,10 @@ static void wt_status_print_untracked(const struct wt_status *s)
|
|||||||
memset(&dir, 0, sizeof(dir));
|
memset(&dir, 0, sizeof(dir));
|
||||||
|
|
||||||
dir.exclude_per_dir = ".gitignore";
|
dir.exclude_per_dir = ".gitignore";
|
||||||
|
if (!s->untracked) {
|
||||||
|
dir.show_other_directories = 1;
|
||||||
|
dir.hide_empty_directories = 1;
|
||||||
|
}
|
||||||
x = git_path("info/exclude");
|
x = git_path("info/exclude");
|
||||||
if (file_exists(x))
|
if (file_exists(x))
|
||||||
add_excludes_from_file(&dir, x);
|
add_excludes_from_file(&dir, x);
|
||||||
|
@ -15,6 +15,7 @@ struct wt_status {
|
|||||||
int commitable;
|
int commitable;
|
||||||
int verbose;
|
int verbose;
|
||||||
int amend;
|
int amend;
|
||||||
|
int untracked;
|
||||||
};
|
};
|
||||||
|
|
||||||
int git_status_config(const char *var, const char *value);
|
int git_status_config(const char *var, const char *value);
|
||||||
|
Loading…
Reference in New Issue
Block a user