Browse Source

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>
maint
Csaba Henk 14 years ago committed by Junio C Hamano
parent
commit
0f5cdf653b
  1. 6
      bundle.c
  2. 7
      t/t5704-bundle.sh

6
bundle.c

@ -372,8 +372,10 @@ int create_bundle(struct bundle_header *header, const char *path, @@ -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;
}


7
t/t5704-bundle.sh

@ -30,6 +30,13 @@ test_expect_success 'tags can be excluded by rev-list options' ' @@ -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 &&

Loading…
Cancel
Save