From df708842393c5272e03d8aeb364766a1d9063edd Mon Sep 17 00:00:00 2001 From: Thomas Koutcher Date: Sat, 6 Apr 2019 11:44:07 +0200 Subject: [PATCH] Fix refresh for untracked files --- src/status.c | 4 ++++ src/watch.c | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/status.c b/src/status.c index 228e45ba1..edeb0199a 100644 --- a/src/status.c +++ b/src/status.c @@ -156,11 +156,15 @@ status_run(struct view *view, const char *argv[], char status, enum line_type ty watch_apply(&view->watch, WATCH_INDEX_STAGED_NO); else if (type == LINE_STAT_UNSTAGED) watch_apply(&view->watch, WATCH_INDEX_UNSTAGED_NO); + else if (type == LINE_STAT_UNTRACKED) + watch_apply(&view->watch, WATCH_INDEX_UNTRACKED_NO); } else { if (type == LINE_STAT_STAGED) watch_apply(&view->watch, WATCH_INDEX_STAGED_YES); else if (type == LINE_STAT_UNSTAGED) watch_apply(&view->watch, WATCH_INDEX_UNSTAGED_YES); + else if (type == LINE_STAT_UNTRACKED) + watch_apply(&view->watch, WATCH_INDEX_UNTRACKED_YES); } io_done(&io); diff --git a/src/watch.c b/src/watch.c index ad9752a05..14f85b2f6 100644 --- a/src/watch.c +++ b/src/watch.c @@ -112,7 +112,7 @@ watch_index_handler(struct watch_handler *handler, enum watch_event event, enum if (!check_file_mtime(&handler->last_modified, "%s/index", repo.git_dir) || event == WATCH_EVENT_SWITCH_VIEW || - !index_diff(&diff, false, false)) + !index_diff(&diff, opt_show_untracked, false)) return WATCH_NONE; if (check & WATCH_INDEX_STAGED) { @@ -129,6 +129,13 @@ watch_index_handler(struct watch_handler *handler, enum watch_event event, enum changed |= WATCH_INDEX_UNSTAGED_NO; } + if (check & WATCH_INDEX_UNTRACKED) { + if (diff.untracked) + changed |= WATCH_INDEX_UNTRACKED_YES; + else + changed |= WATCH_INDEX_UNTRACKED_NO; + } + if (changed) handler->last_modified = time(NULL);