1. 27 8月, 2016 1 次提交
  2. 26 8月, 2016 7 次提交
    • J
      Prepare for 2.10.0-rc2 · 5cb0d5ad
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      5cb0d5ad
    • J
      Merge branch 'ja/i18n' · 0fd6c99b
      Junio C Hamano 提交于
      The recent i18n patch we added during this cycle did a bit too much
      refactoring of the messages to avoid word-legos; the repetition has
      been reduced to help translators.
      
      * ja/i18n:
        i18n: simplify numeric error reporting
        i18n: fix git rebase interactive commit messages
        i18n: fix typos for translation
      0fd6c99b
    • J
      Merge branch 'bw/mingw-avoid-inheriting-fd-to-lockfile' · 3dc01702
      Junio C Hamano 提交于
      The tempfile (hence its user lockfile) API lets the caller to open
      a file descriptor to a temporary file, write into it and then
      finalize it by first closing the filehandle and then either
      removing or renaming the temporary file.  When the process spawns a
      subprocess after obtaining the file descriptor, and if the
      subprocess has not exited when the attempt to remove or rename is
      made, the last step fails on Windows, because the subprocess has
      the file descriptor still open.  Open tempfile with O_CLOEXEC flag
      to avoid this (on Windows, this is mapped to O_NOINHERIT).
      
      * bw/mingw-avoid-inheriting-fd-to-lockfile:
        mingw: ensure temporary file handles are not inherited by child processes
        t6026-merge-attr: child processes must not inherit index.lock handles
      3dc01702
    • J
      Merge branch 'dg/document-git-c-in-git-config-doc' · a8998453
      Junio C Hamano 提交于
      The "git -c var[=val] cmd" facility to append a configuration
      variable definition at the end of the search order was described in
      git(1) manual page, but not in git-config(1), which was more likely
      place for people to look for when they ask "can I make a one-shot
      override, and if so how?"
      
      * dg/document-git-c-in-git-config-doc:
        doc: mention `git -c` in git-config(1)
      a8998453
    • J
      Merge branch 'js/no-html-bypass-on-windows' · 13e11ff7
      Junio C Hamano 提交于
      On Windows, help.browser configuration variable used to be ignored,
      which has been corrected.
      
      * js/no-html-bypass-on-windows:
        Revert "display HTML in default browser using Windows' shell API"
      13e11ff7
    • J
      Merge branch 'hv/doc-commit-reference-style' · a1f0b4e2
      Junio C Hamano 提交于
      A small doc update.
      
      * hv/doc-commit-reference-style:
        SubmittingPatches: document how to reference previous commits
      a1f0b4e2
    • T
      git ls-files: text=auto eol=lf is supported in Git 2.10 · 41a616da
      Torsten Bögershausen 提交于
      The man page for `git ls-files --eol` mentions the combination
      of text attributes "text=auto eol=lf" or "text=auto eol=crlf" as not
      supported yet, but may be in the future.
      
      Now they are supported.
      Signed-off-by: NTorsten Bögershausen <tboegi@web.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      41a616da
  3. 24 8月, 2016 5 次提交
  4. 20 8月, 2016 8 次提交
    • J
      Git 2.10-rc1 · 2632c897
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      2632c897
    • J
      Merge branch 'lt/gpg-show-long-key-in-signature-verification' · 83d9eb0a
      Junio C Hamano 提交于
      "git log --show-signature" and other commands that display the
      verification status of PGP signature now shows the longer key-id,
      as 32-bit key-id is so last century.
      
      * lt/gpg-show-long-key-in-signature-verification:
        gpg-interface: prefer "long" key format output when verifying pgp signatures
      83d9eb0a
    • J
      Merge branch 'ab/hooks' · d05d0e99
      Junio C Hamano 提交于
      "git rev-parse --git-path hooks/<hook>" learned to take
      core.hooksPath configuration variable (introduced during 2.9 cycle)
      into account.
      
      * ab/hooks:
        rev-parse: respect core.hooksPath in --git-path
      d05d0e99
    • J
      Merge branch 'jk/difftool-command-not-found' · 331f06d6
      Junio C Hamano 提交于
      "git difftool" by default ignores the error exit from the backend
      commands it spawns, because often they signal that they found
      differences by exiting with a non-zero status code just like "diff"
      does; the exit status codes 126 and above however are special in
      that they are used to signal that the command is not executable,
      does not exist, or killed by a signal.  "git difftool" has been
      taught to notice these exit status codes.
      
      * jk/difftool-command-not-found:
        difftool: always honor fatal error exit codes
      331f06d6
    • J
      Merge branch 'sb/checkout-explit-detach-no-advice' · e6dab9f6
      Junio C Hamano 提交于
      "git checkout --detach <branch>" used to give the same advice
      message as that is issued when "git checkout <tag>" (or anything
      that is not a branch name) is given, but asking with "--detach" is
      an explicit enough sign that the user knows what is going on.  The
      advice message has been squelched in this case.
      
      * sb/checkout-explit-detach-no-advice:
        checkout: do not mention detach advice for explicit --detach option
      e6dab9f6
    • J
      Merge branch 'tb/t0027-raciness-fix' · 643b6221
      Junio C Hamano 提交于
      The t0027 test for CRLF conversion was timing dependent and flaky.
      
      * tb/t0027-raciness-fix:
        convert: Correct NNO tests and missing `LF will be replaced by CRLF`
      643b6221
    • J
      Merge branch 'rs/pull-signed-tag' · aeb1b7f5
      Junio C Hamano 提交于
      When "git merge-recursive" works on history with many criss-cross
      merges in "verbose" mode, the names the command assigns to the
      virtual merge bases could have overwritten each other by unintended
      reuse of the same piece of memory.
      
      * rs/pull-signed-tag:
        commit: use FLEX_ARRAY in struct merge_remote_desc
        merge-recursive: fix verbose output for multiple base trees
        commit: factor out set_merge_remote_desc()
        commit: use xstrdup() in get_merge_parent()
      aeb1b7f5
    • J
      Revert "display HTML in default browser using Windows' shell API" · 6db5967d
      Johannes Schindelin 提交于
      Since 4804aabc (help (Windows): Display HTML in default browser using
      Windows' shell API, 2008-07-13), Git for Windows used to call
      `ShellExecute()` to launch the default Windows handler for `.html`
      files.
      
      The idea was to avoid going through a shell script, for performance
      reasons.
      
      However, this change ignores the `help.browser` config setting. Together
      with browsing help not being a performance-critical operation, let's
      just revert that patch.
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6db5967d
  5. 19 8月, 2016 1 次提交
    • B
      t6026-merge-attr: child processes must not inherit index.lock handles · ad65f7e3
      Ben Wijen 提交于
      On Windows, a file cannot be removed unless all file handles to it have
      been released. Hence it is particularly important to close handles when
      spawning children (which would probably not even know that they hold on
      to those handles).
      
      The example chosen for this test is a custom merge driver that indeed
      has no idea that it blocks the deletion of index.lock. The full use case
      is a daemon that lives on after the merge, with subsequent invocations
      handing off to the daemon, thereby avoiding hefty start-up costs. We
      simulate this behavior by simply sleeping one second.
      
      Note that the test only fails on Windows, due to the file locking issue.
      Since we have no way to say "expect failure with MINGW, success
      otherwise", we simply skip this test on Windows for now.
      Signed-off-by: NBen Wijen <ben@wijen.net>
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      ad65f7e3
  6. 18 8月, 2016 9 次提交
  7. 17 8月, 2016 4 次提交
    • J
      Merge branch 'lt/gpg-show-long-key-in-signature-verification-maint' into... · af2b21ec
      Junio C Hamano 提交于
      Merge branch 'lt/gpg-show-long-key-in-signature-verification-maint' into lt/gpg-show-long-key-in-signature-verification
      
      Linus's original was rebased to apply to the maintenance track just
      in case binary distributors that are stuck in the past want to take
      it to their older codebase.  Let's merge it up to more modern
      codebase that has Peff's gpg-interface clean-up topic that appeared
      after Git 2.9 was tagged.
      
      * lt/gpg-show-long-key-in-signature-verification-maint:
        gpg-interface: prefer "long" key format output when verifying pgp signatures
      af2b21ec
    • L
      gpg-interface: prefer "long" key format output when verifying pgp signatures · b624a3e6
      Linus Torvalds 提交于
      Yes, gpg2 already uses the long format by default, but most
      distributions seem to still have "gpg" be the older 1.x version due to
      compatibility reasons.  And older versions of gpg only show the 32-bit
      short ID, which is quite insecure.
      
      This doesn't actually matter for the _verification_ itself: if the
      verification passes, the pgp signature is good.  But if you don't
      actually have the key yet, and want to fetch it, or you want to check
      exactly which key was used for verification and want to check it, we
      should specify the key with more precision.
      
      In fact, we should preferentially specify the whole key fingerprint, but
      gpg doesn't actually support that.  Which is really quite sad.
      
      Showing the "long" format improves things to at least show 64 bits of
      the fingerprint.  That's a lot better, even if it's not perfect.
      
      This change the log format for "git log --show-signature" from
      
          commit 2376d317
          merged tag 'v2.9.3'
          gpg: Signature made Fri 12 Aug 2016 09:17:59 AM PDT using RSA key ID 96AFE6CB
          gpg: Good signature from "Junio C Hamano <gitster@pobox.com>"
          gpg:                 aka "Junio C Hamano <jch@google.com>"
          gpg:                 aka "Junio C Hamano <junio@pobox.com>"
          Merge: 2807cd7b e0c1ceaf
          Author: Junio C Hamano <gitster@pobox.com>
          Date:   Fri Aug 12 10:02:18 2016 -0700
      
      to
      
          commit 2376d317
          merged tag 'v2.9.3'
          gpg: Signature made Fri 12 Aug 2016 09:17:59 AM PDT
          gpg:                using RSA key B0B5E88696AFE6CB
          gpg: Good signature from "Junio C Hamano <gitster@pobox.com>"
          gpg:                 aka "Junio C Hamano <jch@google.com>"
          gpg:                 aka "Junio C Hamano <junio@pobox.com>"
          Merge: 2807cd7b e0c1ceaf
          Author: Junio C Hamano <gitster@pobox.com>
          Date:   Fri Aug 12 10:02:18 2016 -0700
      
      (note the longer key ID, but also the reflowing of the text) and also
      changes the format in the merge messages when merging a signed
      tag.
      
      If you already use gpg2 (either because it's installed by default, or
      because you have set your gpg_program configuration to point to gpg2),
      that already used the long format, you'll also see a change: it will now
      have the same formatting as gpg 1.x, and the verification string looks
      something like
      
          gpg: Signature made Sun 24 Jul 2016 12:24:02 PM PDT
          gpg:                using RSA key 79BE3E4300411886
          gpg: Good signature from "Linus Torvalds <torvalds@linux-foundation.org>" [ultimate]
      
      where it used to be on one line:
      
          gpg: Signature made Sun 24 Jul 2016 12:24:02 PM PDT using RSA key ID 79BE3E4300411886
          gpg: Good signature from "Linus Torvalds <torvalds@linux-foundation.org>" [ultimate]
      
      so there is certainly a chance this could break some automated scripting.
      But the 32-bit key ID's really are broken. Also note that because of the
      differences between gpg-1.x and gpg-2.x, hopefully any scripted key ID
      parsing code (if such code exists) is already flexible enough to not care.
      
      This was triggered by the fact that the "evil32" project keys ended up
      leaking to the public key servers, so now there are 32-bit aliases for
      just about every open source developer that you can easily get by
      mistake if you use the 32-bit short ID format.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      b624a3e6
    • J
      rev-parse: respect core.hooksPath in --git-path · 9445b492
      Johannes Schindelin 提交于
      The idea of the --git-path option is not only to avoid having to
      prefix paths with the output of --git-dir all the time, but also to
      respect overrides for specific common paths inside the .git directory
      (e.g. `git rev-parse --git-path objects` will report the value of the
      environment variable GIT_OBJECT_DIRECTORY, if set).
      
      When introducing the core.hooksPath setting, we forgot to adjust
      git_path() accordingly. This patch fixes that.
      
      While at it, revert the special-casing of core.hooksPath in
      run-command.c, as it is now no longer needed.
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      9445b492
    • J
      t/Makefile: ensure that paths are valid on platforms we care · c2cafd39
      Johannes Schindelin 提交于
      Some pathnames that are okay on ext4 and on HFS+ cannot be checked
      out on Windows. Tests that want to see operations on such paths on
      filesystems that support them must do so behind appropriate test
      prerequisites, and must not include them in the source tree (instead
      they should create them when they run). Otherwise, the source tree
      cannot even be checked out.
      
      Make sure that double-quotes, asterisk, colon, greater/less-than,
      question-mark, backslash, tab, vertical-bar, as well as any non-ASCII
      characters never appear in the pathnames with a new test-lint-* target
      as part of a `make test`. To that end, we call `git ls-files` (ensuring
      that the paths are quoted properly), relying on the fact that paths
      containing non-ASCII characters are quoted within double-quotes.
      
      In case that the source code does not actually live in a Git
      repository (e.g. when extracted from a .zip file), or that the `git`
      executable cannot be executed, we simply ignore the error for now; In
      that case, our trusty Continuous Integration will be the last line of
      defense and catch any problematic file name.
      
      Noticed when a topic wanted to add a pathname with '>' in it.  A
      check like this will prevent a similar problems from happening in the
      future.
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c2cafd39
  8. 16 8月, 2016 4 次提交
  9. 15 8月, 2016 1 次提交