1. 15 9月, 2012 3 次提交
  2. 13 9月, 2012 5 次提交
    • J
      Merge branch 'jc/apply-binary-p0' into maint-1.7.11 · 1403db49
      Junio C Hamano 提交于
      "git apply -p0" did not parse pathnames on "diff --git" line
      correctly.  This caused patches that had pathnames in no other
      places to be mistakenly rejected (most notably, binary patch that
      does not rename nor change mode).  Textual patches, renames or mode
      changes have preimage and postimage pathnames in different places in
      a form that can be parsed unambiguously and did not suffer from this
      problem.
      
      * jc/apply-binary-p0:
        apply: compute patch->def_name correctly under -p0
      1403db49
    • J
      Merge branch 'jc/dotdot-is-parent-directory' into maint-1.7.11 · eaff724b
      Junio C Hamano 提交于
      "git log .." errored out saying it is both rev range and a path when
      there is no disambiguating "--" is on the command line.  Update the
      command line parser to interpret ".." as a path in such a case.
      
      * jc/dotdot-is-parent-directory:
        specifying ranges: we did not mean to make ".." an empty set
      eaff724b
    • J
      Merge branch 'jc/maint-doc-checkout-b-always-takes-branch-name' into maint-1.7.11 · 1b8bc86b
      Junio C Hamano 提交于
      The synopsis said "checkout [-B branch]" to make it clear the
      branch name is a parameter to the option, but the heading for the
      option description was "-B::", not "-B branch::", making the
      documentation misleading.
      
      * jc/maint-doc-checkout-b-always-takes-branch-name:
        doc: "git checkout -b/-B/--orphan" always takes a branch name
      1b8bc86b
    • J
      Merge branch 'jk/maint-http-half-auth-push' into maint-1.7.11 · 7d9483c2
      Junio C Hamano 提交于
      Pushing to smart HTTP server with recent Git fails without having
      the username in the URL to force authentication, if the server is
      configured to allow GET anonymously, while requiring authentication
      for POST.
      
      * jk/maint-http-half-auth-push:
        http: prompt for credentials on failed POST
        http: factor out http error code handling
        t: test http access to "half-auth" repositories
        t: test basic smart-http authentication
        t/lib-httpd: recognize */smart/* repos as smart-http
        t/lib-httpd: only route auth/dumb to dumb repos
        t5550: factor out http auth setup
        t5550: put auth-required repo in auth/dumb
      7d9483c2
    • J
      Merge branch 'kk/maint-for-each-ref-multi-sort' into maint-1.7.11 · 92c830dd
      Junio C Hamano 提交于
      "git for-each-ref" did not honor multiple "--sort=<key>" arguments
      correctly.
      
      * kk/maint-for-each-ref-multi-sort:
        for-each-ref: Fix sort with multiple keys
        t6300: test sort with multiple keys
      92c830dd
  3. 12 9月, 2012 16 次提交
  4. 11 9月, 2012 10 次提交
    • J
      Almost 1.7.11.6 · 9a8eea96
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      9a8eea96
    • J
      Merge branch 'mg/rebase-i-onto-reflog-in-full' into maint-1.7.11 · 73eb89e7
      Junio C Hamano 提交于
      The reflog entries left by "git rebase" and "git rebase -i" were
      inconsistent (the interactive one gave an abbreviated object name).
      
      * mg/rebase-i-onto-reflog-in-full:
        rebase -i: use full onto sha1 in reflog
      73eb89e7
    • J
      Merge branch 'jc/maint-protect-sh-from-ifs' into maint-1.7.11 · 7cc51cfe
      Junio C Hamano 提交于
      When the user exports a non-default IFS without HT, scripts that
      rely on being able to parse "ls-files -s | while read a b c..."
      start to fail.  Protect them from such a misconfiguration.
      
      * jc/maint-protect-sh-from-ifs:
        sh-setup: protect from exported IFS
      7cc51cfe
    • J
      Merge branch 'bc/receive-pack-stdout-protection' into maint-1.7.11 · 3f664638
      Junio C Hamano 提交于
      When "git push" triggered the automatic gc on the receiving end, a
      message from "git prune" that said it was removing cruft leaked to
      the standard output, breaking the communication protocol.
      
      * bc/receive-pack-stdout-protection:
        receive-pack: do not leak output from auto-gc to standard output
        t/t5400: demonstrate breakage caused by informational message from prune
      3f664638
    • J
      Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 · 03adeeaa
      Junio C Hamano 提交于
      "git diff" had a confusion between taking data from a path in the
      working tree and taking data from an object that happens to have
      name 0{40} recorded in a tree.
      
      * jk/maint-null-in-trees:
        fsck: detect null sha1 in tree entries
        do not write null sha1s to on-disk index
        diff: do not use null sha1 as a sentinel value
      03adeeaa
    • J
      Merge branch 'tr/maint-send-email-2047' into maint-1.7.11 · 423a9e28
      Junio C Hamano 提交于
      "git send-email" did not unquote encoded words that appear on the
      header correctly, and lost "_" from strings.
      
      * tr/maint-send-email-2047:
        send-email: improve RFC2047 quote parsing
      423a9e28
    • J
      Merge branch 'mm/die-with-dashdash-help' into maint-1.7.11 · 5f9d8e35
      Junio C Hamano 提交于
      When the user gives an argument that can be taken as both a
      revision name and a pathname without disambiguating with "--", we
      used to give a help message "Use '--' to separate".  The message
      has been clarified to show where that '--' goes on the command
      line.
      
      * mm/die-with-dashdash-help:
        setup: clarify error messages for file/revisions ambiguity
      5f9d8e35
    • J
      Merge branch 'js/gitweb-path-info-unquote' into maint-1.7.11 · 3d4003bd
      Junio C Hamano 提交于
      "gitweb" when used with PATH_INFO failed to notice directories with
      SP (and other characters that need URL-style quoting) in them.
      
      * js/gitweb-path-info-unquote:
        gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO
      3d4003bd
    • J
      gitcli: contrast wildcard given to shell and to git · 8300016e
      Junio C Hamano 提交于
      People who are not used to working with shell may intellectually
      understand how the command line argument is massaged by the shell
      but still have a hard time visualizing the difference between
      letting the shell expand fileglobs and having Git see the fileglob
      to use as a pathspec.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      8300016e
    • J
      gitcli: formatting fix · 008566e0
      Junio C Hamano 提交于
      The paragraph to encourage use of "--" in scripts belongs to the
      bullet point that describes the behaviour for a command line without
      the explicit "--" disambiguation; it is not a supporting explanation
      for the entire bulletted list, and it is wrong to make it a separate
      paragraph outside the list.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      008566e0
  5. 09 9月, 2012 2 次提交
  6. 04 9月, 2012 1 次提交
  7. 03 9月, 2012 1 次提交
  8. 28 8月, 2012 2 次提交
    • J
      http: prompt for credentials on failed POST · b81401c1
      Jeff King 提交于
      All of the smart-http GET requests go through the http_get_*
      functions, which will prompt for credentials and retry if we
      see an HTTP 401.
      
      POST requests, however, do not go through any central point.
      Moreover, it is difficult to retry in the general case; we
      cannot assume the request body fits in memory or is even
      seekable, and we don't know how much of it was consumed
      during the attempt.
      
      Most of the time, this is not a big deal; for both fetching
      and pushing, we make a GET request before doing any POSTs,
      so typically we figure out the credentials during the first
      request, then reuse them during the POST. However, some
      servers may allow a client to get the list of refs from
      receive-pack without authentication, and then require
      authentication when the client actually tries to POST the
      pack.
      
      This is not ideal, as the client may do a non-trivial amount
      of work to generate the pack (e.g., delta-compressing
      objects). However, for a long time it has been the
      recommended example configuration in git-http-backend(1) for
      setting up a repository with anonymous fetch and
      authenticated push. This setup has always been broken
      without putting a username into the URL. Prior to commit
      986bbc08, it did work with a username in the URL, because git
      would prompt for credentials before making any requests at
      all. However, post-986bbc08, it is totally broken. Since it
      has been advertised in the manpage for some time, we should
      make sure it works.
      
      Unfortunately, it is not as easy as simply calling post_rpc
      again when it fails, due to the input issue mentioned above.
      However, we can still make this specific case work by
      retrying in two specific instances:
      
        1. If the request is large (bigger than LARGE_PACKET_MAX),
           we will first send a probe request with a single flush
           packet. Since this request is static, we can freely
           retry it.
      
        2. If the request is small and we are not using gzip, then
           we have the whole thing in-core, and we can freely
           retry.
      
      That means we will not retry in some instances, including:
      
        1. If we are using gzip. However, we only do so when
           calling git-upload-pack, so it does not apply to
           pushes.
      
        2. If we have a large request, the probe succeeds, but
           then the real POST wants authentication. This is an
           extremely unlikely configuration and not worth worrying
           about.
      
      While it might be nice to cover those instances, doing so
      would be significantly more complex for very little
      real-world gain. In the long run, we will be much better off
      when curl learns to internally handle authentication as a
      callback, and we can cleanly handle all cases that way.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      b81401c1
    • J
      http: factor out http error code handling · 88097030
      Jeff King 提交于
      Most of our http requests go through the http_request()
      interface, which does some nice post-processing on the
      results. In particular, it handles prompting for missing
      credentials as well as approving and rejecting valid or
      invalid credentials. Unfortunately, it only handles GET
      requests. Making it handle POSTs would be quite complex, so
      let's pull result handling code into its own function so
      that it can be reused from the POST code paths.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      88097030