Merge branch 'ab/refs-errno-cleanup'
The "remainder" of hn/refs-errno-cleanup topic. * ab/refs-errno-cleanup: (21 commits) refs API: post-migration API renaming [2/2] refs API: post-migration API renaming [1/2] refs API: don't expose "errno" in run_transaction_hook() refs API: make expand_ref() & repo_dwim_log() not set errno refs API: make resolve_ref_unsafe() not set errno refs API: make refs_ref_exists() not set errno refs API: make refs_resolve_refdup() not set errno refs tests: ignore ignore errno in test-ref-store helper refs API: ignore errno in worktree.c's find_shared_symref() refs API: ignore errno in worktree.c's add_head_info() refs API: make files_copy_or_rename_ref() et al not set errno refs API: make loose_fill_ref_dir() not set errno refs API: make resolve_gitlink_ref() not set errno refs API: remove refs_read_ref_full() wrapper refs/files: remove "name exist?" check in lock_ref_oid_basic() reflog tests: add --updateref tests refs API: make refs_rename_ref_available() static refs API: make parse_loose_ref_contents() not set errno refs API: make refs_read_raw_ref() not set errno refs API: add a version of refs_resolve_ref_unsafe() with "errno" ...
This commit is contained in:
@ -1354,6 +1354,7 @@ int is_packed_transaction_needed(struct ref_store *ref_store,
|
||||
ret = 0;
|
||||
for (i = 0; i < transaction->nr; i++) {
|
||||
struct ref_update *update = transaction->updates[i];
|
||||
int failure_errno;
|
||||
unsigned int type;
|
||||
struct object_id oid;
|
||||
|
||||
@ -1364,9 +1365,9 @@ int is_packed_transaction_needed(struct ref_store *ref_store,
|
||||
*/
|
||||
continue;
|
||||
|
||||
if (!refs_read_raw_ref(ref_store, update->refname,
|
||||
&oid, &referent, &type) ||
|
||||
errno != ENOENT) {
|
||||
if (!refs_read_raw_ref(ref_store, update->refname, &oid,
|
||||
&referent, &type, &failure_errno) ||
|
||||
failure_errno != ENOENT) {
|
||||
/*
|
||||
* We have to actually delete that reference
|
||||
* -> this transaction is needed.
|
||||
|
||||
Reference in New Issue
Block a user