]> git.ipfire.org Git - thirdparty/git.git/blobdiff - http-backend.c
Merge branch 'ss/submodule-summary-in-c'
[thirdparty/git.git] / http-backend.c
index 458642ef72b879a2f53d6e1f8f192847ed814111..a03b4bae2221fc2cdb8fa5dad0f89c1ce33af281 100644 (file)
@@ -9,7 +9,7 @@
 #include "run-command.h"
 #include "string-list.h"
 #include "url.h"
-#include "argv-array.h"
+#include "strvec.h"
 #include "packfile.h"
 #include "object-store.h"
 #include "protocol.h"
@@ -477,15 +477,17 @@ static void run_service(const char **argv, int buffer_input)
                host = "(none)";
 
        if (!getenv("GIT_COMMITTER_NAME"))
-               argv_array_pushf(&cld.env_array, "GIT_COMMITTER_NAME=%s", user);
+               strvec_pushf(&cld.env_array, "GIT_COMMITTER_NAME=%s", user);
        if (!getenv("GIT_COMMITTER_EMAIL"))
-               argv_array_pushf(&cld.env_array,
-                                "GIT_COMMITTER_EMAIL=%s@http.%s", user, host);
+               strvec_pushf(&cld.env_array,
+                            "GIT_COMMITTER_EMAIL=%s@http.%s", user, host);
 
        cld.argv = argv;
        if (buffer_input || gzipped_request || req_len >= 0)
                cld.in = -1;
        cld.git_cmd = 1;
+       cld.clean_on_exit = 1;
+       cld.wait_after_clean = 1;
        if (start_command(&cld))
                exit(1);
 
@@ -595,13 +597,13 @@ static void get_info_packs(struct strbuf *hdr, char *arg)
        size_t cnt = 0;
 
        select_getanyfile(hdr);
-       for (p = get_packed_git(the_repository); p; p = p->next) {
+       for (p = get_all_packs(the_repository); p; p = p->next) {
                if (p->pack_local)
                        cnt++;
        }
 
        strbuf_grow(&buf, cnt * 53 + 2);
-       for (p = get_packed_git(the_repository); p; p = p->next) {
+       for (p = get_all_packs(the_repository); p; p = p->next) {
                if (p->pack_local)
                        strbuf_addf(&buf, "P %s\n", p->pack_name + objdirlen + 6);
        }
@@ -709,8 +711,11 @@ static struct service_cmd {
        {"GET", "/objects/info/http-alternates$", get_text_file},
        {"GET", "/objects/info/packs$", get_info_packs},
        {"GET", "/objects/[0-9a-f]{2}/[0-9a-f]{38}$", get_loose_object},
+       {"GET", "/objects/[0-9a-f]{2}/[0-9a-f]{62}$", get_loose_object},
        {"GET", "/objects/pack/pack-[0-9a-f]{40}\\.pack$", get_pack_file},
+       {"GET", "/objects/pack/pack-[0-9a-f]{64}\\.pack$", get_pack_file},
        {"GET", "/objects/pack/pack-[0-9a-f]{40}\\.idx$", get_idx_file},
+       {"GET", "/objects/pack/pack-[0-9a-f]{64}\\.idx$", get_idx_file},
 
        {"POST", "/git-upload-pack$", service_rpc},
        {"POST", "/git-receive-pack$", service_rpc}