summaryrefslogtreecommitdiff
path: root/read-cache.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2019-04-25 16:41:10 +0900
committerJunio C Hamano <gitster@pobox.com>2019-04-25 16:41:11 +0900
commit5795a75f9bd7a7f008b213c2f099e8c6b0468512 (patch)
treeed5f85921947bfcdd9dd7a8003c9760e5c0cc0c7 /read-cache.c
parent14c0f8d3ab6c36672189cd2dd217f4617d12ccba (diff)
parent1956ecd0ab26dea9c3ed6b9afe334101d9d12f60 (diff)
downloadgit-5795a75f9bd7a7f008b213c2f099e8c6b0468512.tar.gz
Merge branch 'bp/post-index-change-hook'
A new hook "post-index-change" is called when the on-disk index file changes, which can help e.g. a virtualized working tree implementation. * bp/post-index-change-hook: read-cache: add post-index-change hook
Diffstat (limited to 'read-cache.c')
-rw-r--r--read-cache.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/read-cache.c b/read-cache.c
index 4dc6de1b55..c62eae651d 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -17,6 +17,7 @@
#include "commit.h"
#include "blob.h"
#include "resolve-undo.h"
+#include "run-command.h"
#include "strbuf.h"
#include "varint.h"
#include "split-index.h"
@@ -3049,8 +3050,17 @@ static int do_write_locked_index(struct index_state *istate, struct lock_file *l
if (ret)
return ret;
if (flags & COMMIT_LOCK)
- return commit_locked_index(lock);
- return close_lock_file_gently(lock);
+ ret = commit_locked_index(lock);
+ else
+ ret = close_lock_file_gently(lock);
+
+ run_hook_le(NULL, "post-index-change",
+ istate->updated_workdir ? "1" : "0",
+ istate->updated_skipworktree ? "1" : "0", NULL);
+ istate->updated_workdir = 0;
+ istate->updated_skipworktree = 0;
+
+ return ret;
}
static int write_split_index(struct index_state *istate,