Code

Merge branch 'jk/fetch-no-tail-match-refs' into maint
authorJunio C Hamano <gitster@pobox.com>
Wed, 28 Dec 2011 19:32:36 +0000 (11:32 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 28 Dec 2011 19:32:36 +0000 (11:32 -0800)
* jk/fetch-no-tail-match-refs:
  connect.c: drop path_match function
  fetch-pack: match refs exactly
  t5500: give fully-qualified refs to fetch-pack
  drop "match" parameter from get_remote_heads

1  2 
connect.c

diff --combined connect.c
index d0f59ef0deebff3967c0b054f2f998dfb3ab5b00,2a0a0401af6e070125f1ae6d97004f4036af35f6..c8d0ea5d75e89a6b15b62e7057e97947036e11ea
+++ b/connect.c
@@@ -53,7 -53,6 +53,6 @@@ static void add_extra_have(struct extra
   * Read all the refs from the other end
   */
  struct ref **get_remote_heads(int in, struct ref **list,
-                             int nr_match, char **match,
                              unsigned int flags,
                              struct extra_have_objects *extra_have)
  {
@@@ -92,8 -91,6 +91,6 @@@
  
                if (!check_ref(name, name_len, flags))
                        continue;
-               if (nr_match && !path_match(name, nr_match, match))
-                       continue;
                ref = alloc_ref(buffer + 41);
                hashcpy(ref->old_sha1, old_sha1);
                *list = ref;
@@@ -108,27 -105,6 +105,6 @@@ int server_supports(const char *feature
                strstr(server_capabilities, feature) != NULL;
  }
  
- int path_match(const char *path, int nr, char **match)
- {
-       int i;
-       int pathlen = strlen(path);
-       for (i = 0; i < nr; i++) {
-               char *s = match[i];
-               int len = strlen(s);
-               if (!len || len > pathlen)
-                       continue;
-               if (memcmp(path + pathlen - len, s, len))
-                       continue;
-               if (pathlen > len && path[pathlen - len - 1] != '/')
-                       continue;
-               *s = 0;
-               return (i + 1);
-       }
-       return 0;
- }
  enum protocol {
        PROTO_LOCAL = 1,
        PROTO_SSH,
@@@ -175,15 -151,6 +151,15 @@@ static void get_host_and_port(char **ho
        }
  }
  
 +static void enable_keepalive(int sockfd)
 +{
 +      int ka = 1;
 +
 +      if (setsockopt(sockfd, SOL_SOCKET, SO_KEEPALIVE, &ka, sizeof(ka)) < 0)
 +              fprintf(stderr, "unable to set SO_KEEPALIVE on socket: %s\n",
 +                      strerror(errno));
 +}
 +
  #ifndef NO_IPV6
  
  static const char *ai_name(const struct addrinfo *ai)
@@@ -248,8 -215,6 +224,8 @@@ static int git_tcp_connect_sock(char *h
        if (sockfd < 0)
                die("unable to connect to %s:\n%s", host, error_message.buf);
  
 +      enable_keepalive(sockfd);
 +
        if (flags & CONNECT_VERBOSE)
                fprintf(stderr, "done.\n");
  
@@@ -323,8 -288,6 +299,8 @@@ static int git_tcp_connect_sock(char *h
        if (sockfd < 0)
                die("unable to connect to %s:\n%s", host, error_message.buf);
  
 +      enable_keepalive(sockfd);
 +
        if (flags & CONNECT_VERBOSE)
                fprintf(stderr, "done.\n");