René Scharfe [off-list ref] writes:
Junio C Hamano schrieb:
quoted
-static void mktree_line(char *buf, size_t len, int line_termination)
+static void mktree_line(char *buf, size_t len, int line_termination, int allow_missing)
{
char *ptr, *ntr;
unsigned mode;@@ -92,9 +92,12 @@ static void mktree_line(char *buf, size_t len, int line_termination)
/* It is perfectly normal if we do not have a commit from a submodule */
if (!S_ISGITLINK(mode))
+ allow_missing = 1;
+
+ if (!allow_missing)
type = sha1_object_info(sha1, NULL);
else
- type = OBJ_COMMIT;
+ type = object_type(mode);
if (type < 0)
die("object %s unavailable", sha1_to_hex(sha1));
Don't you need this, above?
- if (!S_ISGITLINK(mode))
+ if (S_ISGITLINK(mode))
Agh; you are of course right.