Merge branch 'ro/mktree-allow-missing-fix' into maint
"git mktree --missing" lazily fetched objects that are missing from the local object store, which was totally unnecessary for the purpose of creating the tree object(s) from its input. source: <748f39a9-65aa-2110-cf92-7ddf81b5f507@roku.com> * ro/mktree-allow-missing-fix: mktree: do not check type of remote objects
This commit is contained in:
commit
54ec7b817d
@ -74,6 +74,7 @@ static void mktree_line(char *buf, int nul_term_line, int allow_missing)
|
||||
unsigned mode;
|
||||
enum object_type mode_type; /* object type derived from mode */
|
||||
enum object_type obj_type; /* object type derived from sha */
|
||||
struct object_info oi = OBJECT_INFO_INIT;
|
||||
char *path, *to_free = NULL;
|
||||
struct object_id oid;
|
||||
|
||||
@ -116,8 +117,14 @@ static void mktree_line(char *buf, int nul_term_line, int allow_missing)
|
||||
path, ptr, type_name(mode_type));
|
||||
}
|
||||
|
||||
/* Check the type of object identified by sha1 */
|
||||
obj_type = oid_object_info(the_repository, &oid, NULL);
|
||||
/* Check the type of object identified by oid without fetching objects */
|
||||
oi.typep = &obj_type;
|
||||
if (oid_object_info_extended(the_repository, &oid, &oi,
|
||||
OBJECT_INFO_LOOKUP_REPLACE |
|
||||
OBJECT_INFO_QUICK |
|
||||
OBJECT_INFO_SKIP_FETCH_OBJECT) < 0)
|
||||
obj_type = -1;
|
||||
|
||||
if (obj_type < 0) {
|
||||
if (allow_missing) {
|
||||
; /* no problem - missing objects are presumed to be of the right type */
|
||||
|
Loading…
Reference in New Issue
Block a user