diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-10-28 11:52:14 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-10-28 11:52:14 -0700 |
commit | cdf9db3c83618453809d6a584d1a0db19b3e189f (patch) | |
tree | dae91f3adac1efa60acfc501c1b9adf16b79156d | |
parent | write_pack_header(): a helper function (diff) | |
download | tgif-cdf9db3c83618453809d6a584d1a0db19b3e189f.tar.xz |
create_tmp_packfile(): a helper function
Factor out a small logic out of the private write_pack_file() function
in builtin/pack-objects.c
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/pack-objects.c | 12 | ||||
-rw-r--r-- | pack-write.c | 10 | ||||
-rw-r--r-- | pack.h | 3 |
3 files changed, 16 insertions, 9 deletions
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 6643c1657a..3258fa96e8 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -584,16 +584,10 @@ static void write_pack_file(void) unsigned char sha1[20]; char *pack_tmp_name = NULL; - if (pack_to_stdout) { + if (pack_to_stdout) f = sha1fd_throughput(1, "<stdout>", progress_state); - } else { - char tmpname[PATH_MAX]; - int fd; - fd = odb_mkstemp(tmpname, sizeof(tmpname), - "pack/tmp_pack_XXXXXX"); - pack_tmp_name = xstrdup(tmpname); - f = sha1fd(fd, pack_tmp_name); - } + else + f = create_tmp_packfile(&pack_tmp_name); offset = write_pack_header(f, nr_remaining); if (!offset) diff --git a/pack-write.c b/pack-write.c index 46f3f846be..863cce8a09 100644 --- a/pack-write.c +++ b/pack-write.c @@ -328,3 +328,13 @@ int encode_in_pack_object_header(enum object_type type, uintmax_t size, unsigned *hdr = c; return n; } + +struct sha1file *create_tmp_packfile(char **pack_tmp_name) +{ + char tmpname[PATH_MAX]; + int fd; + + fd = odb_mkstemp(tmpname, sizeof(tmpname), "pack/tmp_pack_XXXXXX"); + *pack_tmp_name = xstrdup(tmpname); + return sha1fd(fd, *pack_tmp_name); +} @@ -84,4 +84,7 @@ extern int encode_in_pack_object_header(enum object_type, uintmax_t, unsigned ch #define PH_ERROR_PACK_SIGNATURE (-2) #define PH_ERROR_PROTOCOL (-3) extern int read_pack_header(int fd, struct pack_header *); + +extern struct sha1file *create_tmp_packfile(char **pack_tmp_name); + #endif |