Permalink
Commits on Sep 26, 2016
  1. Fifth batch for 2.11

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Sep 26, 2016
  2. Merge branch 'jk/clone-recursive-progress'

    "git clone --recurse-submodules" lost the progress eye-candy in
    recent update, which has been corrected.
    
    * jk/clone-recursive-progress:
      clone: pass --progress decision to recursive submodules
    gitster committed Sep 26, 2016
  3. Merge branch 'jk/doc-cvs-update'

    Documentation around tools to import from CVS was fairly outdated.
    
    * jk/doc-cvs-update:
      docs/cvs-migration: mention cvsimport caveats
      docs/cvs-migration: update link to cvsps homepage
      docs/cvsimport: prefer cvs-fast-export to parsecvs
    gitster committed Sep 26, 2016
  4. Merge branch 'rt/rebase-i-broken-insn-advise'

    When "git rebase -i" is given a broken instruction, it told the
    user to fix it with "--edit-todo", but didn't say what the step
    after that was (i.e. "--continue").
    
    * rt/rebase-i-broken-insn-advise:
      rebase -i: improve advice on bad instruction lines
    gitster committed Sep 26, 2016
  5. Merge branch 'rs/checkout-init-macro'

    Code cleanup.
    
    * rs/checkout-init-macro:
      introduce CHECKOUT_INIT
    gitster committed Sep 26, 2016
  6. Merge branch 'ls/travis-homebrew-path-fix'

    The procedure to build Git on Mac OS X for Travis CI hardcoded the
    internal directory structure we assumed HomeBrew uses, which was a
    no-no.  The procedure has been updated to ask HomeBrew things we
    need to know to fix this.
    
    * ls/travis-homebrew-path-fix:
      travis-ci: ask homebrew for its path instead of hardcoding it
    gitster committed Sep 26, 2016
  7. Merge branch 'tg/add-chmod+x-fix'

    "git add --chmod=+x <pathspec>" added recently only toggled the
    executable bit for paths that are either new or modified. This has
    been corrected to flip the executable bit for all paths that match
    the given pathspec.
    
    * tg/add-chmod+x-fix:
      t3700-add: do not check working tree file mode without POSIXPERM
      t3700-add: create subdirectory gently
      add: modify already added files when --chmod is given
      read-cache: introduce chmod_index_entry
      update-index: add test for chmod flags
    gitster committed Sep 26, 2016
  8. Merge branch 'js/regexec-buf'

    Some codepaths in "git diff" used regexec(3) on a buffer that was
    mmap(2)ed, which may not have a terminating NUL, leading to a read
    beyond the end of the mapped region.  This was fixed by introducing
    a regexec_buf() helper that takes a <ptr,len> pair with REG_STARTEND
    extension.
    
    * js/regexec-buf:
      regex: use regexec_buf()
      regex: add regexec_buf() that can work on a non NUL-terminated string
      regex: -G<pattern> feeds a non NUL-terminated string to regexec() and fails
    gitster committed Sep 26, 2016
  9. Merge branch 'nd/checkout-disambiguation'

    "git checkout <word>" does not follow the usual disambiguation
    rules when the <word> can be both a rev and a path, to allow
    checking out a branch 'foo' in a project that happens to have a
    file 'foo' in the working tree without having to disambiguate.
    This was poorly documented and the check was incorrect when the
    command was run from a subdirectory.
    
    * nd/checkout-disambiguation:
      checkout: fix ambiguity check in subdir
      checkout.txt: document a common case that ignores ambiguation rules
      checkout: add some spaces between code and comment
    gitster committed Sep 26, 2016
  10. Merge branch 'va/i18n-more'

    Even more i18n.
    
    * va/i18n-more:
      i18n: stash: mark messages for translation
      i18n: notes-merge: mark die messages for translation
      i18n: ident: mark hint for translation
      i18n: i18n: diff: mark die messages for translation
      i18n: connect: mark die messages for translation
      i18n: commit: mark message for translation
    gitster committed Sep 26, 2016
  11. Merge branch 'jt/format-patch-rfc'

    In some projects, it is common to use "[RFC PATCH]" as the subject
    prefix for a patch meant for discussion rather than application.  A
    new option "--rfc" was a short-hand for "--subject-prefix=RFC PATCH"
    to help the participants of such projects.
    
    * jt/format-patch-rfc:
      format-patch: add "--rfc" for the common case of [RFC PATCH]
    gitster committed Sep 26, 2016
  12. Merge branch 'ep/doc-check-ref-format-example'

    A shell script example in check-ref-format documentation has been
    fixed.
    
    * ep/doc-check-ref-format-example:
      git-check-ref-format.txt: fixup documentation
    gitster committed Sep 26, 2016
  13. Merge branch 'mh/diff-indent-heuristic'

    Output from "git diff" can be made easier to read by selecting
    which lines are common and which lines are added/deleted
    intelligently when the lines before and after the changed section
    are the same.  A command line option is added to help with the
    experiment to find a good heuristics.
    
    * mh/diff-indent-heuristic:
      blame: honor the diff heuristic options and config
      parse-options: add parse_opt_unknown_cb()
      diff: improve positioning of add/delete blocks in diffs
      xdl_change_compact(): introduce the concept of a change group
      recs_match(): take two xrecord_t pointers as arguments
      is_blank_line(): take a single xrecord_t as argument
      xdl_change_compact(): only use heuristic if group can't be matched
      xdl_change_compact(): fix compaction heuristic to adjust ixo
    gitster committed Sep 26, 2016
  14. Merge branch 'rs/c-auto-resets-attributes'

    The pretty-format specifier "%C(auto)" used by the "log" family of
    commands to enable coloring of the output is taught to also issue a
    color-reset sequence to the output.
    
    * rs/c-auto-resets-attributes:
      pretty: let %C(auto) reset all attributes
    gitster committed Sep 26, 2016
  15. Merge branch 'mm/config-color-ui-default-to-auto'

    Documentation for individual configuration variables to control use
    of color (like `color.grep`) said that their default value is
    'false', instead of saying their default is taken from `color.ui`.
    When we updated the default value for color.ui from 'false' to
    'auto' quite a while ago, all of them broke.  This has been
    corrected.
    
    * mm/config-color-ui-default-to-auto:
      Documentation/config: default for color.* is color.ui
    gitster committed Sep 26, 2016
  16. Merge branch 'rs/cocci'

    Code cleanup.
    
    * rs/cocci:
      use strbuf_addstr() for adding constant strings to a strbuf, part 2
      add coccicheck make target
      contrib/coccinelle: fix semantic patch for oid_to_hex_r()
    gitster committed Sep 26, 2016
Commits on Sep 22, 2016
  1. introduce CHECKOUT_INIT

    Add a static initializer for struct checkout and use it throughout the
    code base.  It's shorter, avoids a memset(3) call and makes sure the
    base_dir member is initialized to a valid (empty) string.
    
    Signed-off-by: Rene Scharfe <l.s.r@web.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    René Scharfe committed with gitster Sep 22, 2016
  2. docs/cvs-migration: mention cvsimport caveats

    Back when this guide was written, cvsimport was the only
    game in town. These days it is probably not the best option.
    Rather than go into details, let's point people to the note
    at the top of cvsimport which gives other options.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    peff committed with gitster Sep 22, 2016
  3. docs/cvs-migration: update link to cvsps homepage

    The old page gives a 404 now. Searching for "cvsps" via
    Google returns a GitHub project page as the top hit.
    
    Reported-by: Dan Pritts
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    peff committed with gitster Sep 22, 2016
  4. docs/cvsimport: prefer cvs-fast-export to parsecvs

    parsecvs maintenance was taken over by ESR, and the name
    changed to cvs-fast-export as it learned to support that
    output format. Let's point to cvs-fast-export, as it should
    have additional bug-fixes and be more convenient to use.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    peff committed with gitster Sep 22, 2016
  5. clone: pass --progress decision to recursive submodules

    When cloning with "--recursive", we'd generally expect
    submodules to show progress reports if the main clone did,
    too.
    
    In older versions of git, this mostly worked out of the
    box. Since we show progress by default when stderr is a tty,
    and since the child clones inherit the parent stderr, then
    both processes would come to the same decision by default.
    If the parent clone was asked for "--quiet", we passed down
    "--quiet" to the child. However, if stderr was not a tty and
    the user specified "--progress", we did not propagate this
    to the child.
    
    That's a minor bug, but things got much worse when we
    switched recently to submodule--helper's update_clone
    command. With that change, the stderr of the child clones
    are always connected to a pipe, and we never output
    progress at all.
    
    This patch teaches git-submodule and git-submodule--helper
    how to pass down an explicit "--progress" flag when cloning.
    The clone command then decides to propagate that flag based
    on the cloning decision made earlier (which takes into
    account isatty(2) of the parent process, existing --progress
    or --quiet flags, etc). Since the child processes always run
    without a tty on stderr, we don't have to worry about
    passing an explicit "--no-progress"; it's the default for
    them.
    
    This fixes the recent loss of progress during recursive
    clones. And as a bonus, it makes:
    
      git clone --recursive --progress ... 2>&1 | cat
    
    work by triggering progress explicitly in the children.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Acked-by: Stefan Beller <sbeller@google.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    peff committed with gitster Sep 22, 2016
  6. travis-ci: ask homebrew for its path instead of hardcoding it

    The TravisCI macOS build is broken because homebrew (a macOS dependency
    manager) changed its internal directory structure [1]. This is a problem
    because we modify the Perforce dependencies in the homebrew repository
    before installing them.
    
    Fix it by asking homebrew for its path instead of hardcoding it.
    
    [1] Homebrew/brew@0a09ae3
    
    Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    larsxschneider committed with gitster Sep 21, 2016
Commits on Sep 21, 2016
  1. Fourth batch for 2.11

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Sep 21, 2016
  2. Merge branch 'jk/reduce-gc-aggressive-depth'

    "git gc --aggressive" used to limit the delta-chain length to 250,
    which is way too deep for gaining additional space savings and is
    detrimental for runtime performance.  The limit has been reduced to
    50.
    
    * jk/reduce-gc-aggressive-depth:
      gc: default aggressive depth to 50
    gitster committed Sep 21, 2016
  3. Merge branch 'jk/rebase-i-drop-ident-check'

    Even when "git pull --rebase=preserve" (and the underlying "git
    rebase --preserve") can complete without creating any new commit
    (i.e. fast-forwards), it still insisted on having a usable ident
    information (read: user.email is set correctly), which was less
    than nice.  As the underlying commands used inside "git rebase"
    would fail with a more meaningful error message and advice text
    when the bogus ident matters, this extra check was removed.
    
    * jk/rebase-i-drop-ident-check:
      rebase-interactive: drop early check for valid ident
    gitster committed Sep 21, 2016
  4. Merge branch 'va/i18n'

    More i18n.
    
    * va/i18n:
      i18n: update-index: mark warnings for translation
      i18n: show-branch: mark plural strings for translation
      i18n: show-branch: mark error messages for translation
      i18n: receive-pack: mark messages for translation
      notes: spell first word of error messages in lowercase
      i18n: notes: mark error messages for translation
      i18n: merge-recursive: mark verbose message for translation
      i18n: merge-recursive: mark error messages for translation
      i18n: config: mark error message for translation
      i18n: branch: mark option description for translation
      i18n: blame: mark error messages for translation
    gitster committed Sep 21, 2016
  5. Merge branch 'jt/format-patch-base-info-above-sig'

    "git format-patch --base=..." feature that was recently added
    showed the base commit information after "-- " e-mail signature
    line, which turned out to be inconvenient.  The base information
    has been moved above the signature line.
    
    * jt/format-patch-base-info-above-sig:
      format-patch: show base info before email signature
    gitster committed Sep 21, 2016
  6. Merge branch 'ks/perf-build-with-autoconf'

    Performance tests done via "t/perf" did not use the same set of
    build configuration if the user relied on autoconf generated
    configuration.
    
    * ks/perf-build-with-autoconf:
      t/perf/run: copy config.mak.autogen & friends to build area
    gitster committed Sep 21, 2016
  7. Merge branch 'mr/vcs-svn-printf-ulong'

    Code cleanup.
    
    * mr/vcs-svn-printf-ulong:
      vcs-svn/fast_export: fix timestamp fmt specifiers
    gitster committed Sep 21, 2016
  8. Merge branch 'rs/xdiff-merge-overlapping-hunks-for-W-context'

    "git diff -W" output needs to extend the context backward to
    include the header line of the current function and also forward to
    include the body of the entire current function up to the header
    line of the next one.  This process may have to merge to adjacent
    hunks, but the code forgot to do so in some cases.
    
    * rs/xdiff-merge-overlapping-hunks-for-W-context:
      xdiff: fix merging of hunks with -W context and -u context
    gitster committed Sep 21, 2016
  9. Merge branch 'rs/unpack-trees-reduce-file-scope-global'

    Code cleanup.
    
    * rs/unpack-trees-reduce-file-scope-global:
      unpack-trees: pass checkout state explicitly to check_updates()
    gitster committed Sep 21, 2016
  10. Merge branch 'rs/strbuf-remove-fix'

    Code cleanup.
    
    * rs/strbuf-remove-fix:
      strbuf: use valid pointer in strbuf_remove()
    gitster committed Sep 21, 2016
  11. Merge branch 'rs/pack-sort-with-llist-mergesort'

    Code cleanup.
    
    * rs/pack-sort-with-llist-mergesort:
      sha1_file: use llist_mergesort() for sorting packs
    gitster committed Sep 21, 2016
  12. Merge branch 'rs/checkout-some-states-are-const'

    Code cleanup.
    
    * rs/checkout-some-states-are-const:
      checkout: constify parameters of checkout_stage() and checkout_merged()
    gitster committed Sep 21, 2016
  13. Merge branch 'jk/setup-sequence-update'

    There were numerous corner cases in which the configuration files
    are read and used or not read at all depending on the directory a
    Git command was run, leading to inconsistent behaviour.  The code
    to set-up repository access at the beginning of a Git process has
    been updated to fix them.
    
    * jk/setup-sequence-update:
      t1007: factor out repeated setup
      init: reset cached config when entering new repo
      init: expand comments explaining config trickery
      config: only read .git/config from configured repos
      test-config: setup git directory
      t1302: use "git -C"
      pager: handle early config
      pager: use callbacks instead of configset
      pager: make pager_program a file-local static
      pager: stop loading git_default_config()
      pager: remove obsolete comment
      diff: always try to set up the repository
      diff: handle --no-index prefixes consistently
      diff: skip implicit no-index check when given --no-index
      patch-id: use RUN_SETUP_GENTLY
      hash-object: always try to set up the git repository
    gitster committed Sep 21, 2016