summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: c0ad465)
raw | patch | inline | side by side (parent: c0ad465)
author | Junio C Hamano <gitster@pobox.com> | |
Fri, 28 Oct 2011 18:52:14 +0000 (11:52 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Fri, 28 Oct 2011 18:52:14 +0000 (11:52 -0700) |
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>
in builtin/pack-objects.c
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/pack-objects.c | patch | blob | history | |
pack-write.c | patch | blob | history | |
pack.h | patch | blob | history |
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index 6643c1657a7f1dc94e12782000d0780d86c0e155..3258fa96e813de7e91684d758d932477f2b9318f 100644 (file)
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
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 46f3f846be9ba8a4b7d52ac703375223e17244a1..863cce8a09f090d7e7a77e9a9304d589a4b7b47c 100644 (file)
--- 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);
+}
index d429d8a66888d4fb9f64a781cb6d3eb347f480f7..0027ac6149eb2a993afd8ade5245ef31536934f8 100644 (file)
--- a/pack.h
+++ b/pack.h
#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