Re: [PATCH v2] Document the underlying protocol used by shallow repositories and --depth commands.
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:51:26
Alex Neronskiy [off-list ref] writes:
X-Gmane-NNTP-Posting-Host: sea.gmane.org User-Agent: Loom/3.14 (http://gmane.org/)
It seems like you posted from the news interface at gmane, and the annoying are gone now. The patch is still linewrapped (see the hunk header starting with "@@ -187,26"), but this one I can fix up and actually take a look ;-).
Explain the exchange that occurs between a client and server when the client is requesting shallow history and/or is already using a shallow repository.
Notice the use of word "shallow" here. It talks about the depth of the history.
+... Commits whose parents are not received as a result are +defined as shallow and marked as such in the server. This information +is sent back to the client in the next step.
As it is documented for the first time, we didn't have a formal
terminology for calling these commits and it is this document's
responsibility to come up with a good one. We have used "shallow clone"
and "shallow history", and I agree with the use of adjective in these
contexts, but I am not sure if it is a good idea to call the commits at
the boundary of a shallow history "shallow"---the following sentences do
not parse well at least for me:
"This commit is shallow."
"This commit is not shallow, and it is a direct child of that commit,
which is shallow."
"That commit does not exist in this repository because it is an
ancestor of a shallow commit".
But it may be just me. Better wording ideas, anybody?
By the way, Dscho, the shallow extension was your invention 4 and half
years ago. I think the description in this version is mostly accurate
(modulo the part that talks about an early client termination after
"shallow" and "deepen" are sent), but I'd appreciate if you can comment on
it to improve.
Thanks.