packed_git: convert pack_local flag into a bitfield and add pack_keep
[gitweb.git] / sha1_file.c
index 12fc767ee57103739e568a959981ca559417ecf4..adb116350bd38db0390f4f731e509f3fe703a1c1 100644 (file)
@@ -828,6 +828,11 @@ struct packed_git *add_packed_git(const char *path, int path_len, int local)
                return NULL;
        }
        memcpy(p->pack_name, path, path_len);
+
+       strcpy(p->pack_name + path_len, ".keep");
+       if (!access(p->pack_name, F_OK))
+               p->pack_keep = 1;
+
        strcpy(p->pack_name + path_len, ".pack");
        if (stat(p->pack_name, &st) || !S_ISREG(st.st_mode)) {
                free(p);