Re: [PATCH v3 06/28] connect.c: teach get_remote_heads to parse "shallow" lines
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:59:19
Nguyễn Thái Ngọc Duy [off-list ref] writes:
quoted hunk
No callers pass a non-empty pointer as shallow_points at this stage. As a result, all clients still refuse to talk to shallow repository on the other end. Signed-off-by: Nguyễn Thái Ngọc Duy <redacted> --- builtin/fetch-pack.c | 2 +- builtin/send-pack.c | 2 +- connect.c | 12 +++++++++++- remote-curl.c | 2 +- remote.h | 3 ++- transport.c | 7 ++++--- 6 files changed, 20 insertions(+), 8 deletions(-)diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c index c8e8582..c1d918f 100644 --- a/builtin/fetch-pack.c +++ b/builtin/fetch-pack.c@@ -150,7 +150,7 @@ int cmd_fetch_pack(int argc, const char **argv, const char *prefix) args.verbose ? CONNECT_VERBOSE : 0); } - get_remote_heads(fd[0], NULL, 0, &ref, 0, NULL); + get_remote_heads(fd[0], NULL, 0, &ref, 0, NULL, NULL); ref = fetch_pack(&args, fd, conn, ref, dest, sought, nr_sought, pack_lockfile_ptr);diff --git a/builtin/send-pack.c b/builtin/send-pack.c index 51121f2..bfa9253 100644 --- a/builtin/send-pack.c +++ b/builtin/send-pack.c@@ -233,7 +233,7 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix) memset(&extra_have, 0, sizeof(extra_have)); - get_remote_heads(fd[0], NULL, 0, &remote_refs, REF_NORMAL, &extra_have); + get_remote_heads(fd[0], NULL, 0, &remote_refs, REF_NORMAL, &extra_have, NULL); transport_verify_remote_names(nr_refspecs, refspecs);diff --git a/connect.c b/connect.c index 06e88b0..d0602b0 100644 --- a/connect.c +++ b/connect.c@@ -122,7 +122,8 @@ static void annotate_refs_with_symref_info(struct ref *ref) */ struct ref **get_remote_heads(int in, char *src_buf, size_t src_len, struct ref **list, unsigned int flags, - struct extra_have_objects *extra_have) + struct extra_have_objects *extra_have, + struct extra_have_objects *shallow_points)
The _shape_ of the information you would want to keep track of for
the shallow cut-off points may exactly be the same as that is for
extra-have endspoints, but it still feels wrong to throw these
shallow cut-off points into a structure called "extra have". After
all, these are objects the other end does not have, which is the
direct opposite of extra-have.
Perhaps a preparatory patch needs to rename the structure type to
object_name_list or something. And then we can make the variable
names, not typenames, responsible for signalling what they mean,
i.e.
get_remote_heads(...
struct list_of_objects *extra_have,
struct list_of_objects *shallow_points);
when we introduce the new parameter.