When a split-index file is created, let's update the mtime of the
shared index file that the split-index file is referencing.

In a following commit we will make shared index file expire
depending on their mtime, so updating the mtime makes sure that
the shared index file will not be deleted soon.

Signed-off-by: Christian Couder <[email protected]>
---
 read-cache.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/read-cache.c b/read-cache.c
index a91fabe..3aeff77 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -2268,6 +2268,12 @@ int write_locked_index(struct index_state *istate, 
struct lock_file *lock,
                int ret = write_shared_index(istate, lock, flags);
                if (ret)
                        return ret;
+       } else {
+               /* Signal that the shared index is used */
+               const char *shared_index = git_path("sharedindex.%s",
+                                                   sha1_to_hex(si->base_sha1));
+               if (!check_and_freshen_file(shared_index, 1))
+                       warning("could not freshen '%s'", shared_index);
        }
 
        return write_split_index(istate, lock, flags);
-- 
2.10.1.462.g7e1e03a

Reply via email to