Merge branch 'ps/object-store-cleanup'
Further code clean-up in the object-store layer. * ps/object-store-cleanup: object-store: drop `repo_has_object_file()` treewide: convert users of `repo_has_object_file()` to `has_object()` object-store: allow fetching objects via `has_object()` object-store: move function declarations to their respective subsystems object-store: move and rename `odb_pack_keep()` object-store: drop `loose_object_path()` object-store: move `struct packed_git` into "packfile.h"
This commit is contained in:
@@ -337,7 +337,6 @@ static void find_non_local_tags(const struct ref *refs,
|
||||
struct string_list_item *remote_ref_item;
|
||||
const struct ref *ref;
|
||||
struct refname_hash_entry *item = NULL;
|
||||
const int quick_flags = OBJECT_INFO_QUICK | OBJECT_INFO_SKIP_FETCH_OBJECT;
|
||||
|
||||
refname_hash_init(&existing_refs);
|
||||
refname_hash_init(&remote_refs);
|
||||
@@ -367,9 +366,9 @@ static void find_non_local_tags(const struct ref *refs,
|
||||
*/
|
||||
if (ends_with(ref->name, "^{}")) {
|
||||
if (item &&
|
||||
!repo_has_object_file_with_flags(the_repository, &ref->old_oid, quick_flags) &&
|
||||
!has_object(the_repository, &ref->old_oid, 0) &&
|
||||
!oidset_contains(&fetch_oids, &ref->old_oid) &&
|
||||
!repo_has_object_file_with_flags(the_repository, &item->oid, quick_flags) &&
|
||||
!has_object(the_repository, &item->oid, 0) &&
|
||||
!oidset_contains(&fetch_oids, &item->oid))
|
||||
clear_item(item);
|
||||
item = NULL;
|
||||
@@ -383,7 +382,7 @@ static void find_non_local_tags(const struct ref *refs,
|
||||
* fetch.
|
||||
*/
|
||||
if (item &&
|
||||
!repo_has_object_file_with_flags(the_repository, &item->oid, quick_flags) &&
|
||||
!has_object(the_repository, &item->oid, 0) &&
|
||||
!oidset_contains(&fetch_oids, &item->oid))
|
||||
clear_item(item);
|
||||
|
||||
@@ -404,7 +403,7 @@ static void find_non_local_tags(const struct ref *refs,
|
||||
* checked to see if it needs fetching.
|
||||
*/
|
||||
if (item &&
|
||||
!repo_has_object_file_with_flags(the_repository, &item->oid, quick_flags) &&
|
||||
!has_object(the_repository, &item->oid, 0) &&
|
||||
!oidset_contains(&fetch_oids, &item->oid))
|
||||
clear_item(item);
|
||||
|
||||
@@ -911,7 +910,8 @@ static int update_local_ref(struct ref *ref,
|
||||
struct commit *current = NULL, *updated;
|
||||
int fast_forward = 0;
|
||||
|
||||
if (!repo_has_object_file(the_repository, &ref->new_oid))
|
||||
if (!has_object(the_repository, &ref->new_oid,
|
||||
HAS_OBJECT_RECHECK_PACKED | HAS_OBJECT_FETCH_PROMISOR))
|
||||
die(_("object %s not found"), oid_to_hex(&ref->new_oid));
|
||||
|
||||
if (oideq(&ref->old_oid, &ref->new_oid)) {
|
||||
@@ -1330,8 +1330,7 @@ static int check_exist_and_connected(struct ref *ref_map)
|
||||
* we need all direct targets to exist.
|
||||
*/
|
||||
for (r = rm; r; r = r->next) {
|
||||
if (!repo_has_object_file_with_flags(the_repository, &r->old_oid,
|
||||
OBJECT_INFO_SKIP_FETCH_OBJECT))
|
||||
if (!has_object(the_repository, &r->old_oid, HAS_OBJECT_RECHECK_PACKED))
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user