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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Csaba Henk <csaba@xxxxxxxxxxx> 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?

> 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.

> 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.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]