Permalink
Commits on Mar 12, 2012
  1. Git 1.7.9.4

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Mar 12, 2012
  2. Merge branch 'tr/maint-bundle-boundary' into maint

    "git bundle" did not record boundary commits correctly when there
    are many of them.
    
    By Thomas Rast
    * tr/maint-bundle-boundary:
      bundle: keep around names passed to add_pending_object()
      t5510: ensure we stay in the toplevel test dir
      t5510: refactor bundle->pack conversion
    gitster committed Mar 12, 2012
  3. Merge branch 'jc/maint-diff-patch-header' into maint

    "git diff-index" and its friends at the plumbing level showed the
    "diff --git" header and nothing else for a path whose cached stat
    info is dirty without actual difference when asked to produce a
    patch. This was a longstanding bug that we could have fixed long
    time ago.
    
    By Junio C Hamano
    * jc/maint-diff-patch-header:
      diff -p: squelch "diff --git" header for stat-dirty paths
      t4011: illustrate "diff-index -p" on stat-dirty paths
      t4011: modernise style
    gitster committed Mar 12, 2012
  4. Merge branch 'jn/maint-do-not-match-with-unsanitized-searchtext' into…

    … maint
    
    "gitweb" did use quotemeta() to prepare search string when asked to
    do a fixed-string project search, but did not use it by mistake and
    used the user-supplied string instead.
    
    By Jakub Narebski
    * jn/maint-do-not-match-with-unsanitized-searchtext:
      gitweb: Fix fixed string (non-regexp) project search
    gitster committed Mar 12, 2012
  5. Merge branch 'jc/am-3-nonstandard-popt' into maint

    The code to synthesize the fake ancestor tree used by 3-way merge
    fallback in "git am" was not prepared to read a patch created with
    a non-standard -p<num> value.
    
    * jc/am-3-nonstandard-popt:
      test: "am -3" can accept non-standard -p<num>
      am -3: allow nonstandard -p<num> option
    gitster committed Mar 12, 2012
Commits on Mar 6, 2012
  1. gitweb: Fix fixed string (non-regexp) project search

    Use $search_regexp, where regex metacharacters are quoted, for
    searching projects list, rather than $searchtext, which contains
    original search term.
    
    Reported-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
    Signed-off-by: Jakub Narebski <jnareb@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    jnareb committed with gitster Mar 2, 2012
  2. t5704: fix nonportable sed/grep usages

    OS X's sed and grep would complain with (respectively)
    
      sed: 1: "/^-/{p;q}": extra characters at the end of q command
      grep: Regular expression too big
    
    For sed, use an explicit ; to terminate the q command.
    
    For grep, spell the "40 hex digits" explicitly in the regex, which
    should be safe as other tests already use this and we haven't got
    breakage reports on OS X about them.
    
    Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Thomas Rast committed with gitster Mar 6, 2012
  3. Merge branch 'maint-1.7.8' into maint

    By Thomas Rast
    * maint-1.7.8:
      Document the --histogram diff option
    gitster committed Mar 6, 2012
  4. Merge branch 'maint-1.7.7' into maint-1.7.8

    By Thomas Rast
    * maint-1.7.7:
      Document the --histogram diff option
    gitster committed Mar 6, 2012
  5. Document the --histogram diff option

    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    trast committed with gitster Mar 6, 2012
Commits on Mar 5, 2012
  1. Git 1.7.9.3

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Mar 5, 2012
  2. Merge branch 'jc/doc-merge-options' into maint

    * jc/doc-merge-options:
      Documentation/merge-options.txt: group "ff" related options together
    gitster committed Mar 5, 2012
  3. Merge branch 'cn/maint-rev-list-doc' into maint

    * cn/maint-rev-list-doc:
      Documentation: use {asterisk} in rev-list-options.txt when needed
    gitster committed Mar 5, 2012
  4. fast-import: zero all of 'struct tag' to silence valgrind

    When running t9300, valgrind (correctly) complains about an
    uninitialized value in write_crash_report:
    
      ==2971== Use of uninitialised value of size 8
      ==2971==    at 0x4164F4: sha1_to_hex (hex.c:70)
      ==2971==    by 0x4073E4: die_nicely (fast-import.c:468)
      ==2971==    by 0x43284C: die (usage.c:86)
      ==2971==    by 0x40420D: main (fast-import.c:2731)
      ==2971==  Uninitialised value was created by a heap allocation
      ==2971==    at 0x4C29B3D: malloc (vg_replace_malloc.c:263)
      ==2971==    by 0x433645: xmalloc (wrapper.c:35)
      ==2971==    by 0x405DF5: pool_alloc (fast-import.c:619)
      ==2971==    by 0x407755: pool_calloc.constprop.14 (fast-import.c:634)
      ==2971==    by 0x403F33: main (fast-import.c:3324)
    
    Fix this by zeroing all of the 'struct tag'.  We would only need to
    zero out the 'sha1' field, but this way seems more future-proof.
    
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    trast committed with gitster Mar 5, 2012
  5. Update draft release notes to 1.7.9.3 for the last time

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Mar 5, 2012
  6. Merge branch 'cn/maint-branch-with-bad' into maint

    * cn/maint-branch-with-bad:
      branch: don't assume the merge filter ref exists
    
    Conflicts:
    	t/t3200-branch.sh
    gitster committed Mar 5, 2012
  7. Merge branch 'jn/maint-gitweb-invalid-regexp' into maint

    * jn/maint-gitweb-invalid-regexp:
      gitweb: Handle invalid regexp in regexp search
    gitster committed Mar 5, 2012
  8. Merge branch 'nd/maint-verify-objects' into maint

    * nd/maint-verify-objects:
      rev-list: fix --verify-objects --quiet becoming --objects
      rev-list: remove BISECT_SHOW_TRIED flag
    gitster committed Mar 5, 2012
  9. Merge branch 'jk/maint-avoid-streaming-filtered-contents' into maint

    * jk/maint-avoid-streaming-filtered-contents:
      do not stream large files to pack when filters are in use
      teach dry-run convert_to_git not to require a src buffer
      teach convert_to_git a "dry run" mode
    gitster committed Mar 5, 2012
  10. Merge branch 'jb/filter-ignore-sigpipe' into maint

    * jb/filter-ignore-sigpipe:
      Ignore SIGPIPE when running a filter driver
    gitster committed Mar 5, 2012
  11. Merge branch 'sp/smart-http-failure-to-push' into maint

    * sp/smart-http-failure-to-push:
      : Mask SIGPIPE on the command channel going to a transport helper
      disconnect from remote helpers more gently
    
    Conflicts:
    	transport-helper.c
    gitster committed Mar 5, 2012
  12. Merge branch 'tr/maint-bundle-long-subject' into maint

    * tr/maint-bundle-long-subject:
      t5704: match tests to modern style
      strbuf: improve strbuf_get*line documentation
      bundle: use a strbuf to scan the log for boundary commits
      bundle: put strbuf_readline_fd in strbuf.c with adjustments
    gitster committed Mar 5, 2012
  13. http.proxy: also mention https_proxy and all_proxy

    The current wording of the http.proxy documentation suggests that
    http_proxy is somehow equivalent to http.proxy. However, while
    http.proxy (by the means of curl's CURLOPT_PROXY option) overrides the
    proxy for both HTTP and HTTPS protocols, the http_proxy environment
    variable is used only for HTTP. But since the docs mention only
    http_proxy, a user might expect it to apply to all HTTP-like protocols.
    
    Avoid any such misunderstanding by explicitly mentioning https_proxy and
    all_proxy as well.
    
    Also replace linkgit:curl[1] with a literal 'curl(1)', because the
    former gets translated to a dead link in the HTML pages.
    
    Signed-off-by: Clemens Buchacher <drizzd@aon.at>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    drizzd committed with gitster Mar 4, 2012
Commits on Mar 3, 2012
  1. t0300: work around bug in dash 0.5.6

    The construct 'while IFS== read' makes dash 0.5.6 execute
    read without changing IFS, which results in test breakages
    all over the place in t0300.  Neither dash 0.5.5.1 and older
    nor dash 0.5.7 and newer are affected: The problem was
    introduded resp. fixed by the commits
    
      55c46b7 ([BUILTIN] Honor tab as IFS whitespace when
               splitting fields in readcmd, 2009-08-11)
    
      1d806ac ([VAR] Do not poplocalvars prematurely on regular
               utilities, 2010-05-27)
    
    in http://git.kernel.org/?p=utils/dash/dash.git
    
    Putting 'IFS==' before that line makes all versions of dash
    work.
    
    This looks like a dash bug, not a misinterpretation of the
    standard. However, it's worth working around for two
    reasons. One, this version of dash was released in Fedora
    14-16, so the bug is found in the wild. And two, at least
    one other shell, Solaris /bin/sh, choked on this by
    persisting IFS after the read invocation. That is not a
    shell we usually care about, and I think this use of IFS is
    acceptable by POSIX (which allows other behavior near
    "special builtins", but "read" is not one of those). But it
    seems that this may be a subtle, not-well-tested case for
    some shells. Given that the workaround is so simple, it's
    worth just being defensive.
    
    Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    mjg committed with gitster Mar 3, 2012
  2. t5512 (ls-remote): modernize style

    Prepare expected output inside test_expect_success that uses it.
    Also remove excess blank lines.
    
    Signed-off-by: Tom Grennan <tmgrennan@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    tgrennan committed with gitster Mar 3, 2012
Commits on Mar 2, 2012
  1. tests: fix spurious error when run directly with Solaris /usr/xpg4/bi…

    …n/sh
    
    If any test script is run directly with Solaris 10 /usr/xpg4/bin/sh or
    /bin/ksh, it fails spuriously with a message like:
    
      t0000-basic.sh[31]: unset: bad argument count
    
    This happens because those shells bail out when encountering a call to
    "unset" with no arguments, and such unset call could take place in
    'test-lib.sh'.  Fix that issue, and add a proper comment to ensure we
    don't regress in this respect.
    
    Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    slattarini committed with gitster Mar 2, 2012
  2. Documentation: do not assume that n > 1 in <rev>~$n

    We explained <rev>~<n> as <n>th generation grand-parent, but a reader got
    confused by the "grand-" part when <n> is 1.
    
    Reword it with "ancestor"; with the "generation" and "following only the
    first parents" around there, what we try to describe should be clear
    enough now.
    
    Noticed-by: Luke Diamand <luke@diamand.org>
    Helped-by: Thomas Rast <trast@inf.ethz.ch>
    Helped-by: Andreas Ericsson <ae@op5.se>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Feb 29, 2012
Commits on Mar 1, 2012
  1. bundle: keep around names passed to add_pending_object()

    The 'name' field passed to add_pending_object() is used to later
    deduplicate in object_array_remove_duplicates().
    
    git-bundle had a bug in this area since 18449ab (git-bundle: avoid
    packing objects which are in the prerequisites, 2007-03-08): it passed
    the name of each boundary object in a static buffer.  In other words,
    all that object_array_remove_duplicates() saw was the name of the
    *last* added boundary object.
    
    The recent switch to a strbuf in bc2fed4 (bundle: use a strbuf to scan
    the log for boundary commits, 2012-02-22) made this slightly worse: we
    now free the buffer at the end, so it is not even guaranteed that it
    still points into addressable memory by the time object_array_remove_
    duplicates looks at it.  On the plus side however, it was now
    detectable by valgrind.
    
    The fix is easy: pass a copy of the string to add_pending_object.
    
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    trast committed with gitster Mar 1, 2012
  2. t5510: ensure we stay in the toplevel test dir

    The last test descended into a subdir without ever re-emerging, which
    is not so nice to the next test writer.
    
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    trast committed with gitster Mar 1, 2012
  3. t5510: refactor bundle->pack conversion

    It's not so much a conversion as a "strip everything up to and
    including the first blank line", but it will come in handy again.
    
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    trast committed with gitster Mar 1, 2012
  4. diff -p: squelch "diff --git" header for stat-dirty paths

    The plumbing "diff" commands look at the working tree files without
    refreshing the index themselves for performance reasons (the calling
    script is expected to do that upfront just once, before calling one or
    more of them).  In the early days of git, they showed the "diff --git"
    header before they actually ask the xdiff machinery to produce patches,
    and ended up showing only these headers if the real contents are the same
    and the difference they noticed was only because the stat info cached in
    the index did not match that of the working tree. It was too late for the
    implementation to take the header that it already emitted back.
    
    But 3e97c7c (No diff -b/-w output for all-whitespace changes, 2009-11-19)
    introduced necessary logic to keep the meta-information headers in a
    strbuf and delay their output until the xdiff machinery noticed actual
    changes. This was primarily in order to generate patches that ignore
    whitespaces. When operating under "-w" mode, we wouldn't know if the
    header is needed until we actually look at the resulting patch, so it was
    a sensible thing to do, but we did not realize that the same reasoning
    applies to stat-dirty paths.
    
    Later, 296c6bb (diff: fix "git show -C -C" output when renaming a binary
    file, 2010-05-26) generalized this machinery and added must_show_header
    toggle.  This is turned on when the header must be shown even when there
    is no patch to be produced, e.g. only the mode was changed, or the path
    was renamed, without changing the contents.  However, when it did so, it
    still kept the special case for the "-w" mode, which meant that the
    plumbing would keep showing these phantom changes.
    
    This corrects this historical inconsistency by allowing the plumbing to
    omit paths that are only stat-dirty from its output in the same way as it
    handles whitespace only changes under "-w" option.
    
    The change in the behaviour can be seen in the updated test.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Mar 1, 2012
  5. t4011: illustrate "diff-index -p" on stat-dirty paths

    The plumbing that looks at the working tree, i.e. "diff-index" and
    "diff-files", always emit the "diff --git a/path b/path" header lines
    without anything else for paths that are only stat-dirty (i.e. different
    only because the cached stat information in the index no longer matches
    that of the working tree, but the real contents are the same), when
    these commands are run with "-p" option to produce patches.
    
    Illustrate this current behaviour.  Also demonstrate that with the "-w"
    option, we (correctly) hold off showing a "diff --git" header until actual
    differences have been found.  This also suppresses the header for merely
    stat-dirty files, which is inconsistent.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Mar 1, 2012
  6. t4011: modernise style

    Match the style to more modern test scripts, namely:
    
     - The first line of each test has prereq, title and opening sq for the
       script body.  This makes the test shorter while reducing the need for
       backslashes.
    
     - Be prepared for the case in which the previous test may have failed.
       If a test wants to start from not having "frotz" that the previous test
       may have created, write "rm -f frotz", not "rm frotz".
    
     - Prepare the expected output inside your own test.
    
     - The order of comparison to check the result is "diff expected actual",
       so that the output will show how the output from the git you just broke
       is different from what is expected.
    
     - Write no SP between redirection '>' (or '<' for that matter) and the
       filename.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Mar 1, 2012
  7. Documentation fixes in git-config

    Variable names must start with an alphabetic character, regexp config key
    matching has its limits, sentence grammar.
    
    Signed-off-by: Libor Pechacek <lpechacek@suse.cz>
    Acked-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    lpechacek committed with gitster Mar 1, 2012
Commits on Feb 28, 2012
  1. Documentation: use {asterisk} in rev-list-options.txt when needed

    Text between two '*' is emphasized in AsciiDoc and makes explanations in
    rev-list-options.txt on glob-related options very confusing, as the
    rendered text would be missing two asterisks and the text between them
    would be emphasized instead.
    
    Use '{asterisk}' where needed to make them show up as asterisks in the
    rendered text.
    
    Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
    Acked-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    carlosmn committed with gitster Feb 28, 2012