Re: [PATCH] cache.h: move remote/connect API out of it
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 8, 2013, 21:35 UTC
- Message-ID
- <7vwqp0ybsy.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <7v1u78zrko.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 18 quoted lines
> The definition of "struct ref" in "cache.h", a header file so > central to the system, always confused me. This structure is not > about the local ref used by sha1-name API to name local objects. > > It is what refspecs are expanded into, after finding out what refs > the other side has, to define what refs are updated after object > transfer succeeds to what values. It belongs to "remote.h" together > with "struct refspec". > > While we are at it, also move the types and functions related to the > Git transport connection to a new header file connect.h > > Signed-off-by: Junio C Hamano <gitster@pobox.com> > --- > > * I hate to to this kind of code-movement in the middle of the > cycle, but every time I follow the push->transport codepath, I > become disoriented by these "struct ref"s.
Show 16 quoted lines
> > builtin/fetch-pack.c | 2 ++ > builtin/receive-pack.c | 1 + > builtin/send-pack.c | 1 + > cache.h | 62 -------------------------------------------------- > connect.c | 1 + > fetch-pack.c | 1 + > fetch-pack.h | 1 + > refs.c | 8 ------- > remote.c | 8 +++++++ > remote.h | 54 +++++++++++++++++++++++++++++++++++++++++++ > send-pack.c | 1 + > transport.c | 2 ++ > transport.h | 1 + > upload-pack.c | 1 + > 14 files changed, 74 insertions(+), 70 deletions(-)
Of course, I should have noticed that the math does not work out without this part:
connect.h | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/connect.h b/connect.h new file mode 100644 index 0000000..9dff25c --- /dev/null +++ b/connect.h @@ -0,0 +1,13 @@ +#ifndef CONNECT_H +#define CONNECT_H + +#define CONNECT_VERBOSE (1u << 0) +extern struct child_process *git_connect(int fd[2], const char *url, const char *prog, int flags); +extern int finish_connect(struct child_process *conn); +extern int git_connection_is_socket(struct child_process *conn); +extern int server_supports(const char *feature); +extern int parse_feature_request(const char *features, const char *feature); +extern const char *server_feature_value(const char *feature, int *len_ret); +extern const char *parse_feature_value(const char *feature_list, const char *feature, int *len_ret); + +#endif