untracked cache: mark index dirty if untracked cache is updated
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c9ccb5d327
commit
1bbb3dba3f
1
cache.h
1
cache.h
@ -289,6 +289,7 @@ static inline unsigned int canon_mode(unsigned int mode)
|
|||||||
#define RESOLVE_UNDO_CHANGED (1 << 4)
|
#define RESOLVE_UNDO_CHANGED (1 << 4)
|
||||||
#define CACHE_TREE_CHANGED (1 << 5)
|
#define CACHE_TREE_CHANGED (1 << 5)
|
||||||
#define SPLIT_INDEX_ORDERED (1 << 6)
|
#define SPLIT_INDEX_ORDERED (1 << 6)
|
||||||
|
#define UNTRACKED_CHANGED (1 << 7)
|
||||||
|
|
||||||
struct split_index;
|
struct split_index;
|
||||||
struct untracked_cache;
|
struct untracked_cache;
|
||||||
|
9
dir.c
9
dir.c
@ -1934,6 +1934,15 @@ int read_directory(struct dir_struct *dir, const char *path, int len, const stru
|
|||||||
dir->untracked->gitignore_invalidated,
|
dir->untracked->gitignore_invalidated,
|
||||||
dir->untracked->dir_invalidated,
|
dir->untracked->dir_invalidated,
|
||||||
dir->untracked->dir_opened);
|
dir->untracked->dir_opened);
|
||||||
|
if (dir->untracked == the_index.untracked &&
|
||||||
|
(dir->untracked->dir_opened ||
|
||||||
|
dir->untracked->gitignore_invalidated ||
|
||||||
|
dir->untracked->dir_invalidated))
|
||||||
|
the_index.cache_changed |= UNTRACKED_CHANGED;
|
||||||
|
if (dir->untracked != the_index.untracked) {
|
||||||
|
free(dir->untracked);
|
||||||
|
dir->untracked = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return dir->nr;
|
return dir->nr;
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,7 @@ static struct cache_entry *refresh_cache_entry(struct cache_entry *ce,
|
|||||||
/* changes that can be kept in $GIT_DIR/index (basically all extensions) */
|
/* changes that can be kept in $GIT_DIR/index (basically all extensions) */
|
||||||
#define EXTMASK (RESOLVE_UNDO_CHANGED | CACHE_TREE_CHANGED | \
|
#define EXTMASK (RESOLVE_UNDO_CHANGED | CACHE_TREE_CHANGED | \
|
||||||
CE_ENTRY_ADDED | CE_ENTRY_REMOVED | CE_ENTRY_CHANGED | \
|
CE_ENTRY_ADDED | CE_ENTRY_REMOVED | CE_ENTRY_CHANGED | \
|
||||||
SPLIT_INDEX_ORDERED)
|
SPLIT_INDEX_ORDERED | UNTRACKED_CHANGED)
|
||||||
|
|
||||||
struct index_state the_index;
|
struct index_state the_index;
|
||||||
static const char *alternate_index_output;
|
static const char *alternate_index_output;
|
||||||
|
Loading…
Reference in New Issue
Block a user