1. 19 Nov, 2018 1 commit
  2. 18 Nov, 2018 29 commits
    • Junio C Hamano's avatar
      RelNotes: name the release properly · 0e94dab5
      Junio C Hamano authored
      In the title, we should state for which version this release notes
      document is about.
      Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
      0e94dab5
    • Junio C Hamano's avatar
      Git 2.20-rc0 · 26aa9fc8
      Junio C Hamano authored
      Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
      26aa9fc8
    • Junio C Hamano's avatar
      Merge branch 'jk/close-duped-fd-before-unlock-for-bundle' · 9e3dc6bf
      Junio C Hamano authored
      When "git bundle" aborts due to an empty commit ranges
      (i.e. resulting in an empty pack), it left a file descriptor to an
      lockfile open, which resulted in leftover lockfile on Windows where
      you cannot remove a file with an open file descriptor.  This has
      been corrected.
      
      * jk/close-duped-fd-before-unlock-for-bundle:
        bundle: dup() output descriptor closer to point-of-use
      9e3dc6bf
    • Junio C Hamano's avatar
      Merge branch 'ab/rebase-in-c-escape-hatch' · 4520c233
      Junio C Hamano authored
      The recently merged "rebase in C" has an escape hatch to use the
      scripted version when necessary, but it hasn't been documented,
      which has been corrected.
      
      * ab/rebase-in-c-escape-hatch:
        tests: add a special setup where rebase.useBuiltin is off
        rebase doc: document rebase.useBuiltin
      4520c233
    • Junio C Hamano's avatar
      Merge branch 'js/rebase-am-options' · 137c1f2f
      Junio C Hamano authored
      The way "git rebase" parses and forwards the command line options
      meant for underlying "git am" has been revamped, which fixed for
      options with parameters that were not passed correctly.
      
      * js/rebase-am-options:
        rebase: validate -C<n> and --whitespace=<mode> parameters early
        rebase: really just passthru the `git am` options
      137c1f2f
    • Junio C Hamano's avatar
      Merge branch 'sg/ref-filter-wo-repository' · 7bdebaa6
      Junio C Hamano authored
      "git ls-remote --sort=<thing>" can feed an object that is not yet
      available into the comparison machinery and segfault, which has
      been corrected to check such a request upfront and reject it.
      
      * sg/ref-filter-wo-repository:
        ref-filter: don't look for objects when outside of a repository
      7bdebaa6
    • Junio C Hamano's avatar
      Merge branch 'nd/doc-extensions' · 56e4af3d
      Junio C Hamano authored
      Doc update.
      
      * nd/doc-extensions:
        doc: move extensions.worktreeConfig to the right place
      56e4af3d
    • Junio C Hamano's avatar
      Merge branch 'js/fuzz-cxxflags' · 7b9bb387
      Junio C Hamano authored
      The build procedure to link for fuzzing test has been made
      customizable with a new Makefile variable.
      
      * js/fuzz-cxxflags:
        Makefile: use FUZZ_CXXFLAGS for linking fuzzers
      7b9bb387
    • Junio C Hamano's avatar
      Merge branch 'js/mingw-msdn-url' · b8a92091
      Junio C Hamano authored
      The URL to an MSDN page in a comment has been updated.
      
      * js/mingw-msdn-url:
        mingw: replace an obsolete link with the superseding one
      b8a92091
    • Junio C Hamano's avatar
      Merge branch 'js/mingw-create-hard-link' · c56aa1d2
      Junio C Hamano authored
      Windows update.
      
      * js/mingw-create-hard-link:
        mingw: use `CreateHardLink()` directly
      c56aa1d2
    • Junio C Hamano's avatar
      Merge branch 'js/config-sequence' · 744fad66
      Junio C Hamano authored
      A sanity check for start-up sequence has been added in the config
      API codepath.
      
      * js/config-sequence:
        config: report a bug if git_dir exists without commondir
      744fad66
    • Junio C Hamano's avatar
      Merge branch 'lj/mingw-pthread-cond' · 06a2d241
      Junio C Hamano authored
      Code simplification.
      
      * lj/mingw-pthread-cond:
        win32: replace pthread_cond_*() with much simpler code
      06a2d241
    • Junio C Hamano's avatar
      Merge branch 'nd/command-list-gen-fix' · ca6e972d
      Junio C Hamano authored
      Build tweak.
      
      * nd/command-list-gen-fix:
        build: fix broken command-list.h generation with core.autocrlf
      ca6e972d
    • Junio C Hamano's avatar
      Merge branch 'ag/p3400-force-checkout' · 0466aebd
      Junio C Hamano authored
      Perf test tweak.
      
      * ag/p3400-force-checkout:
        p3400: replace calls to `git checkout -b' by `git checkout -B'
      0466aebd
    • Junio C Hamano's avatar
      Merge branch 'cb/notes-freeing-always-null-fix' · e14af5f7
      Junio C Hamano authored
      Code cleanup.
      
      * cb/notes-freeing-always-null-fix:
        builtin/notes: remove unnecessary free
      e14af5f7
    • Junio C Hamano's avatar
      Merge branch 'js/rebase-r-and-merge-head' · 0de3a73e
      Junio C Hamano authored
      Bugfix for the recently graduated "git rebase --rebase-merges".
      
      * js/rebase-r-and-merge-head:
        status: rebase and merge can be in progress at the same time
        built-in rebase --skip/--abort: clean up stale .git/<name> files
        rebase -i: include MERGE_HEAD into files to clean up
        rebase -r: do not write MERGE_HEAD unless needed
        rebase -r: demonstrate bug with conflicting merges
      0de3a73e
    • Junio C Hamano's avatar
      Merge branch 'js/apply-recount-allow-noop' · bda53f41
      Junio C Hamano authored
      When editing a patch in a "git add -i" session, a hunk could be
      made to no-op.  The "git apply" program used to reject a patch with
      such a no-op hunk to catch user mistakes, but it is now updated to
      explicitly allow a no-op hunk in an edited patch.
      
      * js/apply-recount-allow-noop:
        apply --recount: allow "no-op hunks"
      bda53f41
    • Junio C Hamano's avatar
      Merge branch 'ra/rev-parse-exclude-glob' · c72431ff
      Junio C Hamano authored
      "rev-parse --exclude=<pattern> --branches=<pattern>" etc. did not
      quite work, which has been corrected.
      
      * ra/rev-parse-exclude-glob:
        refs: fix some exclude patterns being ignored
        refs: show --exclude failure with --branches/tags/remotes=glob
      c72431ff
    • Junio C Hamano's avatar
      Merge branch 'js/builtin-rebase-perf-fix' · bb6dd0ec
      Junio C Hamano authored
      Code clean-up with correction to make the reimplemented "git
      rebase" a more faithful rewrite of the original, which also regains
      performance.
      
      * js/builtin-rebase-perf-fix:
        built-in rebase: reinstate `checkout -q` behavior where appropriate
        rebase: prepare reset_head() for more flags
        rebase: consolidate clean-up code before leaving reset_head()
      bb6dd0ec
    • Junio C Hamano's avatar
      Merge branch 'js/mailmap' · 5d90463e
      Junio C Hamano authored
      Update the mailmap to unify multiple entries for the authors with
      commits since v2.10.
      
      * js/mailmap:
        Update .mailmap
      5d90463e
    • Junio C Hamano's avatar
      Merge branch 'js/rebase-autostash-detach-fix' · 9aefd353
      Junio C Hamano authored
      "git rebase --autostash" did not correctly re-attach the HEAD at times.
      
      * js/rebase-autostash-detach-fix:
        built-in rebase --autostash: leave the current branch alone if possible
        built-in rebase: demonstrate regression with --autostash
      9aefd353
    • Junio C Hamano's avatar
      Merge branch 'ab/range-diff-no-patch' · a5170794
      Junio C Hamano authored
      The "--no-patch" option, which can be used to get a high-level
      overview without the actual line-by-line patch difference shown, of
      the "range-diff" command was earlier broken, which has been
      corrected.
      
      * ab/range-diff-no-patch:
        range-diff: make diff option behavior (e.g. --stat) consistent
        range-diff: fix regression in passing along diff options
        range-diff doc: add a section about output stability
      a5170794
    • Junio C Hamano's avatar
      Merge branch 'jk/verify-sig-merge-into-void' · 6d2035ee
      Junio C Hamano authored
      "git merge" and "git pull" that merges into an unborn branch used
      to completely ignore "--verify-signatures", which has been
      corrected.
      
      * jk/verify-sig-merge-into-void:
        pull: handle --verify-signatures for unborn branch
        merge: handle --verify-signatures for unborn branch
        merge: extract verify_merge_signature() helper
      6d2035ee
    • Junio C Hamano's avatar
      Merge branch 'js/mingw-res-rebuild' · 39847644
      Junio C Hamano authored
      Windows build update.
      
      * js/mingw-res-rebuild:
        Windows: force-recompile git.res for differing architectures
      39847644
    • Junio C Hamano's avatar
      Merge branch 'jk/unused-parameter-fixes' · ab96f28b
      Junio C Hamano authored
      Various functions have been audited for "-Wunused-parameter" warnings
      and bugs in them got fixed.
      
      * jk/unused-parameter-fixes:
        midx: double-check large object write loop
        assert NOARG/NONEG behavior of parse-options callbacks
        parse-options: drop OPT_DATE()
        apply: return -1 from option callback instead of calling exit(1)
        cat-file: report an error on multiple --batch options
        tag: mark "--message" option with NONEG
        show-branch: mark --reflog option as NONEG
        format-patch: mark "--no-numbered" option with NONEG
        status: mark --find-renames option with NONEG
        cat-file: mark batch options with NONEG
        pack-objects: mark index-version option as NONEG
        ls-files: mark exclude options as NONEG
        am: handle --no-patch-format option
        apply: mark include/exclude options as NONEG
      ab96f28b
    • Junio C Hamano's avatar
      Merge branch 'jk/curl-ldflags' · fa2f2f08
      Junio C Hamano authored
      The way -lcurl library gets linked has been simplified by taking
      advantage of the fact that we can just ask curl-config command how.
      
      * jk/curl-ldflags:
        build: link with curl-defined linker flags
      fa2f2f08
    • Junio C Hamano's avatar
      Merge branch 'mg/gpg-fingerprint-test' · 95a3ef5e
      Junio C Hamano authored
      Add a few tests for a topic already in 'master'.
      
      * mg/gpg-fingerprint-test:
        t/t7510-signed-commit.sh: add signing subkey to Eris Discordia key
        t/t7510-signed-commit.sh: Add %GP to custom format checks
      95a3ef5e
    • Junio C Hamano's avatar
      Merge branch 'nd/pthreads' · 26b80a84
      Junio C Hamano authored
      The codebase has been cleaned up to reduce "#ifndef NO_PTHREADS".
      
      * nd/pthreads:
        Clean up pthread_create() error handling
        read-cache.c: initialize copy_len to shut up gcc 8
        read-cache.c: reduce branching based on HAVE_THREADS
        read-cache.c: remove #ifdef NO_PTHREADS
        pack-objects: remove #ifdef NO_PTHREADS
        preload-index.c: remove #ifdef NO_PTHREADS
        grep: clean up num_threads handling
        grep: remove #ifdef NO_PTHREADS
        attr.c: remove #ifdef NO_PTHREADS
        name-hash.c: remove #ifdef NO_PTHREADS
        index-pack: remove #ifdef NO_PTHREADS
        send-pack.c: move async's #ifdef NO_PTHREADS back to run-command.c
        run-command.h: include thread-utils.h instead of pthread.h
        thread-utils: macros to unconditionally compile pthreads API
      26b80a84
    • Junio C Hamano's avatar
      Merge branch 'ds/reachable-topo-order' · 62ca33e0
      Junio C Hamano authored
      The revision walker machinery learned to take advantage of the
      commit generation numbers stored in the commit-graph file.
      
      * ds/reachable-topo-order:
        t6012: make rev-list tests more interesting
        revision.c: generation-based topo-order algorithm
        commit/revisions: bookkeeping before refactoring
        revision.c: begin refactoring --topo-order logic
        test-reach: add rev-list tests
        test-reach: add run_three_modes method
        prio-queue: add 'peek' operation
      62ca33e0
  3. 17 Nov, 2018 1 commit
    • Jeff King's avatar
      bundle: dup() output descriptor closer to point-of-use · 2c8ee1f5
      Jeff King authored
      When writing a bundle to a file, the bundle code actually creates
      "your.bundle.lock" using our lockfile interface. We feed that output
      descriptor to a child git-pack-objects via run-command, which has the
      quirk that it closes the output descriptor in the parent.
      
      To avoid confusing the lockfile code (which still thinks the descriptor
      is valid), we dup() it, and operate on the duplicate.
      
      However, this has a confusing side effect: after the dup() but before we
      call pack-objects, we have _two_ descriptors open to the lockfile. If we
      call die() during that time, the lockfile code will try to clean up the
      partially-written file. It knows to close() the file before unlinking,
      since on some platforms (i.e., Windows) the open file would block the
      deletion. But it doesn't know about the duplicate descriptor. On
      Windows, triggering an error at the right part of the code will result
      in the cleanup failing and the lockfile being left in the filesystem.
      
      We can solve this by moving the dup() much closer to start_command(),
      shrinking the window in which we have the second descriptor open. It's
      easy to place this in such a way that no die() is possible. We could
      still die due to a signal in the exact wrong moment, but we already
      tolerate races there (e.g., a signal could come before we manage to put
      the file on the cleanup list in the first place).
      
      As a bonus, this shields create_bundle() itself from the duplicate-fd
      trick, and we can simplify its error handling (note that the lock
      rollback now happens unconditionally, but that's OK; it's a noop if we
      didn't open the lock in the first place).
      
      The included test uses an empty bundle to cause a failure at the right
      spot in the code, because that's easy to trigger (the other likely
      errors are write() problems like ENOSPC).  Note that it would already
      pass on non-Windows systems (because they are happy to unlink an
      already-open file).
      Based-on-a-patch-by: default avatarGaël Lhez <gael.lhez@gmail.com>
      Signed-off-by: default avatarJeff King <peff@peff.net>
      Tested-by: Johannes Schindelin's avatarJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
      2c8ee1f5
  4. 16 Nov, 2018 9 commits