refs: introduce enum-based transaction error types
Replace preprocessor-defined transaction errors with a strongly-typed
enum `ref_transaction_error`. This change:
- Improves type safety and function signature clarity.
- Makes error handling more explicit and discoverable.
- Maintains existing error cases, while adding new error cases for
common scenarios.
This refactoring paves the way for more comprehensive error handling
which we will utilize in the upcoming commits to add batch reference
update support.
Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
Acked-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
ca89c18d5c
commit
76e760b999
@@ -687,7 +687,7 @@ static int s_update_ref(const char *action,
|
||||
switch (ref_transaction_commit(our_transaction, &err)) {
|
||||
case 0:
|
||||
break;
|
||||
case TRANSACTION_NAME_CONFLICT:
|
||||
case REF_TRANSACTION_ERROR_NAME_CONFLICT:
|
||||
ret = STORE_REF_ERROR_DF_CONFLICT;
|
||||
goto out;
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user