Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: v1.7.9

Jan 27, 2012

  1. Junio C Hamano

    Git 1.7.9

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 27, 2012
  2. Junio C Hamano

    INSTALL: warn about recent Fedora breakage

    Recent releases of Redhat/Fedora are reported to ship Perl binary package
    with some core modules stripped away (see http://lwn.net/Articles/477234/)
    against the upstream Perl5 people's wishes. The Time::HiRes module used by
    gitweb one of them.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 26, 2012

Jan 26, 2012

  1. Felipe Contreras

    git-completion: workaround zsh COMPREPLY bug

    zsh adds a backslash (foo\ ) for each item in the COMPREPLY array if IFS
    doesn't contain spaces. This issue has been reported[1], but there is no
    solution yet.
    
    This wasn't a problem due to another bug[2], which was fixed in zsh
    version 4.3.12. After this change, 'git checkout ma<tab>' would resolve
    to 'git checkout master\ '.
    
    Aditionally, the introduction of __gitcomp_nl in commit a31e626
    (completion: optimize refs completion) in git also made the problem
    apparent, as Matthieu Moy reported.
    
    The simplest and most generic solution is to hide all the changes we do
    to IFS, so that "foo \nbar " is recognized by zsh as "foo bar". This
    works on versions of git before and after the introduction of
    __gitcomp_nl (a31e626), and versions of zsh before and after 4.3.12.
    
    Once zsh is fixed, we should conditionally disable this workaround to
    have the same benefits as bash users.
    
    [1] http://www.zsh.org/mla/workers/2012/msg00053.html
    [2] http://zsh.git.sourceforge.net/git/gitweb.cgi?p=zsh/zsh;a=commitdiff;h=2e25dfb8fd38dbef0a306282ffab1d343ce3ad8d
    
    Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 25, 2012 gitster committed January 26, 2012
  2. Jeff King

    docs: minor grammar fixes for v1.7.9 release notes

    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 25, 2012 gitster committed January 26, 2012

Jan 23, 2012

  1. Michael Haggerty

    Fix typo in 1.7.9 release notes

    Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 23, 2012 gitster committed January 23, 2012

Jan 18, 2012

  1. Junio C Hamano

    Git 1.7.9-rc2

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 18, 2012
  2. Junio C Hamano

    Merge branch 'maint'

    * maint:
      Git 1.7.8.4
      Git 1.7.7.6
      diff-index: enable recursive pathspec matching in unpack_trees
    
    Conflicts:
    	GIT-VERSION-GEN
    authored January 18, 2012
  3. Junio C Hamano

    Git 1.7.8.4

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 18, 2012
  4. Junio C Hamano

    Merge branch 'maint-1.7.7' into maint

    * maint-1.7.7:
      Git 1.7.7.6
      diff-index: enable recursive pathspec matching in unpack_trees
    
    Conflicts:
    	GIT-VERSION-GEN
    authored January 18, 2012
  5. Junio C Hamano

    Git 1.7.7.6

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 18, 2012
  6. Nguyễn Thái Ngọc Duy

    diff-index: enable recursive pathspec matching in unpack_trees

    The pathspec structure has a few bits of data to drive various operation
    modes after we unified the pathspec matching logic in various codepaths.
    For example, max_depth field is there so that "git grep" can limit the
    output for files found in limited depth of tree traversal. Also in order
    to show just the surface level differences in "git diff-tree", recursive
    field stops us from descending into deeper level of the tree structure
    when it is set to false, and this also affects pathspec matching when
    we have wildcards in the pathspec.
    
    The diff-index has always wanted the recursive behaviour, and wanted to
    match pathspecs without any depth limit. But we forgot to do so when we
    updated tree_entry_interesting() logic to unify the pathspec matching
    logic.
    
    Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 15, 2012 gitster committed January 18, 2012
  7. Junio C Hamano

    Merge branch 'jc/pull-signed-tag-doc'

    * jc/pull-signed-tag-doc:
      pulling signed tag: add howto document
    authored January 18, 2012
  8. Junio C Hamano

    pulling signed tag: add howto document

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 17, 2012
  9. Junio C Hamano

    Merge branch 'jk/credentials'

    * jk/credentials:
      credential-cache: ignore "connection refused" errors
      unix-socket: do not let close() or chdir() clobber errno during cleanup
      credential-cache: report more daemon connection errors
      unix-socket: handle long socket pathnames
    authored January 18, 2012
  10. Junio C Hamano

    Merge branch 'nd/pathspec-recursion-cleanup'

    * nd/pathspec-recursion-cleanup:
      diff-index: enable recursive pathspec matching in unpack_trees
      Document limited recursion pathspec matching with wildcards
    authored January 18, 2012
  11. Junio C Hamano

    Merge branch 'mh/maint-show-ref-doc'

    * mh/maint-show-ref-doc:
      git-show-ref doc: typeset regexp in fixed width font
      git-show-ref: fix escaping in asciidoc source
    authored January 18, 2012
  12. Junio C Hamano

    Merge branch 'tr/maint-word-diff-incomplete-line'

    * tr/maint-word-diff-incomplete-line:
      word-diff: ignore '\ No newline at eof' marker
    authored January 18, 2012

Jan 17, 2012

  1. Jeff King

    credential-cache: ignore "connection refused" errors

    The credential-cache helper will try to connect to its
    daemon over a unix socket. Originally, a failure to do so
    was silently ignored, and we would either give up (if
    performing a "get" or "erase" operation), or spawn a new
    daemon (for a "store" operation).
    
    But since 8ec6c8d, we try to report more errors. We detect a
    missing daemon by checking for ENOENT on our connection
    attempt.  If the daemon is missing, we continue as before
    (giving up or spawning a new daemon). For any other error,
    we die and report the problem.
    
    However, checking for ENOENT is not sufficient for a missing
    daemon. We might also get ECONNREFUSED if a dead daemon
    process left a stale socket. This generally shouldn't
    happen, as the daemon cleans up after itself, but the daemon
    may not always be given a chance to do so (e.g., power loss,
    "kill -9").
    
    The resulting state is annoying not just because the helper
    outputs an extra useless message, but because it actually
    blocks the helper from spawning a new daemon to replace the
    stale socket.
    
    Fix it by checking for ECONNREFUSED.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 17, 2012 gitster committed January 16, 2012
  2. Junio C Hamano

    Merge branch 'jn/maint-gitweb-grep-fix'

    * jn/maint-gitweb-grep-fix:
      gitweb: Harden "grep" search against filenames with ':'
      gitweb: Fix file links in "grep" search
    authored January 16, 2012

Jan 16, 2012

  1. Nguyễn Thái Ngọc Duy

    diff-index: enable recursive pathspec matching in unpack_trees

    The pathspec structure has a few bits of data to drive various operation
    modes after we unified the pathspec matching logic in various codepaths.
    For example, max_depth field is there so that "git grep" can limit the
    output for files found in limited depth of tree traversal. Also in order
    to show just the surface level differences in "git diff-tree", recursive
    field stops us from descending into deeper level of the tree structure
    when it is set to false, and this also affects pathspec matching when
    we have wildcards in the pathspec.
    
    The diff-index has always wanted the recursive behaviour, and wanted to
    match pathspecs without any depth limit. But we forgot to do so when we
    updated tree_entry_interesting() logic to unify the pathspec matching
    logic.
    
    Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 15, 2012 gitster committed January 16, 2012

Jan 15, 2012

  1. Nguyễn Thái Ngọc Duy

    Document limited recursion pathspec matching with wildcards

    It's actually unlimited recursion if wildcards are active regardless
    --max-depth
    
    Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 14, 2012 gitster committed January 14, 2012

Jan 13, 2012

  1. Michael Haggerty

    git-show-ref doc: typeset regexp in fixed width font

    Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 13, 2012 gitster committed January 13, 2012
  2. Michael Haggerty

    git-show-ref: fix escaping in asciidoc source

    Two "^" characters were incorrectly being interpreted as markup for
    superscripting.  Fix them by writing them as attribute references
    "{caret}".
    
    Although a single "^" character in a paragraph cannot be
    misinterpreted in this way, also write other "^" characters as
    "{caret}" in the interest of good hygiene (unless they are in literal
    paragraphs, of course, in which context attribute references are not
    recognized).
    
    Spell "{}" consistently, namely *not* quoted as "\{\}".  Since the
    braces are empty, they cannot be interpreted as an attribute
    reference, and either spelling is OK.  So arbitrarily choose one
    variation and use it consistently.
    
    Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 13, 2012 gitster committed January 13, 2012
  3. Junio C Hamano

    Git 1.7.9-rc1

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 12, 2012
  4. Junio C Hamano

    Merge branch 'jc/request-pull-show-head-4'

    * jc/request-pull-show-head-4:
      request-pull: use the real fork point when preparing the message
    authored January 12, 2012
  5. Junio C Hamano

    Merge branch 'tr/maint-mailinfo'

    * tr/maint-mailinfo:
      mailinfo documentation: accurately describe non -k case
    authored January 12, 2012
  6. Junio C Hamano

    Merge branch 'ss/maint-msys-cvsexportcommit'

    * ss/maint-msys-cvsexportcommit:
      git-cvsexportcommit: Fix calling Perl's rel2abs() on MSYS
      t9200: On MSYS, do not pass Windows-style paths to CVS
    authored January 12, 2012
  7. Junio C Hamano

    Merge branch 'jk/maint-upload-archive'

    * jk/maint-upload-archive:
      archive: re-allow HEAD:Documentation on a remote invocation
    authored January 12, 2012
  8. Junio C Hamano

    Merge branch 'maint'

    * maint:
      Update draft release notes to 1.7.8.4
      Update draft release notes to 1.7.7.6
      Update draft release notes to 1.7.6.6
      thin-pack: try harder to use preferred base objects as base
    authored January 12, 2012
  9. Junio C Hamano

    Update draft release notes to 1.7.8.4

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 12, 2012
  10. Junio C Hamano

    Merge branch 'maint-1.7.7' into maint

    * maint-1.7.7:
      Update draft release notes to 1.7.7.6
      Update draft release notes to 1.7.6.6
      thin-pack: try harder to use preferred base objects as base
    authored January 12, 2012
  11. Junio C Hamano

    Update draft release notes to 1.7.7.6

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 12, 2012
  12. Junio C Hamano

    Merge branch 'maint-1.7.6' into maint-1.7.7

    * maint-1.7.6:
      Update draft release notes to 1.7.6.6
      thin-pack: try harder to use preferred base objects as base
    authored January 12, 2012
  13. Junio C Hamano

    Update draft release notes to 1.7.6.6

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 12, 2012
  14. Jeff King

    thin-pack: try harder to use preferred base objects as base

    When creating a pack using objects that reside in existing packs, we try
    to avoid recomputing futile delta between an object (trg) and a candidate
    for its base object (src) if they are stored in the same packfile, and trg
    is not recorded as a delta already. This heuristics makes sense because it
    is likely that we tried to express trg as a delta based on src but it did
    not produce a good delta when we created the existing pack.
    
    As the pack heuristics prefer producing delta to remove data, and Linus's
    law dictates that the size of a file grows over time, we tend to record
    the newest version of the file as inflated, and older ones as delta
    against it.
    
    When creating a thin-pack to transfer recent history, it is likely that we
    will try to send an object that is recorded in full, as it is newer.  But
    the heuristics to avoid recomputing futile delta effectively forbids us
    from attempting to express such an object as a delta based on another
    object. Sending an object in full is often more expensive than sending a
    suboptimal delta based on other objects, and it is even more so if we
    could use an object we know the receiving end already has (i.e. preferred
    base object) as the delta base.
    
    Tweak the recomputation avoidance logic, so that we do not punt on
    computing delta against a preferred base object.
    
    The effect of this change can be seen on two simulated upload-pack
    workloads. The first is based on 44 reflog entries from my git.git
    origin/master reflog, and represents the packs that kernel.org sent me git
    updates for the past month or two. The second workload represents much
    larger fetches, going from git's v1.0.0 tag to v1.1.0, then v1.1.0 to
    v1.2.0, and so on.
    
    The table below shows the average generated pack size and the average CPU
    time consumed for each dataset, both before and after the patch:
    
                      dataset
                | reflog | tags
    ---------------------------------
         before | 53358  | 2750977
    size  after | 32398  | 2668479
         change |   -39% |      -3%
    ---------------------------------
         before |  0.18  | 1.12
    CPU   after |  0.18  | 1.15
         change |    +0% |      +3%
    
    This patch makes a much bigger difference for packs with a shorter slice
    of history (since its effect is seen at the boundaries of the pack) though
    it has some benefit even for larger packs.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Acked-by: Nicolas Pitre <nico@fluxnic.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored January 12, 2012 gitster committed January 12, 2012
Something went wrong with that request. Please try again.