Skip to content

Commit

Permalink
create_tmp_packfile(): a helper function
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Junio C Hamano committed Oct 28, 2011
1 parent c0ad465 commit cdf9db3
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 9 deletions.
12 changes: 3 additions & 9 deletions builtin/pack-objects.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
10 changes: 10 additions & 0 deletions pack-write.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
3 changes: 3 additions & 0 deletions pack.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit cdf9db3

Please sign in to comment.