reftable/error: discern locked/outdated errors
We currently throw two different errors into a similar-but-different
error code:
- Errors when trying to lock the reftable stack.
- Errors when trying to write to the reftable stack which has been
modified concurrently.
This results in unclear error handling and user-visible error messages.
Create a new `REFTABLE_OUTDATED_ERROR` so that those error conditions
can be clearly told apart from each other. Adjust users of the old
`REFTABLE_LOCK_ERROR` to use the new error code as required.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
630942a873
commit
af18098c9d
@ -22,7 +22,7 @@ const char *reftable_error_str(int err)
|
||||
case REFTABLE_NOT_EXIST_ERROR:
|
||||
return "file does not exist";
|
||||
case REFTABLE_LOCK_ERROR:
|
||||
return "data is outdated";
|
||||
return "data is locked";
|
||||
case REFTABLE_API_ERROR:
|
||||
return "misuse of the reftable API";
|
||||
case REFTABLE_ZLIB_ERROR:
|
||||
@ -35,6 +35,8 @@ const char *reftable_error_str(int err)
|
||||
return "invalid refname";
|
||||
case REFTABLE_ENTRY_TOO_BIG_ERROR:
|
||||
return "entry too large";
|
||||
case REFTABLE_OUTDATED_ERROR:
|
||||
return "data concurrently modified";
|
||||
case -1:
|
||||
return "general error";
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user