Code

t3509: use unconstrained initial test to setup repository.
[git.git] / bundle.c
index 717a712e9a6c125a684cd4ee39ce5cbfaecef91d..f48fd7d4c1c706b68e879e4dfabdd3fb8597a328 100644 (file)
--- a/bundle.c
+++ b/bundle.c
@@ -200,11 +200,10 @@ int create_bundle(struct bundle_header *header, const char *path,
        int bundle_fd = -1;
        int bundle_to_stdout;
        const char **argv_boundary = xmalloc((argc + 4) * sizeof(const char *));
-       const char **argv_pack = xmalloc(5 * sizeof(const char *));
+       const char **argv_pack = xmalloc(6 * sizeof(const char *));
        int i, ref_count = 0;
        char buffer[1024];
        struct rev_info revs;
-       int read_from_stdin = 0;
        struct child_process rls;
        FILE *rls_fout;
 
@@ -256,15 +255,8 @@ int create_bundle(struct bundle_header *header, const char *path,
        /* write references */
        argc = setup_revisions(argc, argv, &revs, NULL);
 
-       for (i = 1; i < argc; i++) {
-               if (!strcmp(argv[i], "--stdin")) {
-                       if (read_from_stdin++)
-                               die("--stdin given twice?");
-                       read_revisions_from_stdin(&revs);
-                       continue;
-               }
-               return error("unrecognized argument: %s'", argv[i]);
-       }
+       if (argc > 1)
+               return error("unrecognized argument: %s'", argv[1]);
 
        object_array_remove_duplicates(&revs.pending);
 
@@ -354,7 +346,8 @@ int create_bundle(struct bundle_header *header, const char *path,
        argv_pack[1] = "--all-progress-implied";
        argv_pack[2] = "--stdout";
        argv_pack[3] = "--thin";
-       argv_pack[4] = NULL;
+       argv_pack[4] = "--delta-base-offset";
+       argv_pack[5] = NULL;
        memset(&rls, 0, sizeof(rls));
        rls.argv = argv_pack;
        rls.in = -1;
@@ -380,8 +373,10 @@ int create_bundle(struct bundle_header *header, const char *path,
        close(rls.in);
        if (finish_command(&rls))
                return error ("pack-objects died");
-       if (!bundle_to_stdout)
-               commit_lock_file(&lock);
+       if (!bundle_to_stdout) {
+               if (commit_lock_file(&lock))
+                       die_errno("cannot create '%s'", path);
+       }
        return 0;
 }