1. 29 11月, 2012 2 次提交
  2. 28 11月, 2012 5 次提交
  3. 27 11月, 2012 2 次提交
  4. 26 11月, 2012 4 次提交
  5. 25 11月, 2012 1 次提交
    • M
      Completion must sort before using uniq · 4db42b38
      Marc Khouzam 提交于
      The user can be presented with invalid completion results
      when trying to complete a 'git checkout' command.  This can happen
      when using a branch name prefix that matches multiple remote branches.
      
      For example, if available branches are:
        master
        remotes/GitHub/maint
        remotes/GitHub/master
        remotes/origin/maint
        remotes/origin/master
      
      When performing completion on 'git checkout ma' the user will be
      given the choices:
        maint
        master
      
      However, 'git checkout maint' will fail in this case, although
      completion previously said 'maint' was valid.  Furthermore, when
      performing completion on 'git checkout mai', no choices will be
      suggested.  So, the user is first told that the branch name
      'maint' is valid, but when trying to complete 'mai' into 'maint',
      that completion is no longer valid.
      
      The completion results should never propose 'maint' as a valid
      branch name, since 'git checkout' will refuse it.
      
      The reason for this bug is that the uniq program only
      works with sorted input.  The man page states
      "uniq prints the unique lines in a sorted file".
      
      When __git_refs uses the guess heuristic employed by checkout for
      tracking branches it wants to consider remote branches but only if
      the branch name is unique.  To do that, it calls 'uniq -u'.  However
      the input given to 'uniq -u' is not sorted.
      
      Therefore, in the above example, when dealing with 'git checkout ma',
      "__git_refs '' 1" will find the following list:
        master
        maint
        master
        maint
        master
      
      which, when passed to 'uniq -u' will remain the same.  Therefore
      'maint' will be wrongly suggested as a valid option.
      
      When dealing with 'git checkout mai', the list will be:
        maint
        maint
      
      which happens to be sorted and will be emptied by 'uniq -u',
      properly ignoring 'maint'.
      
      A solution for preventing the completion script from suggesting
      such invalid branch names is to first call 'sort' and then 'uniq -u'.
      Signed-off-by: NMarc Khouzam <marc.khouzam@gmail.com>
      Reviewed-by: NFelipe Contreras <felipe.contreras@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      4db42b38
  6. 21 11月, 2012 9 次提交
  7. 19 11月, 2012 11 次提交
    • J
      Start preparing for 1.8.0.1 · 2808f6ab
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      2808f6ab
    • J
      Merge branch 'sz/maint-curl-multi-timeout' into maint · 8b56a470
      Junio C Hamano 提交于
      Sometimes curl_multi_timeout() function suggested a wrong timeout
      value when there is no file descriptors to wait on and the http
      transport ended up sleeping for minutes in select(2) system call.  A
      workaround has been added for this.
      
      * sz/maint-curl-multi-timeout:
        Fix potential hang in https handshake
      8b56a470
    • J
      Merge branch 'po/maint-refs-replace-docs' into maint · b98769e0
      Junio C Hamano 提交于
      The refs/replace hierarchy was not mentioned in the
      repository-layout docs.
      
      * po/maint-refs-replace-docs:
        Doc repository-layout: Show refs/replace
      b98769e0
    • J
      Merge branch 'ph/pull-rebase-detached' into maint · 611addf8
      Junio C Hamano 提交于
      "git pull --rebase" run while the HEAD is detached tried to find
      the upstream branch of the detached HEAD (which by definition
      does not exist) and emitted unnecessary error messages.
      
      * ph/pull-rebase-detached:
        git-pull: Avoid merge-base on detached head
      611addf8
    • J
      Merge branch 'mm/maint-doc-remote-tracking' into maint · 78ba7e26
      Junio C Hamano 提交于
      Update "remote tracking branch" in the documentation to
      "remote-tracking branch".
      
      * mm/maint-doc-remote-tracking:
        Documentation: remote tracking branch -> remote-tracking branch
      78ba7e26
    • J
      Merge branch 'rs/branch-del-symref' into maint · 3a986691
      Junio C Hamano 提交于
      A symbolic ref refs/heads/SYM was not correctly removed with "git
      branch -d SYM"; the command removed the ref pointed by SYM instead.
      
      * rs/branch-del-symref:
        branch: show targets of deleted symrefs, not sha1s
        branch: skip commit checks when deleting symref branches
        branch: delete symref branch, not its target
        branch: factor out delete_branch_config()
        branch: factor out check_branch_commit()
      3a986691
    • J
      Merge branch 'nd/grep-true-path' into maint · dca5ed5f
      Junio C Hamano 提交于
      "git grep -e pattern <tree>" asked the attribute system to read
      "<tree>:.gitattributes" file in the working tree, which was
      nonsense.
      
      * nd/grep-true-path:
        grep: stop looking at random places for .gitattributes
      dca5ed5f
    • J
      Merge branch 'jc/grep-pcre-loose-ends' (early part) into maint · 4607a8ce
      Junio C Hamano 提交于
      "git log -F -E --grep='<ere>'" failed to use the given <ere>
      pattern as extended regular expression, and instead looked for the
      string literally.
      
      * 'jc/grep-pcre-loose-ends' (early part):
        log --grep: use the same helper to set -E/-F options as "git grep"
        revisions: initialize revs->grep_filter using grep_init()
        grep: move pattern-type bits support to top-level grep.[ch]
        grep: move the configuration parsing logic to grep.[ch]
        builtin/grep.c: make configuration callback more reusable
      4607a8ce
    • J
      Merge branch 'da/mergetools-p4' into maint · 6c95f535
      Junio C Hamano 提交于
      "git mergetool" feeds /dev/null as a common ancestor when dealing
      with an add/add conflict, but p4merge backend cannot handle it. Work
      it around by passing a temporary empty file.
      
      * da/mergetools-p4:
        mergetools/p4merge: Handle "/dev/null"
      6c95f535
    • J
      Merge branch 'jc/test-say-color-avoid-echo-escape' into maint · 3424da11
      Junio C Hamano 提交于
      The "say" function in the test scaffolding incorrectly allowed
      "echo" to interpret "\a" as if it were a C-string asking for a BEL
      output.
      
      * jc/test-say-color-avoid-echo-escape:
        test-lib: Fix say_color () not to interpret \a\b\c in the message
      3424da11
    • J
      Merge branch 'bw/config-lift-variable-name-length-limit' into maint · d6ecf563
      Junio C Hamano 提交于
      The configuration parser had an unnecessary hardcoded limit on
      variable names that was not checked consistently.
      
      * bw/config-lift-variable-name-length-limit:
        Remove the hard coded length limit on variable names in config files
      d6ecf563
  8. 16 11月, 2012 2 次提交
  9. 13 11月, 2012 1 次提交
    • J
      gitweb: escape html in rss title · 0f0ecf68
      Jeff King 提交于
      The title of an RSS feed is generated from many components,
      including the filename provided as a query parameter, but we
      failed to quote it.  Besides showing the wrong output, this
      is a vector for XSS attacks.
      Signed-off-by: NJeff King <peff@peff.net>
      0f0ecf68
  10. 09 11月, 2012 3 次提交