diff options
author | Junio C Hamano <gitster@pobox.com> | 2007-06-06 15:43:24 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-06-06 15:43:24 -0700 |
commit | d44c782bbd6b0e806e056f9e8ff8cd8e426e67a3 (patch) | |
tree | ca47f19971689badb2b644d038a72f4b0d9d8f13 /tree.c | |
parent | f07dfbad29d473b35b5fecebf4baf77e32c7f97f (diff) | |
parent | e2ac7cb5fbcf1407003aa07cdcd14141527ea2e3 (diff) | |
download | git-d44c782bbd6b0e806e056f9e8ff8cd8e426e67a3.tar.gz |
Merge branch 'sv/objfixes'
* sv/objfixes:
Don't assume tree entries that are not dirs are blobs
git-cvsimport: Make sure to use $git_dir always instead of .git sometimes
fix documentation of unpack-objects -n
Accept dates before 2000/01/01 when specified as seconds since the epoch
Diffstat (limited to 'tree.c')
-rw-r--r-- | tree.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -173,8 +173,13 @@ static void track_tree_refs(struct tree *item) continue; if (S_ISDIR(entry.mode)) obj = &lookup_tree(entry.sha1)->object; - else + else if (S_ISREG(entry.mode) || S_ISLNK(entry.mode)) obj = &lookup_blob(entry.sha1)->object; + else { + warning("in tree %s: entry %s has bad mode %.6o\n", + sha1_to_hex(item->object.sha1), entry.path, entry.mode); + obj = lookup_unknown_object(entry.sha1); + } refs->ref[i++] = obj; } set_object_refs(&item->object, refs); |