Skip to content

Commit

Permalink
bundle: detect if bundle file cannot be created
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Csaba Henk authored and Junio C Hamano committed Aug 27, 2010
1 parent 64fdc08 commit 0f5cdf6
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
6 changes: 4 additions & 2 deletions bundle.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down
7 changes: 7 additions & 0 deletions t/t5704-bundle.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 &&
Expand Down

0 comments on commit 0f5cdf6

Please sign in to comment.