Skip to content
This repository
branch: master

Apr 16, 2014

  1. Junio C Hamano

    Update draft release notes for 2.0

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored April 16, 2014
  2. Junio C Hamano

    Merge branch 'mh/multimail'

    * mh/multimail:
      git-multimail: update to version 1.0.0
    authored April 16, 2014
  3. Junio C Hamano

    Merge branch 'tb/unicode-6.3-zero-width'

    Teach our display-column-counting logic about decomposed umlauts
    and friends.
    
    * tb/unicode-6.3-zero-width:
      utf8.c: partially update to version 6.3
    authored April 16, 2014
  4. Junio C Hamano

    Merge branch 'km/avoid-cp-a'

    Portability fix.
    
    * km/avoid-cp-a:
      test: fix t7001 cp to use POSIX options
    authored April 16, 2014
  5. Junio C Hamano

    Merge branch 'km/avoid-bs-in-shell-glob'

    Portability fix.
    
    * km/avoid-bs-in-shell-glob:
      test: fix t5560 on FreeBSD
    authored April 16, 2014

Apr 11, 2014

  1. mackyle

    test: fix t5560 on FreeBSD

    Since fd0a8c2 (first appearing in v1.7.0), the
    t/t5560-http-backend-noserver.sh test has used a backslash escape
    inside a ${} expansion in order to specify a literal '?' character.
    
    Unfortunately the FreeBSD /bin/sh does not interpret this correctly.
    
    In a POSIX compliant shell, the following:
    
    x='one?two?three'
    echo "${x#*\?}"
    
    Would be expected to produce this:
    
    two?three
    
    When using the FreeBSD /bin/sh instead you get this:
    
    one?two?three
    
    In fact the FreeBSD /bin/sh treats the backslash as a literal
    character to match so that this:
    
    y='one\two\three'
    echo "${y#*\?}"
    
    Produces this unexpected value:
    
    wo\three
    
    In this case the backslash is not only treated literally, it also
    fails to defeat the special meaning of the '?' character.
    
    Instead, we can use the [...] construct to defeat the special meaning
    of the '?' character and match it exactly in a way that works for the
    FreeBSD /bin/sh as well as other POSIX /bin/sh implementations.
    
    Changing the example like so:
    
    x='one?two?three'
    echo "${x#*[?]}"
    
    Produces the expected output using the FreeBSD /bin/sh.
    
    Therefore, change the use of \? to [?] in order to be compatible with
    the FreeBSD /bin/sh which allows t/t5560-http-backend-noserver.sh to
    pass on FreeBSD again.
    
    Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored April 11, 2014 gitster committed April 11, 2014
  2. mackyle

    test: fix t7001 cp to use POSIX options

    Since 1150246 and 04c1ee5 (both first appearing in v1.8.5), the
    t7001-mv test has used "cp -a" to perform a copy in several of the
    tests.
    
    However, the "-a" option is not required for a POSIX cp utility and
    some platforms' cp utilities do not support it.
    
    The POSIX equivalent of -a is -R -P -p.
    
    Change "cp -a" to "cp -R -P -p" so that the t7001-mv test works
    on systems with a cp utility that only implements the POSIX
    required set of options and not the "-a" option.
    
    Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored April 11, 2014 gitster committed April 11, 2014

Apr 09, 2014

  1. Junio C Hamano

    Sync with 1.9.2

    * maint:
      Git 1.9.2
      doc/http-backend: missing accent grave in literal mark-up
    authored April 09, 2014
  2. Junio C Hamano

    Git 1.9.2

    The second maintenance release for Git 1.9; contains all the fixes
    that are scheduled to appear in Git 2.0.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored April 09, 2014
  3. Junio C Hamano

    Merge branch 'jl/nor-or-nand-and' into maint

    * jl/nor-or-nand-and:
      code and test: fix misuses of "nor"
      comments: fix misuses of "nor"
      contrib: fix misuses of "nor"
      Documentation: fix misuses of "nor"
    authored April 09, 2014
  4. Junio C Hamano

    Merge branch 'cn/fetch-prune-overlapping-destination' into maint

    * cn/fetch-prune-overlapping-destination:
      fetch: handle overlaping refspecs on --prune
      fetch: add a failing test for prunning with overlapping refspecs
    authored April 09, 2014
  5. Junio C Hamano

    Merge branch 'mh/update-ref-batch-create-fix' into maint

    * mh/update-ref-batch-create-fix:
      update-ref: fail create operation over stdin if ref already exists
    authored April 09, 2014
  6. Junio C Hamano

    Merge branch 'jk/commit-dates-parsing-fix' into maint

    * jk/commit-dates-parsing-fix:
      t4212: loosen far-in-future test for AIX
      date: recognize bogus FreeBSD gmtime output
    authored April 09, 2014
  7. Junio C Hamano

    Merge branch 'jc/fix-diff-no-index-diff-opt-parse' into maint

    * jc/fix-diff-no-index-diff-opt-parse:
      diff-no-index: correctly diagnose error return from diff_opt_parse()
    authored April 09, 2014
  8. Junio C Hamano

    Merge commit 'doc/http-backend: missing accent grave in literal mark-up'

    * commit '5df05146d5cb94628a3dfc53063c802ee1152cec':
      doc/http-backend: missing accent grave in literal mark-up
    authored April 09, 2014
  9. tacker66

    doc/http-backend: missing accent grave in literal mark-up

    Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored April 09, 2014 gitster committed April 09, 2014
  10. tboegi

    utf8.c: partially update to version 6.3

    Unicode 6.3 defines more code points as combining or accents.  For
    example, the character "ö" could be expressed as an "o" followed by
    U+0308 COMBINING DIARESIS (aka umlaut, double-dot-above).  We should
    consider that such a sequence of two codepoints occupies one display
    column for the alignment purposes, and for that, git_wcwidth()
    should return 0 for them.  Affected codepoints are:
    
        U+0358..U+035C
        U+0487
        U+05A2, U+05BA, U+05C5, U+05C7
        U+0604, U+0616..U+061A, U+0659..U+065F
    
    Earlier unicode standards had defined these as "reserved".
    
    Only the range 0..U+07FF has been checked to see which codepoints
    need to be marked as 0-width while preparing for this commit; more
    updates may be needed.
    
    Signed-off-by: Torsten Bögershausen <tboegi@web.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored April 07, 2014 gitster committed April 09, 2014

Apr 08, 2014

  1. Junio C Hamano

    Update draft release notes to 2.0

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored April 08, 2014
  2. Junio C Hamano

    Merge branch 'maint'

    * maint:
      Update draft release notes to 1.9.2
    authored April 08, 2014
  3. Junio C Hamano

    Update draft release notes to 1.9.2

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored April 08, 2014
  4. Junio C Hamano

    Merge branch 'mm/status-porcelain-format-i18n-fix' into maint

    * mm/status-porcelain-format-i18n-fix:
      status: disable translation when --porcelain is used
    authored April 08, 2014
  5. Junio C Hamano

    Merge branch 'bp/commit-p-editor' into maint

    * bp/commit-p-editor:
      run-command: mark run_hook_with_custom_index as deprecated
      merge hook tests: fix and update tests
      merge: fix GIT_EDITOR override for commit hook
      commit: fix patch hunk editing with "commit -p -m"
      test patch hunk editing with "commit -p -m"
      merge hook tests: use 'test_must_fail' instead of '!'
      merge hook tests: fix missing '&&' in test
    authored April 08, 2014
  6. Junio C Hamano

    Merge branch 'jk/pack-bitmap'

    * jk/pack-bitmap:
      pack-objects: do not reuse packfiles without --delta-base-offset
      add `ignore_missing_links` mode to revwalk
    authored April 08, 2014
  7. Junio C Hamano

    Merge branch 'jl/nor-or-nand-and'

    Eradicate mistaken use of "nor" (that is, essentially "nor" used
    not in "neither A nor B" ;-)) from in-code comments, command output
    strings, and documentations.
    
    * jl/nor-or-nand-and:
      code and test: fix misuses of "nor"
      comments: fix misuses of "nor"
      contrib: fix misuses of "nor"
      Documentation: fix misuses of "nor"
    authored April 08, 2014
  8. Junio C Hamano

    Merge branch 'mh/update-ref-batch-create-fix'

    * mh/update-ref-batch-create-fix:
      update-ref: fail create operation over stdin if ref already exists
    authored April 08, 2014
  9. Junio C Hamano

    Merge branch 'mr/opt-set-ptr'

    OPT_SET_PTR() implementation was broken on IL32P64 platforms;
    it turns out that the macro is not used by any real user.
    
    * mr/opt-set-ptr:
      parse-options: remove unused OPT_SET_PTR
      parse-options: add cast to correct pointer type to OPT_SET_PTR
      MSVC: fix t0040-parse-options crash
    authored April 08, 2014
  10. Junio C Hamano

    Merge branch 'ib/rev-parse-parseopt-argh'

    Finishing touch to a new topic scheduled for 2.0.
    
    * ib/rev-parse-parseopt-argh:
      rev-parse: fix typo in example on manpage
    authored April 08, 2014
  11. Junio C Hamano

    Merge branch 'mr/msvc-link-with-invalidcontinue'

    * mr/msvc-link-with-invalidcontinue:
      MSVC: link in invalidcontinue.obj for better POSIX compatibility
    authored April 08, 2014
  12. Junio C Hamano

    Merge branch 'jc/rev-parse-argh-dashed-multi-words'

    Make sure that the help text given to describe the "<param>" part
    of the "git cmd --option=<param>" does not contain SP or _,
    e.g. "--gpg-sign=<key-id>" option for "git commit" is not spelled
    as "--gpg-sign=<key id>".
    
    * jc/rev-parse-argh-dashed-multi-words:
      parse-options: make sure argh string does not have SP or _
      update-index: teach --cacheinfo a new syntax "mode,sha1,path"
      parse-options: multi-word argh should use dash to separate words
    authored April 08, 2014
  13. Junio C Hamano

    Merge branch 'jk/commit-dates-parsing-fix'

    Finishing touches for portability.
    
    * jk/commit-dates-parsing-fix:
      t4212: loosen far-in-future test for AIX
      date: recognize bogus FreeBSD gmtime output
    authored April 08, 2014

Apr 07, 2014

  1. Vlad Dogaru

    git-p4: explicitly specify that HEAD is a revision

    'git p4 rebase' fails with the following message if there is a file
    named HEAD in the current directory:
    
    	fatal: ambiguous argument 'HEAD': both revision and filename
    	Use '--' to separate paths from revisions, like this:
    	'git <command> [<revision>...] -- [<file>...]'
    
    Take the suggestion above and explicitly state that HEAD should be
    treated as a revision.
    
    Signed-off-by: Vlad Dogaru <vdogaru@ixiacom.com>
    Acked-by: Pete Wyckoff <pw@padd.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored April 07, 2014 gitster committed April 07, 2014
  2. Michael Haggerty

    git-multimail: update to version 1.0.0

    This commit contains the squashed changes from the upstream
    git-multimail repository since the last code drop.  Highlights:
    
    * Fix encoding of non-ASCII email addresses in email headers.
    
    * Fix backwards-compatibility bugs for older Python 2.x versions.
    
    * Fix a backwards-compatibility bug for Git 1.7.1.
    
    * Add an option commitDiffOpts to customize logs for revisions.
    
    * Pass "-oi" to sendmail by default to prevent premature
      termination
      on a line containing only ".".
    
    * Stagger email "Date:" values in an attempt to help mail clients
      thread the emails in the right order.
    
    * If a mailing list setting is missing, just skip sending the
      corresponding email (with a warning) instead of failing.
    
    * Add a X-Git-Host header that can be used for email filtering.
    
    * Allow the sender's fully-qualified domain name to be configured.
    
    * Minor documentation improvements.
    
    * Add a CHANGES file.
    
    Contributions-by: Raphaël Hertzog <hertzog@debian.org>
    Contributions-by: Eric Berberich <eric.berberich@gmail.com>
    Contributions-by: Michiel Holtkamp <git@elfstone.nl>
    Contributions-by: Malte Swart <mswart@devtation.de>
    Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored April 07, 2014 gitster committed April 07, 2014

Apr 04, 2014

  1. Jeff King

    pack-objects: do not reuse packfiles without --delta-base-offset

    When we are sending a packfile to a remote, we currently try
    to reuse a whole chunk of packfile without bothering to look
    at the individual objects. This can make things like initial
    clones much lighter on the server, as we can just dump the
    packfile bytes.
    
    However, it's possible that the other side cannot read our
    packfile verbatim. For example, we may have objects stored
    as OFS_DELTA, but the client is an antique version of git
    that only understands REF_DELTA. We negotiate this
    capability over the fetch protocol. A normal pack-objects
    run will convert OFS_DELTA into REF_DELTA on the fly, but
    the "reuse pack" code path never even looks at the objects.
    
    This patch disables packfile reuse if the other side is
    missing any capabilities that we might have used in the
    on-disk pack. Right now the only one is OFS_DELTA, but we
    may need to expand in the future (e.g., if packv4 introduces
    new object types).
    
    We could be more thorough and only disable reuse in this
    case when we actually have an OFS_DELTA to send, but:
    
      1. We almost always will have one, since we prefer
         OFS_DELTA to REF_DELTA when possible. So this case
         would almost never come up.
    
      2. Looking through the objects defeats the purpose of the
         optimization, which is to do as little work as possible
         to get the bytes to the remote.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored April 02, 2014 gitster committed April 04, 2014
  2. Vicent Marti

    add `ignore_missing_links` mode to revwalk

    When pack-objects is computing the reachability bitmap to
    serve a fetch request, it can erroneously die() if some of
    the UNINTERESTING objects are not present. Upload-pack
    throws away HAVE lines from the client for objects we do not
    have, but we may have a tip object without all of its
    ancestors (e.g., if the tip is no longer reachable and was
    new enough to survive a `git prune`, but some of its
    reachable objects did get pruned).
    
    In the non-bitmap case, we do a revision walk with the HAVE
    objects marked as UNINTERESTING. The revision walker
    explicitly ignores errors in accessing UNINTERESTING commits
    to handle this case (and we do not bother looking at
    UNINTERESTING trees or blobs at all).
    
    When we have bitmaps, however, the process is quite
    different.  The bitmap index for a pack-objects run is
    calculated in two separate steps:
    
    First, we perform an extensive walk from all the HAVEs to
    find the full set of objects reachable from them. This walk
    is usually optimized away because we are expected to hit an
    object with a bitmap during the traversal, which allows us
    to terminate early.
    
    Secondly, we perform an extensive walk from all the WANTs,
    which usually also terminates early because we hit a commit
    with an existing bitmap.
    
    Once we have the resulting bitmaps from the two walks, we
    AND-NOT them together to obtain the resulting set of objects
    we need to pack.
    
    When we are walking the HAVE objects, the revision walker
    does not know that we are walking it only to mark the
    results as uninteresting. We strip out the UNINTERESTING flag,
    because those objects _are_ interesting to us during the
    first walk. We want to keep going to get a complete set of
    reachable objects if we can.
    
    We need some way to tell the revision walker that it's OK to
    silently truncate the HAVE walk, just like it does for the
    UNINTERESTING case. This patch introduces a new
    `ignore_missing_links` flag to the `rev_info` struct, which
    we set only for the HAVE walk.
    
    It also adds tests to cover UNINTERESTING objects missing
    from several positions: a missing blob, a missing tree, and
    a missing parent commit. The missing blob already worked (as
    we do not care about its contents at all), but the other two
    cases caused us to die().
    
    Note that there are a few cases we do not need to test:
    
      1. We do not need to test a missing tree, with the blob
         still present. Without the tree that refers to it, we
         would not know that the blob is relevant to our walk.
    
      2. We do not need to test a tip commit that is missing.
         Upload-pack omits these for us (and in fact, we
         complain even in the non-bitmap case if it fails to do
         so).
    
    Reported-by: Siddharth Agarwal <sid0@fb.com>
    Signed-off-by: Vicent Marti <tanoku@gmail.com>
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored March 28, 2014 gitster committed April 04, 2014
  3. Marat Radchenko

    MSVC: allow using ExtUtils::MakeMaker

    Drop NO_PERL_MAKEMAKER from config.mak.uname for the MSVC platform.
    
    MakeMaker is available on Windows Perl implementations and
    installs modules to correct location, unlike NO_PERL_MAKEMAKER Makefile.
    
    Signed-off-by: Marat Radchenko <marat@slonopotamus.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    authored April 03, 2014 gitster committed April 04, 2014
Something went wrong with that request. Please try again.