1. 09 8月, 2016 18 次提交
    • J
      Merge branch 'js/nedmalloc-gcc6-warnings' · ffdcac4b
      Junio C Hamano 提交于
      Squelch compiler warnings for netmalloc (in compat/) library.
      
      * js/nedmalloc-gcc6-warnings:
        nedmalloc: work around overzealous GCC 6 warning
        nedmalloc: fix misleading indentation
      ffdcac4b
    • J
      Merge branch 'nd/fbsd-lazy-mtime' · 17501ba1
      Junio C Hamano 提交于
      FreeBSD can lie when asked mtime of a directory, which made the
      untracked cache code to fall back to a slow-path, which in turn
      caused tests in t7063 to fail because it wanted to verify the
      behaviour of the fast-path.
      
      * nd/fbsd-lazy-mtime:
        t7063: work around FreeBSD's lazy mtime update feature
      17501ba1
    • J
      Merge branch 'nd/log-decorate-color-head-arrow' · 3a3338d3
      Junio C Hamano 提交于
      An entry "git log --decorate" for the tip of the current branch is
      shown as "HEAD -> name" (where "name" is the name of the branch);
      paint the arrow in the same color as "HEAD", not in the color for
      commits.
      
      * nd/log-decorate-color-head-arrow:
        log: decorate HEAD -> branch with the same color for arrow and HEAD
      3a3338d3
    • J
      Merge branch 'rs/use-strbuf-addstr' · 940622bc
      Junio C Hamano 提交于
      * rs/use-strbuf-addstr:
        use strbuf_addstr() instead of strbuf_addf() with "%s"
        use strbuf_addstr() for adding constant strings to a strbuf
      940622bc
    • J
      Merge branch 'rs/st-mult' · 68e80da4
      Junio C Hamano 提交于
      Micro optimization of st_mult() facility used to check the integer
      overflow coming from multiplication to compute size of memory
      allocation.
      
      * rs/st-mult:
        pass constants as first argument to st_mult()
      68e80da4
    • J
      Merge branch 'ib/t3700-add-chmod-x-updates' · 09ee6444
      Junio C Hamano 提交于
      The t3700 test about "add --chmod=-x" have been made a bit more
      robust and generally cleaned up.
      
      * ib/t3700-add-chmod-x-updates:
        t3700: add a test_mode_in_index helper function
        t3700: merge two tests into one
        t3700: remove unwanted leftover files before running new tests
      09ee6444
    • J
      Merge branch 'ab/gitweb-link-html-escape' · ae674b01
      Junio C Hamano 提交于
      The characters in the label shown for tags/refs for commits in
      "gitweb" output are now properly escaped for proper HTML output.
      
      * ab/gitweb-link-html-escape:
        gitweb: escape link body in format_ref_marker
      ae674b01
    • J
      Merge branch 'jk/pack-objects-optim' · 78849622
      Junio C Hamano 提交于
      "git pack-objects" has a few options that tell it not to pack
      objects found in certain packfiles, which require it to scan .idx
      files of all available packs.  The codepaths involved in these
      operations have been optimized for a common case of not having any
      non-local pack and/or any .kept pack.
      
      * jk/pack-objects-optim:
        pack-objects: compute local/ignore_pack_keep early
        pack-objects: break out of want_object loop early
        find_pack_entry: replace last_found_pack with MRU cache
        add generic most-recently-used list
        sha1_file: drop free_pack_by_name
        t/perf: add tests for many-pack scenarios
      78849622
    • J
      Merge branch 'jk/difftool-in-subdir' · 7647537e
      Junio C Hamano 提交于
      "git difftool <paths>..." started in a subdirectory failed to
      interpret the paths relative to that directory, which has been
      fixed.
      
      * jk/difftool-in-subdir:
        difftool: use Git::* functions instead of passing around state
        difftool: avoid $GIT_DIR and $GIT_WORK_TREE
        difftool: fix argument handling in subdirs
      7647537e
    • J
      Merge branch 'va/i18n' · 768ededa
      Junio C Hamano 提交于
      More i18n marking.
      
      * va/i18n:
        i18n: config: unfold error messages marked for translation
        i18n: notes: mark comment for translation
      768ededa
    • J
      Merge branch 'js/rebase-i-progress-tidy' · 6b9114c6
      Junio C Hamano 提交于
      Regression fix for an i18n topic already in 'master'.
      
      * js/rebase-i-progress-tidy:
        rebase-interactive: trim leading whitespace from progress count
      6b9114c6
    • J
      Merge branch 'jk/reflog-date' · 0d327996
      Junio C Hamano 提交于
      The reflog output format is documented better, and a new format
      --date=unix to report the seconds-since-epoch (without timezone)
      has been added.
      
      * jk/reflog-date:
        date: clarify --date=raw description
        date: add "unix" format
        date: document and test "raw-local" mode
        doc/pretty-formats: explain shortening of %gd
        doc/pretty-formats: describe index/time formats for %gd
        doc/rev-list-options: explain "-g" output formats
        doc/rev-list-options: clarify "commit@{Nth}" for "-g" option
      0d327996
    • J
      Merge branch 'cp/completion-clone-recurse-submodules' · 4c30ad8c
      Junio C Hamano 提交于
      * cp/completion-clone-recurse-submodules:
        completion: add option '--recurse-submodules' to 'git clone'
      4c30ad8c
    • J
      Merge branch 'jk/t4205-cleanup' · 4d7f59ae
      Junio C Hamano 提交于
      Test modernization.
      
      * jk/t4205-cleanup:
        t4205: indent here documents
        t4205: drop top-level &&-chaining
      4d7f59ae
    • J
      Merge branch 'da/subtree-modernize' · f2be3b73
      Junio C Hamano 提交于
      Style fixes for "git subtree" (in contrib/).
      
      * da/subtree-modernize:
        subtree: adjust function definitions to match CodingGuidelines
        subtree: adjust style to match CodingGuidelines
      f2be3b73
    • J
      Merge branch 'nd/fetch-ref-summary' · abbf7bd4
      Junio C Hamano 提交于
      Hotfix of a test in a topic that has already been merged to 'master'.
      
      * nd/fetch-ref-summary:
        t5510: skip tests under GETTEXT_POISON build
      abbf7bd4
    • J
      Merge branch 'ew/git-svn-http-tests' · 612c3dfb
      Junio C Hamano 提交于
      Tests for "git svn" have been taught to reuse the lib-httpd test
      infrastructure when testing the subversion integration that
      interacts with subversion repositories served over the http://
      protocol.
      
      * ew/git-svn-http-tests:
        git svn: migrate tests to use lib-httpd
        t/t91*: do not say how to avoid the tests
      612c3dfb
    • J
      Merge branch 'js/t4130-rename-without-ino' · 3819fb9a
      Junio C Hamano 提交于
      Windows port was failing some tests in t4130, due to the lack of
      inum in the returned values by its lstat(2) emulation.
      
      * js/t4130-rename-without-ino:
        t4130: work around Windows limitation
      3819fb9a
  2. 06 8月, 2016 2 次提交
  3. 05 8月, 2016 6 次提交
    • J
      Tenth batch for 2.10 · c6b0597e
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c6b0597e
    • J
      Merge branch 'jc/grep-commandline-vs-configuration' · b422d996
      Junio C Hamano 提交于
      "git -c grep.patternType=extended log --basic-regexp" misbehaved
      because the internal API to access the grep machinery was not
      designed well.
      
      * jc/grep-commandline-vs-configuration:
        grep: further simplify setting the pattern type
      b422d996
    • J
      Merge branch 'sb/submodule-clone-retry' · 1e9a4856
      Junio C Hamano 提交于
      An earlier tweak to make "submodule update" retry a failing clone
      of submodules was buggy and caused segfault, which has been fixed.
      
      * sb/submodule-clone-retry:
        submodule-helper: fix indexing in clone retry error reporting path
        git-submodule: forward exit code of git-submodule--helper more faithfully
      1e9a4856
    • J
      Merge branch 'sb/pack-protocol-doc-nak' · 10881f07
      Junio C Hamano 提交于
      A doc update.
      
      * sb/pack-protocol-doc-nak:
        Documentation: pack-protocol correct NAK response
      10881f07
    • J
      nedmalloc: fix misleading indentation · 1e701059
      Johannes Schindelin 提交于
      Some code in nedmalloc is indented in a funny way that could be
      misinterpreted as if a line after a for loop was included in the loop
      body, when it is not.
      
      GCC 6 complains about this in DEVELOPER=YepSure mode.
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      1e701059
    • N
      t7063: work around FreeBSD's lazy mtime update feature · 6b7728db
      Nguyễn Thái Ngọc Duy 提交于
      Let's start with the commit message of [1] from freebsd.git [2]
      
          Sync timestamp changes for inodes of special files to disk as late
          as possible (when the inode is reclaimed).  Temporarily only do
          this if option UFS_LAZYMOD configured and softupdates aren't
          enabled.  UFS_LAZYMOD is intentionally left out of
          /sys/conf/options.
      
          This is mainly to avoid almost useless disk i/o on battery powered
          machines.  It's silly to write to disk (on the next sync or when
          the inode becomes inactive) just because someone hit a key or
          something wrote to the screen or /dev/null.
      
          PR:             5577 [3]
      
      The short version of that, in the context of t7063, is that when a
      directory is updated, its mtime may be updated later, not
      immediately. This can be shown with a simple command sequence
      
          date; sleep 1; touch abc; rm abc; sleep 10; ls -lTd .
      
      One would expect that the date shown in `ls` would be one second from
      `date`, but it's 10 seconds later. If we put another `ls -lTd .` in
      front of `sleep 10`, then the date of the last `ls` comes as
      expected. The first `ls` somehow forces mtime to be updated.
      
      t7063 is really sensitive to directory mtime. When mtime is too "new",
      git code suspects racy timestamps and will not trigger the shortcut in
      untracked cache, in t7063.24 and eventually be detected in t7063.27
      
      We have two options thanks to this special FreeBSD feature:
      
      1) Stop supporting untracked cache on FreeBSD. Skip t7063 entirely
         when running on FreeBSD
      
      2) Work around this problem (using the same 'ls' trick) and continue
         to support untracked cache on FreeBSD
      
      I initially wanted to go with 1) because I didn't know the exact
      nature of this feature and feared that it would make untracked cache
      work unreliably, using the cached version when it should not.
      
      Since the behavior of this thing is clearer now. The picture is not
      that bad. If this indeed happens often, untracked cache would assume
      racy condition more often and _fall back_ to non-untracked cache code
      paths. Which means it may be less effective, but it will not show
      wrong things.
      
      This patch goes with option 2.
      
      PS. For those who want to look further in FreeBSD source code, this
      flag is now called IN_LAZYMOD. I can see it's effective in ext2 and
      ufs. zfs is not affected.
      
      [1] 660e6408e6df99a20dacb070c5e7f9739efdf96d
      [2] git://github.com/freebsd/freebsd.git
      [3] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=5577Reported-by: NEric Wong <e@80x24.org>
      Signed-off-by: NNguyễn Thái Ngọc Duy <pclouds@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6b7728db
  4. 04 8月, 2016 13 次提交
    • J
      Ninth batch of topics for 2.10 · 80460f51
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      80460f51
    • J
      Merge branch 'jk/diff-do-not-reuse-wtf-needs-cleaning' · 767da54b
      Junio C Hamano 提交于
      There is an optimization used in "git diff $treeA $treeB" to borrow
      an already checked-out copy in the working tree when it is known to
      be the same as the blob being compared, expecting that open/mmap of
      such a file is faster than reading it from the object store, which
      involves inflating and applying delta.  This however kicked in even
      when the checked-out copy needs to go through the convert-to-git
      conversion (including the clean filter), which defeats the whole
      point of the optimization.  The optimization has been disabled when
      the conversion is necessary.
      
      * jk/diff-do-not-reuse-wtf-needs-cleaning:
        diff: do not reuse worktree files that need "clean" conversion
      767da54b
    • J
      Merge branch 'rs/submodule-config-code-cleanup' · f4fa8a9b
      Junio C Hamano 提交于
      Code cleanup.
      
      * rs/submodule-config-code-cleanup:
        submodule-config: fix test binary crashing when no arguments given
        submodule-config: combine early return code into one goto
        submodule-config: passing name reference for .gitmodule blobs
        submodule-config: use explicit empty string instead of strbuf in config_from()
      f4fa8a9b
    • J
      Merge branch 'jk/push-progress' · a58a8e3f
      Junio C Hamano 提交于
      "git push" and "git clone" learned to give better progress meters
      to the end user who is waiting on the terminal.
      
      * jk/push-progress:
        receive-pack: send keepalives during quiet periods
        receive-pack: turn on connectivity progress
        receive-pack: relay connectivity errors to sideband
        receive-pack: turn on index-pack resolving progress
        index-pack: add flag for showing delta-resolution progress
        clone: use a real progress meter for connectivity check
        check_connected: add progress flag
        check_connected: relay errors to alternate descriptor
        check_everything_connected: use a struct with named options
        check_everything_connected: convert to argv_array
        rev-list: add optional progress reporting
        check_everything_connected: always pass --quiet to rev-list
      a58a8e3f
    • J
      Merge branch 'jt/fetch-large-handshake-window-on-http' · 67b3a5d4
      Junio C Hamano 提交于
      "git fetch" exchanges batched have/ack messages between the sender
      and the receiver, initially doubling every time and then falling
      back to enlarge the window size linearly.  The "smart http"
      transport, being an half-duplex protocol, outgrows the preset limit
      too quickly and becomes inefficient when interacting with a large
      repository.  The internal mechanism learned to grow the window size
      more aggressively when working with the "smart http" transport.
      
      * jt/fetch-large-handshake-window-on-http:
        fetch-pack: grow stateless RPC windows exponentially
      67b3a5d4
    • J
      Merge branch 'jk/git-jump' · 5569c01b
      Junio C Hamano 提交于
      "git jump" script (in contrib/) has been updated a bit.
      
      * jk/git-jump:
        contrib/git-jump: fix typo in README
        contrib/git-jump: add whitespace-checking mode
        contrib/git-jump: fix greedy regex when matching hunks
      5569c01b
    • J
      Merge branch 'mm/status-suggest-merge-abort' · 5a2f4d3e
      Junio C Hamano 提交于
      "git status" learned to suggest "merge --abort" during a conflicted
      merge, just like it already suggests "rebase --abort" during a
      conflicted rebase.
      
      * mm/status-suggest-merge-abort:
        status: suggest 'git merge --abort' when appropriate
      5a2f4d3e
    • J
      Merge branch 'jk/parse-options-concat' · d083d420
      Junio C Hamano 提交于
      Users of the parse_options_concat() API function need to allocate
      extra slots in advance and fill them with OPT_END() when they want
      to decide the set of supported options dynamically, which makes the
      code error-prone and hard to read.  This has been corrected by tweaking
      the API to allocate and return a new copy of "struct option" array.
      
      * jk/parse-options-concat:
        parse_options: allocate a new array when concatenating
      d083d420
    • J
      Merge branch 'sb/push-options' · cf27c799
      Junio C Hamano 提交于
      "git push" learned to accept and pass extra options to the
      receiving end so that hooks can read and react to them.
      
      * sb/push-options:
        add a test for push options
        push: accept push options
        receive-pack: implement advertising and receiving push options
        push options: {pre,post}-receive hook learns about push options
      cf27c799
    • J
      Merge branch 'ew/http-walker' · 4067a454
      Junio C Hamano 提交于
      Dumb http transport on the client side has been optimized.
      
      * ew/http-walker:
        list: avoid incompatibility with *BSD sys/queue.h
        http-walker: reduce O(n) ops with doubly-linked list
        http: avoid disconnecting on 404s for loose objects
        http-walker: remove unused parameter from fetch_object
      4067a454
    • J
      Merge branch 'pm/build-persistent-https-with-recent-go' · 6395499a
      Junio C Hamano 提交于
      The build procedure for "git persistent-https" helper (in contrib/)
      has been updated so that it can be built with more recent versions
      of Go.
      
      * pm/build-persistent-https-with-recent-go:
        contrib/persistent-https: use Git version for build label
        contrib/persistent-https: update ldflags syntax for Go 1.7+
      6395499a
    • J
      Merge branch 'da/subtree-2.9-regression' · c0728edf
      Junio C Hamano 提交于
      "git merge" in Git v2.9 was taught to forbid merging an unrelated
      lines of history by default, but that is exactly the kind of thing
      the "--rejoin" mode of "git subtree" (in contrib/) wants to do.
      "git subtree" has been taught to use the "--allow-unrelated-histories"
      option to override the default.
      
      * da/subtree-2.9-regression:
        subtree: fix "git subtree split --rejoin"
        t7900-subtree.sh: fix quoting and broken && chains
      c0728edf
    • J
      Merge branch 'os/no-verify-skips-commit-msg-too' · a3503124
      Junio C Hamano 提交于
      "git commit --help" said "--no-verify" is only about skipping the
      pre-commit hook, and failed to say that it also skipped the
      commit-msg hook.
      
      * os/no-verify-skips-commit-msg-too:
        commit: describe that --no-verify skips the commit-msg hook in the help text
      a3503124
  5. 03 8月, 2016 1 次提交
    • J
      t4130: work around Windows limitation · 54956df9
      Johannes Sixt 提交于
      On Windows, it is already pretty expensive to try to recreate the stat()
      data that Git assumes is cheap to obtain. To make things halfway decent
      in performance, we even have to skip emulating the inode and to
      determine the number of hard links.
      
      This is not a huge problem, usually, as either the size or the mtime or
      the ctime are tell-tale enough to say when a file has changed, and even
      if not, those changes are typically made after the index file was
      written, triggering a rehashing of the files' contents.
      
      The t4130-apply-criss-cross-rename test case, however, requires the
      inode to determine that files of equal size were swapped, as renaming
      files does not update their mtime. Every once in a while, t4130 fails
      on Windows because of this missing piece.
      
      Equal file sizes are not crucial for the test cases, however. Hence,
      generate files with different sizes so that there is some property that
      the swapped files can be discovered reliably even on Windows.
      Helped-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NJohannes Sixt <j6t@kdbg.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      54956df9