Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH] bundle: detect if bundle file cannot be created

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:49:23

Csaba Henk [off-list ref] writes:
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.)
---
Sign-off?
quoted hunk
diff --git a/bundle.c b/bundle.c
index ff97adc..3eb4ca2 100644
--- a/bundle.c
+++ b/bundle.c
@@ -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 bundle file");
+	}
You would want to parrot the path given by the caller, perhaps like this?

	die_errno("cannot create '%s'", path)

This function tries to report error to the caller in some places but
rudely dies in some other places, so dying here is not a serious offence.
quoted hunk
diff --git a/t/t5704-bundle.sh b/t/t5704-bundle.sh
index ddc3dc5..728ccd8 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
+
+'
I like it ;-)

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help