1. 04 9月, 2015 11 次提交
    • J
      Merge branch 'as/docfix-reflog-expire-unreachable' into maint · c1fa16b1
      Junio C Hamano 提交于
      Docfix.
      
      * as/docfix-reflog-expire-unreachable:
        Documentation/config: fix inconsistent label on gc.*.reflogExpireUnreachable
      c1fa16b1
    • J
      Merge branch 'nd/fixup-linked-gitdir' into maint · d6c196ab
      Junio C Hamano 提交于
      The code in "multiple-worktree" support that attempted to recover
      from an inconsistent state updated an incorrect file.
      
      * nd/fixup-linked-gitdir:
        setup: update the right file in multiple checkouts
      d6c196ab
    • J
      Merge branch 'jk/rev-list-has-no-notes' into maint · e654e3b5
      Junio C Hamano 提交于
      "git rev-list" does not take "--notes" option, but did not complain
      when one is given.
      
      * jk/rev-list-has-no-notes:
        rev-list: make it obvious that we do not support notes
      e654e3b5
    • J
      Merge branch 'jk/fix-alias-pager-config-key-warnings' into maint · fa6d3749
      Junio C Hamano 提交于
      Because the configuration system does not allow "alias.0foo" and
      "pager.0foo" as the configuration key, the user cannot use '0foo'
      as a custom command name anyway, but "git 0foo" tried to look these
      keys up and emitted useless warnings before saying '0foo is not a
      git command'.  These warning messages have been squelched.
      
      * jk/fix-alias-pager-config-key-warnings:
        config: silence warnings for command names with invalid keys
      fa6d3749
    • J
      Merge branch 'nd/dwim-wildcards-as-pathspecs' into maint · 0b2cef28
      Junio C Hamano 提交于
      Test updates for Windows.
      
      * nd/dwim-wildcards-as-pathspecs:
        t2019: skip test requiring '*' in a file name non Windows
      0b2cef28
    • J
      Merge branch 'sg/help-group' into maint · 969560bd
      Junio C Hamano 提交于
      We rewrote one of the build scripts in Perl but this reimplements
      in Bourne shell.
      
      * sg/help-group:
        generate-cmdlist: re-implement as shell script
      969560bd
    • J
      Merge branch 'ps/t1509-chroot-test-fixup' into maint · d11448f6
      Junio C Hamano 提交于
      t1509 test that requires a dedicated VM environment had some
      bitrot, which has been corrected.
      
      * ps/t1509-chroot-test-fixup:
        tests: fix cleanup after tests in t1509-root-worktree
        tests: fix broken && chains in t1509-root-worktree
      d11448f6
    • J
      Merge branch 'jh/strbuf-read-use-read-in-full' into maint · 8b270710
      Junio C Hamano 提交于
      strbuf_read() used to have one extra iteration (and an unnecessary
      strbuf_grow() of 8kB), which was eliminated.
      
      * jh/strbuf-read-use-read-in-full:
        strbuf_read(): skip unnecessary strbuf_grow() at eof
      8b270710
    • J
      Merge branch 'jk/long-error-messages' into maint · 6c0850f2
      Junio C Hamano 提交于
      The codepath to produce error messages had a hard-coded limit to
      the size of the message, primarily to avoid memory allocation while
      calling die().
      
      * jk/long-error-messages:
        vreportf: avoid intermediate buffer
        vreportf: report to arbitrary filehandles
      6c0850f2
    • J
      Merge branch 'cb/open-noatime-clear-errno' into maint · cbcd3dca
      Junio C Hamano 提交于
      When trying to see that an object does not exist, a state errno
      leaked from our "first try to open a packfile with O_NOATIME and
      then if it fails retry without it" logic on a system that refuses
      O_NOATIME.  This confused us and caused us to die, saying that the
      packfile is unreadable, when we should have just reported that the
      object does not exist in that packfile to the caller.
      
      * cb/open-noatime-clear-errno:
        git_open_noatime: return with errno=0 on success
      cbcd3dca
    • J
      Merge branch 'mh/get-remote-group-fix' into maint · 03ea0277
      Junio C Hamano 提交于
      An off-by-one error made "git remote" to mishandle a remote with a
      single letter nickname.
      
      * mh/get-remote-group-fix:
        get_remote_group(): use skip_prefix()
        get_remote_group(): eliminate superfluous call to strcspn()
        get_remote_group(): rename local variable "space" to "wordlen"
        get_remote_group(): handle remotes with single-character names
      03ea0277
  2. 29 8月, 2015 2 次提交
  3. 26 8月, 2015 7 次提交
    • J
      Merge branch 'jk/guess-repo-name-regression-fix' into maint · 52f6893d
      Junio C Hamano 提交于
      "git clone $URL" in recent releases of Git contains a regression in
      the code that invents a new repository name incorrectly based on
      the $URL.  This has been corrected.
      
      * jk/guess-repo-name-regression-fix:
        clone: use computed length in guess_dir_name
        clone: add tests for output directory
      52f6893d
    • J
      Merge branch 'jk/test-with-x' into maint · 84deb3ea
      Junio C Hamano 提交于
      Running tests with the "-x" option to make them verbose had some
      unpleasant interactions with other features of the test suite.
      
      * jk/test-with-x:
        test-lib: disable trace when test is not verbose
        test-lib: turn off "-x" tracing during chain-lint check
      84deb3ea
    • J
      Merge branch 'sb/check-return-from-read-ref' into maint · 7a238074
      Junio C Hamano 提交于
      * sb/check-return-from-read-ref:
        transport-helper: die on errors reading refs.
      7a238074
    • J
      Merge branch 'mm/pull-upload-pack' into maint · 425a4c77
      Junio C Hamano 提交于
      "git pull" in recent releases of Git has a regression in the code
      that allows custom path to the --upload-pack=<program>.  This has
      been corrected.
      
      Note that this is irrelevant for 'master' with "git pull" rewritten
      in C.
      
      * mm/pull-upload-pack:
        pull: pass upload_pack only when it was given
        pull.sh: quote $upload_pack when passing it to git-fetch
      425a4c77
    • J
      pull: pass upload_pack only when it was given · 13e0e28f
      Junio C Hamano 提交于
      The upload_pack shell variable is initialized to an empty string, so
      conditional expansion with ${upload_pack+"$upload_pack"} would not
      work very well.  You need a colon there.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      13e0e28f
    • E
      generate-cmdlist: re-implement as shell script · 82aec45b
      Eric Sunshine 提交于
      527ec398 (generate-cmdlist: parse common group commands, 2015-05-21)
      replaced generate-cmdlist.sh with a more functional Perl version,
      generate-cmdlist.perl. The Perl version gleans named tags from a new
      "common groups" section in command-list.txt and recognizes those
      tags in "command list" section entries in place of the old 'common'
      tag. This allows git-help to, not only recognize, but also group
      common commands.
      
      Although the tests require Perl, 527ec398 creates an unconditional
      dependence upon Perl in the build system itself, which can not be
      overridden with NO_PERL. Such a dependency may be undesirable; for
      instance, the 'git-lite' package in the FreeBSD ports tree is
      intended as a minimal Git installation (which may, for example, be
      useful on servers needing only local clone and update capability),
      which, historically, has not depended upon Perl[1].
      
      Therefore, revive generate-cmdlist.sh and extend it to recognize
      "common groups" and its named tags. Retire generate-cmdlist.perl.
      
      [1]: http://thread.gmane.org/gmane.comp.version-control.git/275905/focus=276132Signed-off-by: NEric Sunshine <sunshine@sunshineco.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      82aec45b
    • N
      setup: update the right file in multiple checkouts · 82fde87f
      Nguyễn Thái Ngọc Duy 提交于
      This code is introduced in 23af91d1 (prune: strategies for linked
      checkouts - 2014-11-30), and it's supposed to implement this rule from
      that commit's message:
      
       - linked checkouts are supposed to keep its location in $R/gitdir up
         to date. The use case is auto fixup after a manual checkout move.
      
      Note the name, "$R/gitdir", not "$R/gitfile". Correct the path to be
      updated accordingly.
      
      While at there, make sure I/O errors are not silently dropped.
      Signed-off-by: NNguyễn Thái Ngọc Duy <pclouds@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      82fde87f
  4. 25 8月, 2015 1 次提交
    • J
      rev-list: make it obvious that we do not support notes · 2aea7a51
      Jeff King 提交于
      The rev-list command does not have the internal
      infrastructure to display notes. Running:
      
        git rev-list --notes HEAD
      
      will silently ignore the "--notes" option. Running:
      
        git rev-list --notes --grep=. HEAD
      
      will crash on an assert. Running:
      
        git rev-list --format=%N HEAD
      
      will place a literal "%N" in the output (it does not even
      expand to an empty string).
      
      Let's have rev-list tell the user that it cannot fill the
      user's request, rather than silently producing wrong data.
      Likewise, let's remove mention of the notes options from the
      rev-list documentation.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      2aea7a51
  5. 24 8月, 2015 1 次提交
    • J
      config: silence warnings for command names with invalid keys · 9e9de18f
      Jeff King 提交于
      When we are running the git command "foo", we may have to
      look up the config keys "pager.foo" and "alias.foo". These
      config schemes are mis-designed, as the command names can be
      anything, but the config syntax has some restrictions. For
      example:
      
        $ git foo_bar
        error: invalid key: pager.foo_bar
        error: invalid key: alias.foo_bar
        git: 'foo_bar' is not a git command. See 'git --help'.
      
      You cannot name an alias with an underscore. And if you have
      an external command with one, you cannot configure its
      pager.
      
      In the long run, we may develop a different config scheme
      for these features. But in the near term (and because we'll
      need to support the existing scheme indefinitely), we should
      at least squelch the error messages shown above.
      
      These errors come from git_config_parse_key. Ideally we
      would pass a "quiet" flag to the config machinery, but there
      are many layers between the pager code and the key parsing.
      Passing a flag through all of those would be an invasive
      change.
      
      Instead, let's provide a config function to report on
      whether a key is syntactically valid, and have the pager and
      alias code skip lookup for bogus keys. We can build this
      easily around the existing git_config_parse_key, with two
      minor modifications:
      
        1. We now handle a NULL store_key, to validate but not
           write out the normalized key.
      
        2. We accept a "quiet" flag to avoid writing to stderr.
           This doesn't need to be a full-blown public "flags"
           field, because we can make the existing implementation
           a static helper function, keeping the mess contained
           inside config.c.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      9e9de18f
  6. 22 8月, 2015 1 次提交
  7. 20 8月, 2015 15 次提交
  8. 13 8月, 2015 1 次提交
    • C
      git_open_noatime: return with errno=0 on success · dff6f280
      Clemens Buchacher 提交于
      In read_sha1_file_extended we die if read_object fails with a fatal
      error. We detect a fatal error if errno is non-zero and is not
      ENOENT. If the object could not be read because it does not exist,
      this is not considered a fatal error and we want to return NULL.
      
      Somewhere down the line, read_object calls git_open_noatime to open
      a pack index file, for example. We first try open with O_NOATIME.
      If O_NOATIME fails with EPERM, we retry without O_NOATIME. When the
      second open succeeds, errno is however still set to EPERM from the
      first attempt. When we finally determine that the object does not
      exist, read_object returns NULL and read_sha1_file_extended dies
      with a fatal error:
      
          fatal: failed to read object <sha1>: Operation not permitted
      
      Fix this by resetting errno to zero before we call open again.
      
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NClemens Buchacher <clemens.buchacher@intel.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      dff6f280
  9. 12 8月, 2015 1 次提交