diff options
Diffstat (limited to 'builtin/archive.c')
| -rw-r--r-- | builtin/archive.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/builtin/archive.c b/builtin/archive.c index b50981504f..13ea7308c8 100644 --- a/builtin/archive.c +++ b/builtin/archive.c @@ -8,7 +8,6 @@ #include "transport.h" #include "parse-options.h" #include "pkt-line.h" -#include "repository.h" static void create_output_file(const char *output_file) { @@ -76,7 +75,10 @@ static int run_remote_archiver(int argc, const char **argv, PARSE_OPT_KEEP_UNKNOWN_OPT | \ PARSE_OPT_NO_INTERNAL_HELP ) -int cmd_archive(int argc, const char **argv, const char *prefix) +int cmd_archive(int argc, + const char **argv, + const char *prefix, + struct repository *repo) { const char *exec = "git-upload-archive"; char *output = NULL; @@ -100,13 +102,16 @@ int cmd_archive(int argc, const char **argv, const char *prefix) if (output) create_output_file(output); - if (remote) - return run_remote_archiver(argc, argv, remote, exec, output); + if (remote) { + ret = run_remote_archiver(argc, argv, remote, exec, output); + goto out; + } setvbuf(stderr, NULL, _IOLBF, BUFSIZ); - ret = write_archive(argc, argv, prefix, the_repository, output, 0); + ret = write_archive(argc, argv, prefix, repo, output, 0); +out: free(output); return ret; } |
