summaryrefslogtreecommitdiff
path: root/Documentation/git-update-index.txt
diff options
context:
space:
mode:
authorLibravatar Ronnie Sahlberg <sahlberg@google.com>2014-11-19 17:28:52 -0500
committerLibravatar Junio C Hamano <gitster@pobox.com>2014-11-20 08:25:03 -0800
commit068395150b8a2b3e6fbed3e60ca5cbb7c7bb6a99 (patch)
tree2a654ed82d4e72fba96291d7931cd35bf4decbaf /Documentation/git-update-index.txt
parentMerge git://github.com/git-l10n/git-po (diff)
downloadtgif-068395150b8a2b3e6fbed3e60ca5cbb7c7bb6a99.tar.xz
lock_ref_sha1_basic: do not die on locking errors
lock_ref_sha1_basic is inconsistent about when it calls die() and when it returns NULL to signal an error. This is annoying to any callers that want to recover from a locking error. This seems to be mostly historical accident. It was added in 4bd18c4 (Improve abstraction of ref lock/write., 2006-05-17), which returned an error in all cases except calling safe_create_leading_directories, in which case it died. Later, 40aaae8 (Better error message when we are unable to lock the index file, 2006-08-12) asked hold_lock_file_for_update to die for us, leaving the resolve_ref code-path the only one which returned NULL. We tried to correct that in 5cc3cef (lock_ref_sha1(): do not sometimes error() and sometimes die()., 2006-09-30), by converting all of the die() calls into returns. But we missed the "die" flag passed to the lock code, leaving us inconsistent. This state persisted until e5c223e (lock_ref_sha1_basic(): if locking fails with ENOENT, retry, 2014-01-18). Because of its retry scheme, it does not ask the lock code to die, but instead manually dies with unable_to_lock_die(). We can make this consistent with the other return paths by converting this to use unable_to_lock_message(), and returning NULL. This is safe to do because all callers already needed to check the return value of the function, since it could fail (and return NULL) for other reasons. [jk: Added excessive history explanation] Signed-off-by: Ronnie Sahlberg <sahlberg@google.com> Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-update-index.txt')
0 files changed, 0 insertions, 0 deletions