diff options
author | Csaba Henk <csaba@gluster.com> | 2010-08-27 20:31:47 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-08-27 16:46:26 -0700 |
commit | 0f5cdf653b8be5b8fad3fb2a3eaecfb9da80d215 (patch) | |
tree | 8352d2f05f1786546bd2bec9515e4b792e84ee67 | |
parent | 64fdc08dac6694d1e754580e7acb82dfa4988bb9 (diff) | |
download | git-0f5cdf653b8be5b8fad3fb2a3eaecfb9da80d215.tar.gz git-0f5cdf653b8be5b8fad3fb2a3eaecfb9da80d215.tar.xz |
bundle: detect if bundle file cannot be created
bundle command silently died with no sign of failure if it
could not create the bundle file. (Eg.: its path resovles to a directory,
or the parent dir is sticky while file already exists and is owned
by someone else.)
Signed-off-by: Csaba Henk <csaba@gluster.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | bundle.c | 6 | ||||
-rwxr-xr-x | t/t5704-bundle.sh | 7 |
2 files changed, 11 insertions, 2 deletions
@@ -372,8 +372,10 @@ int create_bundle(struct bundle_header *header, const char *path, close(rls.in); if (finish_command(&rls)) return error ("pack-objects died"); - if (!bundle_to_stdout) - commit_lock_file(&lock); + if (!bundle_to_stdout) { + if (commit_lock_file(&lock)) + die_errno("cannot create '%s'", path); + } return 0; } diff --git a/t/t5704-bundle.sh b/t/t5704-bundle.sh index ddc3dc52f..728ccd88c 100755 --- a/t/t5704-bundle.sh +++ b/t/t5704-bundle.sh @@ -30,6 +30,13 @@ test_expect_success 'tags can be excluded by rev-list options' ' ' +test_expect_success 'die if bundle file cannot be created' ' + + mkdir adir && + test_must_fail git bundle create adir --all + +' + test_expect_failure 'bundle --stdin' ' echo master | git bundle create stdin-bundle.bdl --stdin && |