Browse Source

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>
maint
Johannes Schindelin 19 years ago committed by Junio C Hamano
parent
commit
2074cb0af3
  1. 2
      builtin-runstatus.c
  2. 3
      git-commit.sh
  3. 5
      wt-status.c
  4. 1
      wt-status.h

2
builtin-runstatus.c

@ -25,6 +25,8 @@ int cmd_runstatus(int argc, const char **argv, const char *prefix) @@ -25,6 +25,8 @@ int cmd_runstatus(int argc, const char **argv, const char *prefix)
}
else if (!strcmp(argv[i], "--verbose"))
s.verbose = 1;
else if (!strcmp(argv[i], "--untracked"))
s.untracked = 1;
else
usage(runstatus_usage);
}

3
git-commit.sh

@ -82,7 +82,8 @@ run_status () { @@ -82,7 +82,8 @@ run_status () {
esac
git-runstatus ${color} \
${verbose:+--verbose} \
${amend:+--amend}
${amend:+--amend} \
${untracked_files:+--untracked}
}

trap '

5
wt-status.c

@ -50,6 +50,7 @@ void wt_status_prepare(struct wt_status *s) @@ -50,6 +50,7 @@ void wt_status_prepare(struct wt_status *s)
s->amend = 0;
s->verbose = 0;
s->commitable = 0;
s->untracked = 0;
}

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) @@ -188,6 +189,10 @@ static void wt_status_print_untracked(const struct wt_status *s)
memset(&dir, 0, sizeof(dir));

dir.exclude_per_dir = ".gitignore";
if (!s->untracked) {
dir.show_other_directories = 1;
dir.hide_empty_directories = 1;
}
x = git_path("info/exclude");
if (file_exists(x))
add_excludes_from_file(&dir, x);

1
wt-status.h

@ -15,6 +15,7 @@ struct wt_status { @@ -15,6 +15,7 @@ struct wt_status {
int commitable;
int verbose;
int amend;
int untracked;
};

int git_status_config(const char *var, const char *value);

Loading…
Cancel
Save