Merge branch 'maint'
authorJunio C Hamano <junkio@cox.net>
Mon, 2 Oct 2006 07:47:32 +0000 (00:47 -0700)
committerJunio C Hamano <junkio@cox.net>
Mon, 2 Oct 2006 07:47:32 +0000 (00:47 -0700)
* maint:
  git-push: .git/remotes/ file does not require SP after colon
  git-mv: invalidate the removed path properly in cache-tree

1  2 
builtin-mv.c
builtin-push.c

diff --combined builtin-mv.c
@@@ -168,13 -168,13 +168,13 @@@ int cmd_mv(int argc, const char **argv
                                int j, dst_len;
  
                                if (last - first > 0) {
 -                                      source = realloc(source,
 +                                      source = xrealloc(source,
                                                        (count + last - first)
                                                        * sizeof(char *));
 -                                      destination = realloc(destination,
 +                                      destination = xrealloc(destination,
                                                        (count + last - first)
                                                        * sizeof(char *));
 -                                      modes = realloc(modes,
 +                                      modes = xrealloc(modes,
                                                        (count + last - first)
                                                        * sizeof(enum update_mode));
                                }
        } else {
                for (i = 0; i < changed.nr; i++) {
                        const char *path = changed.items[i].path;
 -                      int i = cache_name_pos(path, strlen(path));
 -                      struct cache_entry *ce = active_cache[i];
 +                      int j = cache_name_pos(path, strlen(path));
 +                      struct cache_entry *ce = active_cache[j];
  
 -                      if (i < 0)
 +                      if (j < 0)
                                die ("Huh? Cache entry for %s unknown?", path);
                        refresh_cache_entry(ce, 0);
                }
                for (i = 0; i < deleted.nr; i++) {
                        const char *path = deleted.items[i].path;
                        remove_file_from_cache(path);
+                       cache_tree_invalidate_path(active_cache_tree, path);
                }
  
                if (active_cache_changed) {
diff --combined builtin-push.c
  
  static const char push_usage[] = "git-push [--all] [--tags] [-f | --force] <repository> [<refspec>...]";
  
 -static int all = 0, tags = 0, force = 0, thin = 1;
 -static const char *execute = NULL;
 +static int all, tags, force, thin = 1;
 +static const char *execute;
  
  #define BUF_SIZE (2084)
  static char buffer[BUF_SIZE];
  
 -static const char **refspec = NULL;
 -static int refspec_nr = 0;
 +static const char **refspec;
 +static int refspec_nr;
  
  static void add_refspec(const char *ref)
  {
@@@ -32,8 -32,10 +32,8 @@@ static int expand_one_ref(const char *r
        /* Ignore the "refs/" at the beginning of the refname */
        ref += 5;
  
 -      if (strncmp(ref, "tags/", 5))
 -              return 0;
 -
 -      add_refspec(strdup(ref));
 +      if (!strncmp(ref, "tags/", 5))
 +              add_refspec(xstrdup(ref));
        return 0;
  }
  
@@@ -78,12 -80,12 +78,12 @@@ static int get_remotes_uri(const char *
                int is_refspec;
                char *s, *p;
  
-               if (!strncmp("URL: ", buffer, 5)) {
+               if (!strncmp("URL:", buffer, 4)) {
                        is_refspec = 0;
-                       s = buffer + 5;
-               } else if (!strncmp("Push: ", buffer, 6)) {
+                       s = buffer + 4;
+               } else if (!strncmp("Push:", buffer, 5)) {
                        is_refspec = 1;
-                       s = buffer + 6;
+                       s = buffer + 5;
                } else
                        continue;
  
  
                if (!is_refspec) {
                        if (n < MAX_URI)
 -                              uri[n++] = strdup(s);
 +                              uri[n++] = xstrdup(s);
                        else
                                error("more than %d URL's specified, ignoring the rest", MAX_URI);
                }
                else if (is_refspec && !has_explicit_refspec)
 -                      add_refspec(strdup(s));
 +                      add_refspec(xstrdup(s));
        }
        fclose(f);
        if (!n)
@@@ -125,13 -127,13 +125,13 @@@ static int get_remote_config(const char
            !strncmp(key + 7, config_repo, config_repo_len)) {
                if (!strcmp(key + 7 + config_repo_len, ".url")) {
                        if (config_current_uri < MAX_URI)
 -                              config_uri[config_current_uri++] = strdup(value);
 +                              config_uri[config_current_uri++] = xstrdup(value);
                        else
                                error("more than %d URL's specified, ignoring the rest", MAX_URI);
                }
                else if (config_get_refspecs &&
                         !strcmp(key + 7 + config_repo_len, ".push"))
 -                      add_refspec(strdup(value));
 +                      add_refspec(xstrdup(value));
        }
        return 0;
  }
@@@ -232,7 -234,7 +232,7 @@@ static int do_push(const char *repo
        common_argc = argc;
  
        for (i = 0; i < n; i++) {
 -              int error;
 +              int err;
                int dest_argc = common_argc;
                int dest_refspec_nr = refspec_nr;
                const char **dest_refspec = refspec;
                while (dest_refspec_nr--)
                        argv[dest_argc++] = *dest_refspec++;
                argv[dest_argc] = NULL;
 -              error = run_command_v(argc, argv);
 -              if (!error)
 +              err = run_command_v(argc, argv);
 +              if (!err)
                        continue;
 -              switch (error) {
 +              switch (err) {
                case -ERR_RUN_COMMAND_FORK:
                        die("unable to fork for %s", sender);
                case -ERR_RUN_COMMAND_EXEC:
                case -ERR_RUN_COMMAND_WAITPID_NOEXIT:
                        die("%s died with strange error", sender);
                default:
 -                      return -error;
 +                      return -err;
                }
        }
        return 0;