From 8dc3834610b676c2eb64cfe2a08b8b3d05be05df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20=C3=85gren?= Date: Thu, 5 Oct 2017 22:32:11 +0200 Subject: cache.h: document `write_locked_index()` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The next patches will tweak the behavior of this function. Document it in order to establish a basis for those patches. Signed-off-by: Martin Ă…gren Signed-off-by: Junio C Hamano --- cache.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'cache.h') diff --git a/cache.h b/cache.h index ea6c236e0..e9d9556e3 100644 --- a/cache.h +++ b/cache.h @@ -601,9 +601,25 @@ extern int do_read_index(struct index_state *istate, const char *path, extern int read_index_from(struct index_state *, const char *path); extern int is_index_unborn(struct index_state *); extern int read_index_unmerged(struct index_state *); + +/* For use with `write_locked_index()`. */ #define COMMIT_LOCK (1 << 0) #define CLOSE_LOCK (1 << 1) + +/* + * Write the index while holding an already-taken lock. The flags may + * contain at most one of `COMMIT_LOCK` and `CLOSE_LOCK`. + * + * Unless a split index is in use, write the index into the lockfile. + * + * With a split index, write the shared index to a temporary file, + * adjust its permissions and rename it into place, then write the + * split index to the lockfile. If the temporary file for the shared + * index cannot be created, fall back to the behavior described in + * the previous paragraph. + */ extern int write_locked_index(struct index_state *, struct lock_file *lock, unsigned flags); + extern int discard_index(struct index_state *); extern void move_index_extensions(struct index_state *dst, struct index_state *src); extern int unmerged_index(const struct index_state *); -- cgit v1.2.1