Permalink
Switch branches/tags
Commits on Jun 13, 2017
  1. Sync with maint

    gitster committed Jun 13, 2017
  2. Eighth batch for 2.14

    gitster committed Jun 13, 2017
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. Merge branch 'jk/pack-idx-corruption-safety'

    gitster committed Jun 13, 2017
    A flaky test has been corrected.
    
    * jk/pack-idx-corruption-safety:
      t5313: make extended-table test more deterministic
  4. Merge branch 'nd/fopen-errors'

    gitster committed Jun 13, 2017
    We often try to open a file for reading whose existence is
    optional, and silently ignore errors from open/fopen; report such
    errors if they are not due to missing files.
    
    * nd/fopen-errors:
      mingw_fopen: report ENOENT for invalid file names
      mingw: verify that paths are not mistaken for remote nicknames
      log: fix memory leak in open_next_file()
      rerere.c: move error_errno() closer to the source system call
      print errno when reporting a system call error
      wrapper.c: make warn_on_inaccessible() static
      wrapper.c: add and use fopen_or_warn()
      wrapper.c: add and use warn_on_fopen_errors()
      config.mak.uname: set FREAD_READS_DIRECTORIES for Darwin, too
      config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSD
      clone: use xfopen() instead of fopen()
      use xfopen() in more places
      git_fopen: fix a sparse 'not declared' warning
  5. Merge branch 'rf/completion'

    gitster committed Jun 13, 2017
    Completion updates.
    
    * rf/completion:
      completion: add git config credentialCache.ignoreSIGHUP
      completion: add git config credential completions
      completion: add git config advice completions
      completion: add git config am.threeWay completion
      completion: add git config core completions
      completion: add git config gc completions
  6. Merge branch 'jc/diff-tree-stale-comment'

    gitster committed Jun 13, 2017
    Comment fix.
    
    * jc/diff-tree-stale-comment:
      diff-tree: update stale in-code comments
  7. Merge branch 'sb/submodule-blanket-recursive'

    gitster committed Jun 13, 2017
    Many commands learned to pay attention to submodule.recurse
    configuration.
    
    * sb/submodule-blanket-recursive:
      builtin/fetch.c: respect 'submodule.recurse' option
      builtin/push.c: respect 'submodule.recurse' option
      builtin/grep.c: respect 'submodule.recurse' option
      Introduce 'submodule.recurse' option for worktree manipulators
      submodule loading: separate code path for .gitmodules and config overlay
      reset/checkout/read-tree: unify config callback for submodule recursion
      submodule test invocation: only pass additional arguments
      submodule recursing: do not write a config variable twice
  8. Merge branch 'jc/noent-notdir'

    gitster committed Jun 13, 2017
    Our code often opens a path to an optional file, to work on its
    contents when we can successfully open it.  We can ignore a failure
    to open if such an optional file does not exist, but we do want to
    report a failure in opening for other reasons (e.g. we got an I/O
    error, or the file is there, but we lack the permission to open).
    
    The exact errors we need to ignore are ENOENT (obviously) and
    ENOTDIR (less obvious).  Instead of repeating comparison of errno
    with these two constants, introduce a helper function to do so.
    
    * jc/noent-notdir:
      treewide: use is_missing_file_error() where ENOENT and ENOTDIR are checked
      compat-util: is_missing_file_error()
  9. Prepare for 2.13.2

    gitster committed Jun 13, 2017
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  10. Merge branch 'ad/pull-remote-doc' into maint

    gitster committed Jun 13, 2017
    Docfix.
    
    * ad/pull-remote-doc:
      docs: fix formatting and grammar
  11. Merge branch 'jk/drop-free-refspecs' into maint

    gitster committed Jun 13, 2017
    Code clean-up.
    
    * jk/drop-free-refspecs:
      remote: drop free_refspecs() function
  12. Merge branch 'jk/connect-symref-info-leak-fix' into maint

    gitster committed Jun 13, 2017
    Leakfix.
    
    * jk/connect-symref-info-leak-fix:
      connect.c: fix leak in parse_one_symref_info()
  13. Merge branch 'rf/completion-config-commit' into maint

    gitster committed Jun 13, 2017
    Completion update.
    
    * rf/completion-config-commit:
      completion: add completions for git config commit
  14. Merge branch 'ab/t3070-test-dedup' into maint

    gitster committed Jun 13, 2017
    Test cleanup.
    
    * ab/t3070-test-dedup:
      wildmatch test: remove redundant duplicate test
  15. Merge branch 'jh/memihash-opt' into maint

    gitster committed Jun 13, 2017
    perf-test update.
    
    * jh/memihash-opt:
      p0004: don't error out if test repo is too small
      p0004: don't abort if multi-threaded is too slow
      p0004: use test_perf
      p0004: avoid using pipes
      p0004: simplify calls of test-lazy-init-name-hash
  16. Merge branch 'tb/pull-ff-rebase-autostash' into maint

    gitster committed Jun 13, 2017
    "git pull --rebase --autostash" didn't auto-stash when the local history
    fast-forwards to the upstream.
    
    * tb/pull-ff-rebase-autostash:
      pull: ff --rebase --autostash works in dirty repo
  17. Merge branch 'jh/close-index-before-stat' into maint

    gitster committed Jun 13, 2017
    The timestamp of the index file is now taken after the file is
    closed, to help Windows, on which a stale timestamp is reported by
    fstat() on a file that is opened for writing and data was written
    but not yet closed.
    
    * jh/close-index-before-stat:
      read-cache: close index.lock in do_write_index
  18. Merge branch 'sl/clean-d-ignored-fix' into maint

    gitster committed Jun 13, 2017
    "git clean -d" used to clean directories that has ignored files,
    even though the command should not lose ignored ones without "-x".
    "git status --ignored"  did not list ignored and untracked files
    without "-uall".  These have been corrected.
    
    * sl/clean-d-ignored-fix:
      clean: teach clean -d to preserve ignored paths
      dir: expose cmp_name() and check_contains()
      dir: hide untracked contents of untracked dirs
      dir: recurse into untracked dirs for ignored files
      t7061: status --ignored should search untracked dirs
      t7300: clean -d should skip dirs with ignored files
  19. Merge branch 'dk/send-email-avoid-net-smtp-ssl-when-able' into maint

    gitster committed Jun 13, 2017
    A hotfix to a topic in 'master'.
    
    * dk/send-email-avoid-net-smtp-ssl-when-able:
      send-email: Net::SMTP::starttls was introduced in v2.34
      send-email: Net::SMTP::SSL is obsolete, use only when necessary
  20. Merge branch 'jc/skip-test-in-the-middle' into maint

    gitster committed Jun 13, 2017
    A recent update to t5545-push-options.sh started skipping all the
    tests in the script when a web server testing is disabled or
    unavailable, not just the ones that require a web server.  Non HTTP
    tests have been salvaged to always run in this script.
    
    * jc/skip-test-in-the-middle:
      t5545: enhance test coverage when no http server is installed
      test: allow skipping the remainder
  21. Merge branch 'bw/forking-and-threading' into maint

    gitster committed Jun 13, 2017
    The "run-command" API implementation has been made more robust
    against dead-locking in a threaded environment.
    
    * bw/forking-and-threading:
      usage.c: drop set_error_handle()
      run-command: restrict PATH search to executable files
      run-command: expose is_executable function
      run-command: block signals between fork and execve
      run-command: add note about forking and threading
      run-command: handle dup2 and close errors in child
      run-command: eliminate calls to error handling functions in child
      run-command: don't die in child when duping /dev/null
      run-command: prepare child environment before forking
      string-list: add string_list_remove function
      run-command: use the async-signal-safe execv instead of execvp
      run-command: prepare command before forking
      t0061: run_command executes scripts without a #! line
      t5550: use write_script to generate post-update hook
  22. Merge branch 'jk/bug-to-abort' into maint

    gitster committed Jun 13, 2017
    Introduce the BUG() macro to improve die("BUG: ...").
    
    * jk/bug-to-abort:
      usage: add NORETURN to BUG() function definitions
      config: complain about --local outside of a git repo
      setup_git_env: convert die("BUG") to BUG()
      usage.c: add BUG() function
  23. Merge branch 'sb/checkout-recurse-submodules' into maint

    gitster committed Jun 13, 2017
    "git checkout --recurse-submodules" did not quite work with a
    submodule that itself has submodules.
    
    * sb/checkout-recurse-submodules:
      submodule: properly recurse for read-tree and checkout
      submodule: avoid auto-discovery in new working tree manipulator code
      submodule_move_head: reuse child_process structure for futher commands
Commits on Jun 10, 2017
  1. Merge branch 'master' of git://bogomips.org/git-svn

    gitster committed Jun 10, 2017
    * 'master' of git://bogomips.org/git-svn:
      doc: describe git svn init --ignore-refs
Commits on Jun 7, 2017
  1. doc: describe git svn init --ignore-refs

    asheiduk committed with Eric Wong Jun 7, 2017
    Add the missing documentation for `git svn init --ignore-refs`.
    
    Signed-off-by: Andreas Heiduk <asheiduk@gmail.com>
    Signed-off-by: Eric Wong <e@80x24.org>
  2. Sync with maint

    gitster committed Jun 7, 2017
    * maint:
      sha1dc: update from upstream
      sha1dc: ignore indent-with-non-tab whitespace violations
  3. Merge branch 'ab/sha1dc-maint' into maint

    gitster committed Jun 7, 2017
    * ab/sha1dc-maint:
      sha1dc: update from upstream
      sha1dc: ignore indent-with-non-tab whitespace violations
  4. sha1dc: update from upstream

    avar committed with gitster Jun 6, 2017
    Update sha1dc from the latest version by the upstream
    maintainer[1].
    
    See commit a010391 ("sha1dc: update from upstream", 2017-05-20) for
    the latest update. That update was done sans some whitespace changes
    by upstream, which is why the diff here isn't the same as the upstream
    cc46554..e139984.
    
    It also brings in a change[2] upstream made which should hopefully
    address the breakage in 2.13.1 on Cygwin, see [3]. Cygwin defines both
    _BIG_ENDIAN and _LITTLE_ENDIAN.
    
    Adam Dinwoodie reports on the mailing list that that upstream commit
    fixes the issue on Cygwin[4].
    
    1. cr-marcstevens/sha1collisiondetection@e139984
    2. cr-marcstevens/sha1collisiondetection@a24eef5
    3. <20170606100355.GC25777@dinwoodie.org> (https://public-inbox.org/git/20170606100355.GC25777@dinwoodie.org/)
    4. <20170606124323.GD25777@dinwoodie.org> (https://public-inbox.org/git/20170606124323.GD25777@dinwoodie.org/)
    
    Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. sha1dc: ignore indent-with-non-tab whitespace violations

    peff committed with gitster Jun 6, 2017
    The upstream sha1dc code indents some lines with spaces.
    While this doesn't match Git's coding guidelines, it's better
    to leave this imported code untouched than to try to make it
    match our style. However, we can use .gitattributes to tell
    "diff --check" and "git am" not to bother us about it.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jun 6, 2017
  1. t5313: make extended-table test more deterministic

    peff committed with gitster Jun 5, 2017
    Commit a128386 (t5313: test bounds-checks of
    corrupted/malicious pack/idx files, 2016-02-25) added a test
    that requires our corrupted pack index to have two objects.
    The entry for the first one remains untouched, but we
    corrupt the entry for second one. Since the index stores the
    entries in sha1-sorted order, this means that the test must
    make sure that the sha1 of the object we expect to be
    corrupted ("$object") sorts after the other placeholder
    object.
    
    That commit used the HEAD commit as the placeholder, but the
    script never calls test_tick. That means that the commit
    object (and thus its sha1) depends on the timestamp when the
    test script is run. This usually works in practice, because
    the sha1 of $object starts with "fff". The commit object
    will sort after that only 1 in 4096 times, but when it does
    the test will fail.
    
    One obvious solution is to add the test_tick call to get a
    deterministic commit sha1. But since we're relying on the
    sort order for the test to function, let's make that very
    explicit by just generating a second blob with a known sha1.
    
    Reported-by: Lars Schneider <larsxschneider@gmail.com>
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jun 5, 2017
  1. Sync with v2.13.1

    gitster committed Jun 5, 2017
  2. Seventh batch for 2.14

    gitster committed Jun 5, 2017
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. Merge branch 'ad/pull-remote-doc'

    gitster committed Jun 5, 2017
    Docfix.
    
    * ad/pull-remote-doc:
      docs: fix formatting and grammar
  4. Merge branch 'tb/pull-ff-rebase-autostash'

    gitster committed Jun 5, 2017
    "git pull --rebase --autostash" didn't auto-stash when the local history
    fast-forwards to the upstream.
    
    * tb/pull-ff-rebase-autostash:
      pull: ff --rebase --autostash works in dirty repo
  5. Merge branch 'jk/drop-free-refspecs'

    gitster committed Jun 5, 2017
    Code clean-up.
    
    * jk/drop-free-refspecs:
      remote: drop free_refspecs() function