]> asedeno.scripts.mit.edu Git - git.git/blobdiff - fast-import.c
Merge branch 'jk/maint-1.6.1-cleanup-after-exec-failure' into maint-1.6.1
[git.git] / fast-import.c
index a6bce661963812691503116e8d61d9ef90f96526..23e970d581ad00c97ba8ea870c0e43b16258b219 100644 (file)
@@ -944,6 +944,7 @@ static void end_packfile(void)
 {
        struct packed_git *old_p = pack_data, *new_p;
 
+       clear_delta_base_cache();
        if (object_count) {
                char *idx_name;
                int i;
@@ -1872,12 +1873,13 @@ static void file_change_m(struct branch *b)
        if (!p)
                die("Corrupt mode: %s", command_buf.buf);
        switch (mode) {
+       case 0644:
+       case 0755:
+               mode |= S_IFREG;
        case S_IFREG | 0644:
        case S_IFREG | 0755:
        case S_IFLNK:
        case S_IFGITLINK:
-       case 0644:
-       case 0755:
                /* ok */
                break;
        default:
@@ -1944,7 +1946,7 @@ static void file_change_m(struct branch *b)
                            typename(type), command_buf.buf);
        }
 
-       tree_content_set(&b->branch_tree, p, sha1, S_IFREG | mode, NULL);
+       tree_content_set(&b->branch_tree, p, sha1, mode, NULL);
 }
 
 static void file_change_d(struct branch *b)