#include "exec_cmd.h"
#include "pkt-line.h"
#include "sideband.h"
+#include "attr.h"
static const char archive_usage[] = \
"git-archive --format=<fmt> [--prefix=<prefix>/] [--verbose] [<extra>] <tree-ish> [path...]";
{
char *url, buf[LARGE_PACKET_MAX];
int fd[2], i, len, rv;
- pid_t pid;
+ struct child_process *conn;
const char *exec = "git-upload-archive";
int exec_at = 0;
}
url = xstrdup(remote);
- pid = git_connect(fd, url, exec);
- if (pid < 0)
- return pid;
+ conn = git_connect(fd, url, exec, 0);
for (i = 1; i < argc; i++) {
if (i == exec_at)
rv = recv_sideband("archive", fd[0], 1, 2);
close(fd[0]);
close(fd[1]);
- rv |= finish_connect(pid);
+ rv |= finish_connect(conn);
return !!rv;
}
const unsigned char *commit_sha1;
time_t archive_time;
struct tree *tree;
- struct commit *commit;
+ const struct commit *commit;
unsigned char sha1[20];
if (get_sha1(name, sha1))
}
ar_args->tree = tree;
ar_args->commit_sha1 = commit_sha1;
+ ar_args->commit = commit;
ar_args->time = archive_time;
}