Merge branch 'rd/doc-remote-tracking-with-hyphen'
authorJunio C Hamano <gitster@pobox.com>
Mon, 18 Jun 2018 17:18:43 +0000 (10:18 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 18 Jun 2018 17:18:43 +0000 (10:18 -0700)
Doc update.

* rd/doc-remote-tracking-with-hyphen:
Use hyphenated "remote-tracking branch" (docs and comments)

1  2 
Documentation/git-submodule.txt
builtin/branch.c
builtin/pull.c
index 4a5cc38a6f0e10ba5232190942572e4a540e4ecb,d654197903e01789e076f6966cc3dc52e33b3fd3..ef9d9d28a9cc581574bd700e467c636996432caa
@@@ -42,8 -42,8 +42,8 @@@ have to use '../foo.git' instead of './
  when following the rules for relative URLs - because the evaluation
  of relative URLs in Git is identical to that of relative directories).
  +
- The default remote is the remote of the remote tracking branch
- of the current branch. If no such remote tracking branch exists or
+ The default remote is the remote of the remote-tracking branch
+ of the current branch. If no such remote-tracking branch exists or
  the HEAD is detached, "origin" is assumed to be the default remote.
  If the superproject doesn't have a default remote configured
  the superproject is its own authoritative upstream and the current
@@@ -213,8 -213,8 +213,8 @@@ sync [--recursive] [--] [<path>...]:
        submodule URLs change upstream and you need to update your local
        repositories accordingly.
  +
 -"git submodule sync" synchronizes all submodules while
 -"git submodule sync \-- A" synchronizes submodule "A" only.
 +`git submodule sync` synchronizes all submodules while
 +`git submodule sync -- A` synchronizes submodule "A" only.
  +
  If `--recursive` is specified, this command will recurse into the
  registered submodules, and sync any nested submodules within.
@@@ -239,13 -239,6 +239,13 @@@ OPTION
  --quiet::
        Only print error messages.
  
 +--progress::
 +      This option is only valid for add and update commands.
 +      Progress status is reported on the standard error stream
 +      by default when it is attached to a terminal, unless -q
 +      is specified. This flag forces progress status even if the
 +      standard error stream is not directed to a terminal.
 +
  --all::
        This option is only valid for the deinit command. Unregister all
        submodules in the working tree.
@@@ -369,15 -362,7 +369,15 @@@ the submodule itself
        this option will be passed to the linkgit:git-clone[1] command.
  +
  *NOTE*: Do *not* use this option unless you have read the note
 -for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully.
 +for linkgit:git-clone[1]'s `--reference`, `--shared`, and `--dissociate`
 +options carefully.
 +
 +--dissociate::
 +      This option is only valid for add and update commands.  These
 +      commands sometimes need to clone a remote repository. In this case,
 +      this option will be passed to the linkgit:git-clone[1] command.
 ++
 +*NOTE*: see the NOTE for the `--reference` option.
  
  --recursive::
        This option is only valid for foreach, update, status and sync commands.
diff --combined builtin/branch.c
index d53f6e2ad4c30ef02262ff3fa01ecdb54be96f11,a64e4350326e1af3dedbfbc5e592d03c33399753..5217ba3bdebc2255e95260fdb097166d3617e120
@@@ -273,7 -273,7 +273,7 @@@ static int delete_branches(int argc, co
                               bname.buf,
                               (flags & REF_ISBROKEN) ? "broken"
                               : (flags & REF_ISSYMREF) ? target
 -                             : find_unique_abbrev(oid.hash, DEFAULT_ABBREV));
 +                             : find_unique_abbrev(&oid, DEFAULT_ABBREV));
                }
                delete_branch_config(bname.buf);
  
@@@ -391,6 -391,7 +391,6 @@@ static void print_ref_list(struct ref_f
        struct ref_array array;
        int maxwidth = 0;
        const char *remote_prefix = "";
 -      struct strbuf out = STRBUF_INIT;
        char *to_free = NULL;
  
        /*
        ref_array_sort(sorting, &array);
  
        for (i = 0; i < array.nr; i++) {
 -              format_ref_array_item(array.items[i], format, &out);
 +              struct strbuf out = STRBUF_INIT;
 +              struct strbuf err = STRBUF_INIT;
 +              if (format_ref_array_item(array.items[i], format, &out, &err))
 +                      die("%s", err.buf);
                if (column_active(colopts)) {
                        assert(!filter->verbose && "--column and --verbose are incompatible");
                         /* format to a string_list to let print_columns() do its job */
                        fwrite(out.buf, 1, out.len, stdout);
                        putchar('\n');
                }
 +              strbuf_release(&err);
                strbuf_release(&out);
        }
  
@@@ -500,7 -497,7 +500,7 @@@ static void copy_or_rename_branch(cons
  
        if (!skip_prefix(oldref.buf, "refs/heads/", &interpreted_oldname) ||
            !skip_prefix(newref.buf, "refs/heads/", &interpreted_newname)) {
 -              die("BUG: expected prefix missing for refs");
 +              BUG("expected prefix missing for refs");
        }
  
        if (copy)
@@@ -592,8 -589,8 +592,8 @@@ int cmd_branch(int argc, const char **a
                OPT__QUIET(&quiet, N_("suppress informational messages")),
                OPT_SET_INT('t', "track",  &track, N_("set up tracking mode (see git-pull(1))"),
                        BRANCH_TRACK_EXPLICIT),
 -              { OPTION_SET_INT, 0, "set-upstream", &track, NULL, N_("do not use"),
 -                      PARSE_OPT_NOARG | PARSE_OPT_HIDDEN, NULL, BRANCH_TRACK_OVERRIDE },
 +              OPT_SET_INT_F(0, "set-upstream", &track, N_("do not use"),
 +                      BRANCH_TRACK_OVERRIDE, PARSE_OPT_HIDDEN),
                OPT_STRING('u', "set-upstream-to", &new_upstream, N_("upstream"), N_("change the upstream info")),
                OPT_BOOL(0, "unset-upstream", &unset_upstream, N_("Unset the upstream info")),
                OPT__COLOR(&branch_use_color, N_("use colored output")),
                OPT_BOOL('l', "create-reflog", &reflog, N_("create the branch's reflog")),
                OPT_BOOL(0, "edit-description", &edit_description,
                         N_("edit the description for the branch")),
 -              OPT__FORCE(&force, N_("force creation, move/rename, deletion")),
 +              OPT__FORCE(&force, N_("force creation, move/rename, deletion"), PARSE_OPT_NOCOMPLETE),
                OPT_MERGED(&filter, N_("print only branches that are merged")),
                OPT_NO_MERGED(&filter, N_("print only branches that are not merged")),
                OPT_COLUMN(0, "column", &colopts, N_("list branches in columns")),
                 * If no sorting parameter is given then we default to sorting
                 * by 'refname'. This would give us an alphabetically sorted
                 * array with the 'HEAD' ref at the beginning followed by
-                * local branches 'refs/heads/...' and finally remote-tacking
+                * local branches 'refs/heads/...' and finally remote-tracking
                 * branches 'refs/remotes/...'.
                 */
                if (!sorting)
diff --combined builtin/pull.c
index 1f2ecf3a88d95de5f819285aa1fc1558b63b6c4e,f02009c389abeaf841e46ba34d5dc53b3fc8cdce..49cc3beb4c428a4bd0513d922b59465ab0c5c414
@@@ -9,13 -9,12 +9,13 @@@
  #include "config.h"
  #include "builtin.h"
  #include "parse-options.h"
 -#include "exec_cmd.h"
 +#include "exec-cmd.h"
  #include "run-command.h"
  #include "sha1-array.h"
  #include "remote.h"
  #include "dir.h"
  #include "refs.h"
 +#include "refspec.h"
  #include "revision.h"
  #include "submodule.h"
  #include "submodule-config.h"
@@@ -28,16 -27,14 +28,16 @@@ enum rebase_type 
        REBASE_FALSE = 0,
        REBASE_TRUE,
        REBASE_PRESERVE,
 +      REBASE_MERGES,
        REBASE_INTERACTIVE
  };
  
  /**
   * Parses the value of --rebase. If value is a false value, returns
   * REBASE_FALSE. If value is a true value, returns REBASE_TRUE. If value is
 - * "preserve", returns REBASE_PRESERVE. If value is a invalid value, dies with
 - * a fatal error if fatal is true, otherwise returns REBASE_INVALID.
 + * "merges", returns REBASE_MERGES. If value is "preserve", returns
 + * REBASE_PRESERVE. If value is a invalid value, dies with a fatal error if
 + * fatal is true, otherwise returns REBASE_INVALID.
   */
  static enum rebase_type parse_config_rebase(const char *key, const char *value,
                int fatal)
@@@ -50,8 -47,6 +50,8 @@@
                return REBASE_TRUE;
        else if (!strcmp(value, "preserve"))
                return REBASE_PRESERVE;
 +      else if (!strcmp(value, "merges"))
 +              return REBASE_MERGES;
        else if (!strcmp(value, "interactive"))
                return REBASE_INTERACTIVE;
  
@@@ -135,7 -130,7 +135,7 @@@ static struct option pull_options[] = 
        /* Options passed to git-merge or git-rebase */
        OPT_GROUP(N_("Options related to merging")),
        { OPTION_CALLBACK, 'r', "rebase", &opt_rebase,
 -        "false|true|preserve|interactive",
 +        "false|true|merges|preserve|interactive",
          N_("incorporate changes by rebasing rather than merging"),
          PARSE_OPT_OPTARG, parse_opt_rebase },
        OPT_PASSTHRU('n', NULL, &opt_diffstat, NULL,
        OPT_PASSTHRU(0, "upload-pack", &opt_upload_pack, N_("path"),
                N_("path to upload pack on remote end"),
                0),
 -      OPT__FORCE(&opt_force, N_("force overwrite of local branch")),
 +      OPT__FORCE(&opt_force, N_("force overwrite of local branch"), 0),
        OPT_PASSTHRU('t', "tags", &opt_tags, NULL,
                N_("fetch all tags and associated objects"),
                PARSE_OPT_NOARG),
@@@ -544,7 -539,7 +544,7 @@@ static int run_fetch(const char *repo, 
                argv_array_push(&args, repo);
                argv_array_pushv(&args, refspecs);
        } else if (*refspecs)
 -              die("BUG: refspecs without repo?");
 +              BUG("refspecs without repo?");
        ret = run_command_v_opt(args.argv, RUN_GIT_CMD);
        argv_array_clear(&args);
        return ret;
@@@ -579,7 -574,6 +579,7 @@@ static int rebase_submodules(void
        cp.no_stdin = 1;
        argv_array_pushl(&cp.args, "submodule", "update",
                                   "--recursive", "--rebase", NULL);
 +      argv_push_verbosity(&cp.args);
  
        return run_command(&cp);
  }
@@@ -592,7 -586,6 +592,7 @@@ static int update_submodules(void
        cp.no_stdin = 1;
        argv_array_pushl(&cp.args, "submodule", "update",
                                   "--recursive", "--checkout", NULL);
 +      argv_push_verbosity(&cp.args);
  
        return run_command(&cp);
  }
@@@ -673,19 -666,19 +673,19 @@@ static const char *get_upstream_branch(
  }
  
  /**
-  * Derives the remote tracking branch from the remote and refspec.
+  * Derives the remote-tracking branch from the remote and refspec.
   *
   * FIXME: The current implementation assumes the default mapping of
   * refs/heads/<branch_name> to refs/remotes/<remote_name>/<branch_name>.
   */
  static const char *get_tracking_branch(const char *remote, const char *refspec)
  {
 -      struct refspec *spec;
 +      struct refspec_item spec;
        const char *spec_src;
        const char *merge_branch;
  
 -      spec = parse_fetch_refspec(1, &refspec);
 -      spec_src = spec->src;
 +      refspec_item_init(&spec, refspec, REFSPEC_FETCH);
 +      spec_src = spec.src;
        if (!*spec_src || !strcmp(spec_src, "HEAD"))
                spec_src = "HEAD";
        else if (skip_prefix(spec_src, "heads/", &spec_src))
        } else
                merge_branch = NULL;
  
 -      free_refspec(1, spec);
 +      refspec_item_clear(&spec);
        return merge_branch;
  }
  
  /**
   * Given the repo and refspecs, sets fork_point to the point at which the
-  * current branch forked from its remote tracking branch. Returns 0 on success,
+  * current branch forked from its remote-tracking branch. Returns 0 on success,
   * -1 on failure.
   */
  static int get_rebase_fork_point(struct object_id *fork_point, const char *repo,
@@@ -805,9 -798,7 +805,9 @@@ static int run_rebase(const struct obje
        argv_push_verbosity(&args);
  
        /* Options passed to git-rebase */
 -      if (opt_rebase == REBASE_PRESERVE)
 +      if (opt_rebase == REBASE_MERGES)
 +              argv_array_push(&args, "--rebase-merges");
 +      else if (opt_rebase == REBASE_PRESERVE)
                argv_array_push(&args, "--preserve-merges");
        else if (opt_rebase == REBASE_INTERACTIVE)
                argv_array_push(&args, "--interactive");