1. 20 12月, 2016 15 次提交
    • J
      Merge branch 'jk/trailers-placeholder-in-pretty' · f008159f
      Junio C Hamano 提交于
      In addition to %(subject), %(body), "log --pretty=format:..."
      learned a new placeholder %(trailers).
      
      * jk/trailers-placeholder-in-pretty:
        ref-filter: add support to display trailers as part of contents
        pretty: add %(trailers) format for displaying trailers of a commit message
      f008159f
    • J
      Merge branch 'ak/commit-only-allow-empty' · 3aead1ca
      Junio C Hamano 提交于
      "git commit --allow-empty --only" (no pathspec) with dirty index
      ought to be an acceptable way to create a new commit that does not
      change any paths, but it was forbidden, perhaps because nobody
      needed it so far.
      
      * ak/commit-only-allow-empty:
        commit: remove 'Clever' message for --only --amend
        commit: make --only --allow-empty work without paths
      3aead1ca
    • J
      Merge branch 'da/difftool-dir-diff-fix' · afe0e2a3
      Junio C Hamano 提交于
      "git difftool --dir-diff" had a minor regression when started from
      a subdirectory, which has been fixed.
      
      * da/difftool-dir-diff-fix:
        difftool: fix dir-diff index creation when in a subdirectory
      afe0e2a3
    • J
      Merge branch 'jb/diff-no-index-no-abbrev' · c89606fa
      Junio C Hamano 提交于
      "git diff --no-index" did not take "--no-abbrev" option.
      
      * jb/diff-no-index-no-abbrev:
        diff: handle --no-abbrev in no-index case
      c89606fa
    • J
      Merge branch 'rj/git-version-gen-do-not-force-abbrev' · 0a45050a
      Junio C Hamano 提交于
      A minor build update.
      
      * rj/git-version-gen-do-not-force-abbrev:
        GIT-VERSION-GEN: do not force abbreviation length used by 'describe'
      0a45050a
    • J
      Merge branch 'jk/stash-disable-renames-internally' · db09f21b
      Junio C Hamano 提交于
      When diff.renames configuration is on (and with Git 2.9 and later,
      it is enabled by default, which made it worse), "git stash"
      misbehaved if a file is removed and another file with a very
      similar content is added.
      
      * jk/stash-disable-renames-internally:
        stash: prefer plumbing over git-diff
      db09f21b
    • J
      Merge branch 'jk/http-walker-limit-redirect' · da72ee87
      Junio C Hamano 提交于
      Update the error messages from the dumb-http client when it fails
      to obtain loose objects; we used to give sensible error message
      only upon 404 but we now forbid unexpected redirects that needs to
      be reported with something sensible.
      
      * jk/http-walker-limit-redirect:
        http-walker: complain about non-404 loose object errors
      da72ee87
    • J
      Merge branch 'jk/http-walker-limit-redirect-2.9' · 8a2882f2
      Junio C Hamano 提交于
      Transport with dumb http can be fooled into following foreign URLs
      that the end user does not intend to, especially with the server
      side redirects and http-alternates mechanism, which can lead to
      security issues.  Tighten the redirection and make it more obvious
      to the end user when it happens.
      
      * jk/http-walker-limit-redirect-2.9:
        http: treat http-alternates like redirects
        http: make redirects more obvious
        remote-curl: rename shadowed options variable
        http: always update the base URL for redirects
        http: simplify update_url_from_redirect
      8a2882f2
    • J
      Merge branch 'nd/for-each-ref-ignore-case' · 73e494f8
      Junio C Hamano 提交于
      "git branch --list" and friends learned "--ignore-case" option to
      optionally sort branches and tags case insensitively.
      
      * nd/for-each-ref-ignore-case:
        tag, branch, for-each-ref: add --ignore-case for sorting and filtering
      73e494f8
    • J
      Merge branch 'sb/unpack-trees-grammofix' · 0f30315b
      Junio C Hamano 提交于
      * sb/unpack-trees-grammofix:
        unpack-trees: fix grammar for untracked files in directories
      0f30315b
    • J
      Merge branch 'ls/travis-update-p4-and-lfs' · b08c812f
      Junio C Hamano 提交于
      The default Travis-CI configuration specifies newer P4 and GitLFS.
      
      * ls/travis-update-p4-and-lfs:
        travis-ci: update P4 to 16.2 and GitLFS to 1.5.2 in Linux build
      b08c812f
    • J
      Merge branch 'ls/t0021-fixup' · 63d6a9c9
      Junio C Hamano 提交于
      * ls/t0021-fixup:
        t0021: minor filter process test cleanup
      63d6a9c9
    • J
      Merge branch 'ah/grammos' · 02db2d04
      Junio C Hamano 提交于
      A few messages have been fixed for their grammatical errors.
      
      * ah/grammos:
        clone,fetch: explain the shallow-clone option a little more clearly
        receive-pack: improve English grammar of denyCurrentBranch message
        bisect: improve English grammar of not-ancestors message
      02db2d04
    • J
      Merge branch 'jc/renormalize-merge-kill-safer-crlf' · 1749053d
      Junio C Hamano 提交于
      Fix a corner case in merge-recursive regression that crept in
      during 2.10 development cycle.
      
      * jc/renormalize-merge-kill-safer-crlf:
        convert: git cherry-pick -Xrenormalize did not work
        merge-recursive: handle NULL in add_cacheinfo() correctly
        cherry-pick: demonstrate a segmentation fault
      1749053d
    • J
      Merge branch 'jt/use-trailer-api-in-commands' · 8b0db484
      Junio C Hamano 提交于
      Commands that operate on a log message and add lines to the trailer
      blocks, such as "format-patch -s", "cherry-pick (-x|-s)", and
      "commit -s", have been taught to use the logic of and share the
      code with "git interpret-trailer".
      
      * jt/use-trailer-api-in-commands:
        sequencer: use trailer's trailer layout
        trailer: have function to describe trailer layout
        trailer: avoid unnecessary splitting on lines
        commit: make ignore_non_trailer take buf/len
        trailer: be stricter in parsing separators
      8b0db484
  2. 17 12月, 2016 13 次提交
    • J
      First batch for 2.12 · eff96d7e
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      eff96d7e
    • J
      Merge branch 'ls/p4-retry-thrice' · 2a72b694
      Junio C Hamano 提交于
      * ls/p4-retry-thrice:
        git-p4: add config to retry p4 commands; retry 3 times by default
      2a72b694
    • J
      Merge branch 'ls/p4-empty-file-on-lfs' · 796bd3bb
      Junio C Hamano 提交于
      "git p4" LFS support was broken when LFS stores an empty blob.
      
      * ls/p4-empty-file-on-lfs:
        git-p4: fix empty file processing for large file system backend GitLFS
      796bd3bb
    • J
      Merge branch 'ld/p4-update-shelve' · 031b5a9a
      Junio C Hamano 提交于
      * ld/p4-update-shelve:
        git-p4: support updating an existing shelved changelist
      031b5a9a
    • J
      Merge branch 'vk/p4-submit-shelve' · 97c138fe
      Junio C Hamano 提交于
      * vk/p4-submit-shelve:
        git-p4: allow submit to create shelved changelists.
      97c138fe
    • J
      Merge branch 'da/mergetool-trust-exit-code' · c4a44e23
      Junio C Hamano 提交于
      mergetool.<tool>.trustExitCode configuration variable did not apply
      to built-in tools, but now it does.
      
      * da/mergetool-trust-exit-code:
        mergetools/vimdiff: trust Vim's exit code
        mergetool: honor mergetool.$tool.trustExitCode for built-in tools
      c4a44e23
    • J
      Merge branch 'ak/lazy-prereq-mktemp' · eb600866
      Junio C Hamano 提交于
      Test code clean-up.
      
      * ak/lazy-prereq-mktemp:
        t7610: clean up foo.XXXXXX tmpdir
      eb600866
    • J
      Merge branch 'nd/worktree-list-fixup' · 2cf8c905
      Junio C Hamano 提交于
      The output from "git worktree list" was made in readdir() order,
      and was unstable.
      
      * nd/worktree-list-fixup:
        worktree list: keep the list sorted
        worktree.c: get_worktrees() takes a new flag argument
        get_worktrees() must return main worktree as first item even on error
        worktree: reorder an if statement
        worktree.c: zero new 'struct worktree' on allocation
      2cf8c905
    • J
      Merge branch 'nd/qsort-in-merge-recursive' · 7e73488b
      Junio C Hamano 提交于
      Code simplification.
      
      * nd/qsort-in-merge-recursive:
        merge-recursive.c: use string_list_sort instead of qsort
      7e73488b
    • J
      Merge branch 'bw/push-dry-run' · 12cf1135
      Junio C Hamano 提交于
      "git push --dry-run --recurse-submodule=on-demand" wasn't
      "--dry-run" in the submodules.
      
      * bw/push-dry-run:
        push: fix --dry-run to not push submodules
        push: --dry-run updates submodules when --recurse-submodules=on-demand
      12cf1135
    • J
      Merge branch 'hv/submodule-not-yet-pushed-fix' · af952dac
      Junio C Hamano 提交于
      The code in "git push" to compute if any commit being pushed in the
      superproject binds a commit in a submodule that hasn't been pushed
      out was overly inefficient, making it unusable even for a small
      project that does not have any submodule but have a reasonable
      number of refs.
      
      * hv/submodule-not-yet-pushed-fix:
        submodule_needs_pushing(): explain the behaviour when we cannot answer
        batch check whether submodule needs pushing into one call
        serialize collection of refs that contain submodule changes
        serialize collection of changed submodules
      af952dac
    • J
      Merge branch 'dt/empty-submodule-in-merge' · a6161629
      Junio C Hamano 提交于
      An empty directory in a working tree that can simply be nuked used
      to interfere while merging or cherry-picking a change to create a
      submodule directory there, which has been fixed..
      
      * dt/empty-submodule-in-merge:
        submodules: allow empty working-tree dirs in merge/cherry-pick
      a6161629
    • J
      Merge branch 'jk/rev-parse-symbolic-parents-fix' · 598119d3
      Junio C Hamano 提交于
      "git rev-parse --symbolic" failed with a more recent notation like
      "HEAD^-1" and "HEAD^!".
      
      * jk/rev-parse-symbolic-parents-fix:
        rev-parse: fix parent shorthands with --symbolic
      598119d3
  3. 14 12月, 2016 3 次提交
  4. 13 12月, 2016 2 次提交
  5. 12 12月, 2016 3 次提交
  6. 10 12月, 2016 1 次提交
  7. 09 12月, 2016 2 次提交
    • J
      diff: handle --no-abbrev in no-index case · 43d1948b
      Jack Bates 提交于
      There are two different places where the --no-abbrev option is parsed,
      and two different places where SHA-1s are abbreviated. We normally parse
      --no-abbrev with setup_revisions(), but in the no-index case, "git diff"
      calls diff_opt_parse() directly, and diff_opt_parse() didn't handle
      --no-abbrev until now. (It did handle --abbrev, however.) We normally
      abbreviate SHA-1s with find_unique_abbrev(), but commit 4f03666a ("diff:
      handle sha1 abbreviations outside of repository, 2016-10-20) recently
      introduced a special case when you run "git diff" outside of a
      repository.
      
      setup_revisions() does also call diff_opt_parse(), but not for --abbrev
      or --no-abbrev, which it handles itself. setup_revisions() sets
      rev_info->abbrev, and later copies that to diff_options->abbrev. It
      handles --no-abbrev by setting abbrev to zero. (This change doesn't
      touch that.)
      
      Setting abbrev to zero was broken in the outside-of-a-repository special
      case, which until now resulted in a truly zero-length SHA-1, rather than
      taking zero to mean do not abbreviate. The only way to trigger this bug,
      however, was by running "git diff --raw" without either the --abbrev or
      --no-abbrev options, because 1) without --raw it doesn't respect abbrev
      (which is bizarre, but has been that way forever), 2) we silently clamp
      --abbrev=0 to MINIMUM_ABBREV, and 3) --no-abbrev wasn't handled until
      now.
      
      The outside-of-a-repository case is one of three no-index cases. The
      other two are when one of the files you're comparing is outside of the
      repository you're in, and the --no-index option.
      Signed-off-by: NJack Bates <jack@nottheoilrig.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      43d1948b
    • D
      difftool: fix dir-diff index creation when in a subdirectory · 853e10c1
      David Aguilar 提交于
      9ec26e79 (difftool: fix argument handling in subdirs, 2016-07-18)
      corrected how path arguments are handled in a subdirectory, but
      it introduced a regression in how entries outside of the
      subdirectory are handled by dir-diff.
      
      When preparing the right-side of the diff we only include the
      changed paths in the temporary area.
      
      The left side of the diff is constructed from a temporary
      index that is built from the same set of changed files, but it
      was being constructed from within the subdirectory.  This is a
      problem because the indexed paths are toplevel-relative, and
      thus they were not getting added to the index.
      
      Teach difftool to chdir to the toplevel of the repository before
      preparing its temporary indexes.  This ensures that all of the
      toplevel-relative paths are valid.
      
      Add test cases to more thoroughly exercise this scenario.
      Reported-by: NFrank Becker <fb@mooflu.com>
      Signed-off-by: NDavid Aguilar <davvid@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      853e10c1
  8. 07 12月, 2016 1 次提交
    • J
      stash: prefer plumbing over git-diff · 9d4e28ea
      Jeff King 提交于
      When creating a stash, we need to look at the diff between
      the working tree and HEAD, and do so using the git-diff
      porcelain.  Because git-diff enables porcelain config like
      renames by default, this causes at least one problem. The
      --name-only format will not mention the source side of a
      rename, meaning we will fail to stash a deletion that is
      part of a rename.
      
      We could fix that case by passing --no-renames, but this is
      a symptom of a larger problem. We should be using the
      diff-index plumbing here, which does not have renames
      enabled by default, and also does not respect any
      potentially confusing config options.
      Reported-by: NMatthew Patey <matthew.patey2167@gmail.com>
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      9d4e28ea