summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: d58c618)
raw | patch | inline | side by side (parent: d58c618)
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | |
Fri, 9 Mar 2007 02:50:06 +0000 (03:50 +0100) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Fri, 9 Mar 2007 06:59:07 +0000 (22:59 -0800) |
Not only does it prevent accidentally losing older bundles, but it
also fixes a subtle bug: when writing into an existing bundle,
git-pack-objects would not truncate the bundle. Therefore,
fetching from the bundle would trigger an error in unpack-objects:
"fatal: pack has junk at the end".
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
also fixes a subtle bug: when writing into an existing bundle,
git-pack-objects would not truncate the bundle. Therefore,
fetching from the bundle would trigger an error in unpack-objects:
"fatal: pack has junk at the end".
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-bundle.c | patch | blob | history |
diff --git a/builtin-bundle.c b/builtin-bundle.c
index ca3de60e44267e8592b86a9632a25f66c5eedea8..55f6d0abcf44b75e9cd4f88537f0682fda3feb93 100644 (file)
--- a/builtin-bundle.c
+++ b/builtin-bundle.c
struct rev_info revs;
bundle_fd = (!strcmp(path, "-") ? 1 :
- open(path, O_CREAT | O_WRONLY, 0666));
+ open(path, O_CREAT | O_EXCL | O_WRONLY, 0666));
if (bundle_fd < 0)
- return error("Could not write to '%s'", path);
+ return error("Could not create '%s': %s", path, strerror(errno));
/* write signature */
write_or_die(bundle_fd, bundle_signature, strlen(bundle_signature));