Junio C Hamano <gitster@xxxxxxxxx> writes: > 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@xxxxxxxxx> > --- > > * 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. > > 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 -- 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