Subject: Re: [PATCH] git-clone.txt: remove the restriction on pushing from a shallow clone

From: Jonathan Nieder <[email-masked]>
Date: Sat, 13 Jul 2013 14:25:41 -0700

Hi,

Nguyễn Thái Ngọc Duy wrote:

> Since 52fed6e (receive-pack: check connectivity before concluding "git
> push" - 2011-09-02), receive-pack is prepared to deal with broken
> push, a shallow push can't cause any corruption. Update the document
> to reflect that.

Hmm, what happens when pushing to servers without that commit?  Do you
think it should be applied to Debian squeeze for server operators that
haven't upgraded yet to the current stable release?

[...]
> --- a/Documentation/git-clone.txt
> +++ b/Documentation/git-clone.txt
> @@ -182,11 +182,13 @@ objects from the source repository into a pack in the cloned repository.
>  --depth <depth>::
>  	Create a 'shallow' clone with a history truncated to the
>  	specified number of revisions.  A shallow repository has a
> -	number of limitations (you cannot clone or fetch from
> -	it, nor push from nor into it), but is adequate if you
> -	are only interested in the recent history of a large project
> -	with a long history, and would want to send in fixes
> -	as patches.
> +	number of limitations (you cannot clone or fetch from it, nor
> +	push into it), but is adequate if you are only interested in
> +	the recent history of a large project with a long history.
> ++
> +Pushing from a shallow clone should be avoided if the git version on
> +the receiver end is older than v1.7.10, or any other git
> +implementation that does not perform connectivity check.

"git name-rev --tags" tells me 52fed6e was applied during 1.7.8-rc0,
so it might make sense to s/1.7.10/1.7.8/ here.

Aside from that nit,
Reviewed-by: Jonathan Nieder <[email-masked]>

Thanks,
Jonathan