1. 14 May, 2019 1 commit
  2. 13 May, 2019 35 commits
    • Junio C Hamano's avatar
      Sync with Git 2.22-rc0 · e745c3d2
      Junio C Hamano authored
      e745c3d2
    • Junio C Hamano's avatar
      Merge branch 'mh/http-fread-api-fix' into next · f6af2d38
      Junio C Hamano authored
      A pair of private functions in http.c that had names similar to
      fread/fwrite did not return the number of elements, which was found
      to be confusing.
      
      * mh/http-fread-api-fix:
        Make fread/fwrite-like functions in http.c more like fread/fwrite.
      f6af2d38
    • Junio C Hamano's avatar
      Merge branch 'js/t6500-use-windows-pid-on-mingw' into next · 24e5e27e
      Junio C Hamano authored
      Future-proof a test against an update to MSYS2 runtime v3.x series.
      
      * js/t6500-use-windows-pid-on-mingw:
        t6500(mingw): use the Windows PID of the shell
      24e5e27e
    • Junio C Hamano's avatar
      Merge branch 'jk/apache-lsan' into next · 1a055a6d
      Junio C Hamano authored
      Allow tests that involve httpd to be run under leak sanitizer, just
      like we can already do so under address sanitizer.
      
      * jk/apache-lsan:
        t/lib-httpd: pass LSAN_OPTIONS through apache
      1a055a6d
    • Junio C Hamano's avatar
      Merge branch 'nd/parse-options-aliases' into next · c77cc064
      Junio C Hamano authored
      Attempt to use an abbreviated option in "git clone --recurs" is
      responded by a request to disambiguate between --recursive and
      --recurse-submodules, which is bad because these two are synonyms.
      The parse-options API has been extended to define such synonyms
      more easily and not produce an unnecessary failure.
      
      * nd/parse-options-aliases:
        parse-options: don't emit "ambiguous option" for aliases
      c77cc064
    • Junio C Hamano's avatar
      Merge branch 'dl/branch-from-3dot-merge-base' into next · 2eb38707
      Junio C Hamano authored
      "git branch new A...B" and "git checkout -b new A...B" have been
      taught that in their contexts, the notation A...B means "the merge
      base between these two commits", just like "git checkout A...B"
      detaches HEAD at that commit.
      
      * dl/branch-from-3dot-merge-base:
        branch: make create_branch accept a merge base rev
        t2018: cleanup in current test
      2eb38707
    • Junio C Hamano's avatar
      Merge branch 'js/commit-graph-parse-leakfix' into next · 18df8ac7
      Junio C Hamano authored
      Leakfix.
      
      * js/commit-graph-parse-leakfix:
        commit-graph: fix memory leak
      18df8ac7
    • Junio C Hamano's avatar
      Merge branch 'jk/cocci-batch' into next · 8bbbfd34
      Junio C Hamano authored
      Optionally "make coccicheck" can feed multiple source files to
      spatch, gaining performance while spending more memory.
      
      * jk/cocci-batch:
        coccicheck: make batch size of 0 mean "unlimited"
        coccicheck: optionally batch spatch invocations
      8bbbfd34
    • Junio C Hamano's avatar
      Merge branch 'ab/perf-installed-fix' into next · ccd997a1
      Junio C Hamano authored
      Performance test framework has been broken and measured the version
      of Git that happens to be on $PATH, not the specified one to
      measure, for a while, which has been corrected.
      
      * ab/perf-installed-fix:
        perf-lib.sh: forbid the use of GIT_TEST_INSTALLED
        perf tests: add "bindir" prefix to git tree test results
        perf-lib.sh: remove GIT_TEST_INSTALLED from perf-lib.sh
        perf-lib.sh: make "./run <revisions>" use the correct gits
        perf aggregate: remove GIT_TEST_INSTALLED from --codespeed
        perf README: correct docs for 3c8f12c9 regression
      ccd997a1
    • Junio C Hamano's avatar
      Merge branch 'id/windows-dep-aslr' into next · 33d57069
      Junio C Hamano authored
      Allow DEP and ASLR for Windows build to for security hardening.
      
      * id/windows-dep-aslr:
        mingw: enable DEP and ASLR
        mingw: do not let ld strip relocations
      33d57069
    • Junio C Hamano's avatar
      Merge branch 'ab/trace2-typofix' into next · f1229d4d
      Junio C Hamano authored
      Typofix.
      
      * ab/trace2-typofix:
        trace2: fix up a missing "leave" entry point
      f1229d4d
    • Junio C Hamano's avatar
      Merge branch 'nd/submodule-helper-incomplete-line-fix' into next · cd52f498
      Junio C Hamano authored
      Typofix.
      
      * nd/submodule-helper-incomplete-line-fix:
        submodule--helper: add a missing \n
      cd52f498
    • Junio C Hamano's avatar
      Merge branch 'cw/diff-highlight' into next · 050d7071
      Junio C Hamano authored
      Portability fix for a diff-highlight tool (in contrib/).
      
      * cw/diff-highlight:
        diff-highlight: use correct /dev/null for UNIX and Windows
      050d7071
    • Junio C Hamano's avatar
      Merge branch 'dl/warn-tagging-a-tag' into next · a2f63659
      Junio C Hamano authored
      Typofix.
      
      * dl/warn-tagging-a-tag:
        tag: fix typo in nested tagging hint
      a2f63659
    • Junio C Hamano's avatar
      Merge branch 'ab/send-email-transferencoding-fix' into next · 38c6a1e7
      Junio C Hamano authored
      Since "git send-email" learned to take 'auto' as the value for the
      transfer-encoding, it by mistake stopped honoring the values given
      to the configuration variables sendemail.transferencoding and/or
      sendemail.<ident>.transferencoding.  This has been corrected to
      (finally) redoing the order of setting the default, reading the
      configuration and command line options.
      
      * ab/send-email-transferencoding-fix:
        send-email: do defaults -> config -> getopt in that order
        send-email: rename the @bcclist variable for consistency
        send-email: move the read_config() function above getopts
      38c6a1e7
    • Junio C Hamano's avatar
      Git 2.22-rc0 · ab15ad1a
      Junio C Hamano authored
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      ab15ad1a
    • Junio C Hamano's avatar
      Merge branch 'jh/trace2' · 49bc8ce5
      Junio C Hamano authored
      A few embarrassing bugfixes.
      
      * jh/trace2:
        trace2: fix up a missing "leave" entry point
        trace2: fix incorrect function pointer check
      49bc8ce5
    • Junio C Hamano's avatar
      Merge branch 'cc/access-on-aix-workaround' · 40bef499
      Junio C Hamano authored
      Workaround for standard-compliant but less-than-useful behaviour of
      access(2) for the root user.
      
      * cc/access-on-aix-workaround:
        git-compat-util: work around for access(X_OK) under root
      40bef499
    • Junio C Hamano's avatar
      Merge branch 'pw/clean-sequencer-state-upon-final-commit' · b51a0fdc
      Junio C Hamano authored
      "git chery-pick" (and "revert" that shares the same runtime engine)
      that deals with multiple commits got confused when the final step
      gets stopped with a conflict and the user concluded the sequence
      with "git commit".  Attempt to fix it by cleaning up the state
      files used by these commands in such a situation.
      
      * pw/clean-sequencer-state-upon-final-commit:
        fix cherry-pick/revert status after commit
        commit/reset: try to clean up sequencer state
      b51a0fdc
    • Junio C Hamano's avatar
      Merge branch 'pw/rebase-i-internal' · 7ba06bc3
      Junio C Hamano authored
      The internal implementation of "git rebase -i" has been updated to
      avoid forking a separate "rebase--interactive" process.
      
      * pw/rebase-i-internal:
        rebase -i: run without forking rebase--interactive
        rebase: use a common action enum
        rebase -i: use struct rebase_options in do_interactive_rebase()
        rebase -i: use struct rebase_options to parse args
        rebase -i: use struct object_id for squash_onto
        rebase -i: use struct commit when parsing options
        rebase -i: remove duplication
        rebase -i: combine rebase--interactive.c with rebase.c
        rebase: use OPT_RERERE_AUTOUPDATE()
        rebase: rename write_basic_state()
        rebase: don't translate trace strings
        sequencer: always discard index after checkout
      7ba06bc3
    • Junio C Hamano's avatar
      Merge branch 'jk/perf-aggregate-wo-libjson' · 6cfa6335
      Junio C Hamano authored
      The script to aggregate perf result unconditionally depended on
      libjson-perl even though it did not have to, which has been
      corrected.
      
      * jk/perf-aggregate-wo-libjson:
        t/perf: depend on perl JSON only when using --codespeed
      6cfa6335
    • Junio C Hamano's avatar
      Merge branch 'dl/rev-tilde-doc-clarify' · 7a188da3
      Junio C Hamano authored
      Docfix.
      
      * dl/rev-tilde-doc-clarify:
        revisions.txt: remove ambibuity between <rev>:<path> and :<path>
        revisions.txt: mention <rev>~ form
        revisions.txt: mark optional rev arguments with []
        revisions.txt: change "rev" to "<rev>"
      7a188da3
    • Junio C Hamano's avatar
      Merge branch 'jc/make-dedup-ls-files-output' · a505f62f
      Junio C Hamano authored
      A "ls-files" that emulates "find" to enumerate files in the working
      tree resulted in duplicated Makefile rules that caused the build to
      issue an unnecessary warning during a trial build after merge
      conflicts are resolved in working tree *.h files but before the
      resolved results are added to the index.  This has been corrected.
      
      * jc/make-dedup-ls-files-output:
        Makefile: dedup list of files obtained from ls-files
      a505f62f
    • Junio C Hamano's avatar
      Merge branch 'jk/ls-files-doc-markup-fix' · 8293ee05
      Junio C Hamano authored
      Docfix.
      
      * jk/ls-files-doc-markup-fix:
        doc/ls-files: put nested list for "-t" option into block
      8293ee05
    • Junio C Hamano's avatar
      Merge branch 'jk/p5302-avoid-collision-check-cost' · e7a1b38f
      Junio C Hamano authored
      Fix index-pack perf test so that the repeated invocations always
      run in an empty repository, which emulates the initial clone
      situation better.
      
      * jk/p5302-avoid-collision-check-cost:
        p5302: create the repo in each index-pack test
      e7a1b38f
    • Junio C Hamano's avatar
      Merge branch 'dl/no-extern-in-func-decl' · 4aeeef37
      Junio C Hamano authored
      Mechanically and systematically drop "extern" from function
      declarlation.
      
      * dl/no-extern-in-func-decl:
        *.[ch]: manually align parameter lists
        *.[ch]: remove extern from function declarations using sed
        *.[ch]: remove extern from function declarations using spatch
      4aeeef37
    • Junio C Hamano's avatar
      Merge branch 'ew/repack-with-bitmaps-by-default' · 2bfb182b
      Junio C Hamano authored
      The connectivity bitmaps are created by default in bare
      repositories now; also the pathname hash-cache is created by
      default to avoid making crappy deltas when repacking.
      
      * ew/repack-with-bitmaps-by-default:
        pack-objects: default to writing bitmap hash-cache
        t5310: correctly remove bitmaps for jgit test
        repack: enable bitmaps by default on bare repos
      2bfb182b
    • Junio C Hamano's avatar
      Merge branch 'js/partial-clone-connectivity-check' · 5b51f0d3
      Junio C Hamano authored
      During an initial "git clone --depth=..." partial clone, it is
      pointless to spend cycles for a large portion of the connectivity
      check that enumerates and skips promisor objects (which by
      definition is all objects fetched from the other side).  This has
      been optimized out.
      
      * js/partial-clone-connectivity-check:
        t/perf: add perf script for partial clones
        clone: do faster object check for partial clones
      5b51f0d3
    • Junio C Hamano's avatar
      Merge branch 'jh/trace2-sid-fix' · 5b2d1c0c
      Junio C Hamano authored
      Polishing of the new trace2 facility continues.  The system-level
      configuration can specify site-wide trace2 settings, which can be
      overridden with per-user configuration and environment variables.
      
      * jh/trace2-sid-fix:
        trace2: fixup access problem on /etc/gitconfig in read_very_early_config
        trace2: update docs to describe system/global config settings
        trace2: make SIDs more unique
        trace2: clarify UTC datetime formatting
        trace2: report peak memory usage of the process
        trace2: use system/global config for default trace2 settings
        config: add read_very_early_config()
        trace2: find exec-dir before trace2 initialization
        trace2: add absolute elapsed time to start event
        trace2: refactor setting process starting time
        config: initialize opts structure in repo_read_config()
      5b2d1c0c
    • Ævar Arnfjörð Bjarmason's avatar
      send-email: do defaults -> config -> getopt in that order · 3494dfd3
      Ævar Arnfjörð Bjarmason authored
      Change the git-send-email command-line argument parsing and config
      reading code to parse those two in the right order. I.e. first we set
      our hardcoded defaults, then we read our config, and finally we read
      the command-line, with later sets overriding earlier sets.
      
      This fixes a bug introduced in e67a228c ("send-email:
      automatically determine transfer-encoding", 2018-07-08). That change
      broke the reading of sendmail.transferencoding because it wasn't
      careful to update the code to parse them in the previous "defaults
      -> getopt -> config" order.
      
      But as we can see from the history for this file doing it this way was
      never what we actually wanted, it's just something we grew organically
      as of 5483c71d ("git-send-email: make options easier to configure.",
      2007-06-27) and have been dealing with the fallout since, e.g. in
      463b0ea2 ("send-email: Fix %config_path_settings handling",
      2011-10-14).
      
      As can be seen in this change the only place where we actually want to
      do something clever is with the to/cc/bcc variables, where setting
      them on the command-line (or using --no-{to,cc,bcc}) should clear out
      values we grab from the config.
      
      All the rest are things where the command-line should simply override
      the config values, and by reading the config first the config code
      doesn't need all this "let's not set it, if it was on the command-line"
      special-casing, as [1] shows we'd otherwise need to care about the
      difference between whether something was a default or present in
      config to fix the bug in e67a228c.
      
      1. https://public-inbox.org/git/20190508105607.178244-2-gitster@pobox.com/Signed-off-by: Ævar Arnfjörð Bjarmason's avatarÆvar Arnfjörð Bjarmason <avarab@gmail.com>
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      3494dfd3
    • Ævar Arnfjörð Bjarmason's avatar
      send-email: rename the @bcclist variable for consistency · e60f6d13
      Ævar Arnfjörð Bjarmason authored
      The "to" and "cc" variables are named @initial_{to,cc}, let's rename
      this one to match them.
      Signed-off-by: Ævar Arnfjörð Bjarmason's avatarÆvar Arnfjörð Bjarmason <avarab@gmail.com>
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      e60f6d13
    • Ævar Arnfjörð Bjarmason's avatar
      send-email: move the read_config() function above getopts · c573572c
      Ævar Arnfjörð Bjarmason authored
      This is in preparation for a later change where we'll read the config
      first before parsing command-line options. As the move detection will
      show no lines (except one line of comment) is changed here, just moved
      around.
      Signed-off-by: Ævar Arnfjörð Bjarmason's avatarÆvar Arnfjörð Bjarmason <avarab@gmail.com>
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      c573572c
    • Ævar Arnfjörð Bjarmason's avatar
      trace2: fix up a missing "leave" entry point · 7fef4e3e
      Ævar Arnfjörð Bjarmason authored
      Fix a trivial bug that's been here since the shared/do_write_index
      tracing was added in 42fee7a3 ("trace2:data: add trace2
      instrumentation to index read/write", 2019-02-22). We should have
      enter/leave points, not two enter/enter points. This resulted in an
      "enter" event without a corresponding "leave" event.
      Signed-off-by: Ævar Arnfjörð Bjarmason's avatarÆvar Arnfjörð Bjarmason <avarab@gmail.com>
      Acked-by: 's avatarDerrick Stolee <dstolee@microsoft.com>
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      7fef4e3e
    • İsmail Dönmez's avatar
      mingw: enable DEP and ASLR · ce6a1585
      İsmail Dönmez authored
      Enable DEP (Data Execution Prevention) and ASLR (Address Space Layout
      Randomization) support. This applies to both 32bit and 64bit builds
      and makes it substantially harder to exploit security holes in Git by
      offering a much more unpredictable attack surface.
      
      ASLR interferes with GDB's ability to set breakpoints. A similar issue
      holds true when compiling with -O2 (in which case single-stepping is
      messed up because GDB cannot map the code back to the original source
      code properly). Therefore we simply enable ASLR only when an
      optimization flag is present in the CFLAGS, using it as an indicator
      that the developer does not want to debug in GDB anyway.
      Signed-off-by: İsmail Dönmez's avatarİsmail Dönmez <ismail@i10z.com>
      Signed-off-by: Johannes Schindelin's avatarJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      ce6a1585
    • İsmail Dönmez's avatar
      mingw: do not let ld strip relocations · 598b6c3a
      İsmail Dönmez authored
      This is the first step for enabling ASLR (Address Space Layout
      Randomization) support. We want to enable ASLR for better protection
      against exploiting security holes in Git: it makes it harder to attack
      software by making code addresses unpredictable.
      
      The problem fixed by this commit is that `ld.exe` seems to be stripping
      relocations which in turn will break ASLR support. We just make sure
      it's not stripping the main executable entry.
      Signed-off-by: İsmail Dönmez's avatarİsmail Dönmez <ismail@i10z.com>
      Signed-off-by: Johannes Schindelin's avatarJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      598b6c3a
  3. 10 May, 2019 4 commits