lockfile: allow reopening a closed but still locked file
commit93dcaea22674864f931be3fe6050671d335dc5b0
authorJunio C Hamano <gitster@pobox.com>
Mon, 14 Jul 2014 17:29:58 +0000 (14 10:29 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 14 Jul 2014 20:05:37 +0000 (14 13:05 -0700)
tree766396abcc4aba5fa2ac49aec1ff5b5cd11bb7e3
parent3e52f70b1505956bf91cb7b107e526d1c67da0a6
lockfile: allow reopening a closed but still locked file

In some code paths (e.g. giving "add -i" to prepare the contents to
be committed interactively inside "commit -p") where a caller takes
a lock, writes the new content, give chance for others to use it
while still holding the lock, and then releases the lock when all is
done.  As an extension, allow the caller to re-update an already
closed file while still holding the lock (i.e. not yet committed) by
re-opening the file, to be followed by updating the contents and
then by the usual close_lock_file() or commit_lock_file().

This is necessary if we want to add code to rebuild the cache-tree
and write the resulting index out after "add -i" returns the control
to "commit -p", for example.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
cache.h
lockfile.c