Code

git.git
12 years agoMerge branch 'zj/diff-stat-dyncol'
Junio C Hamano [Tue, 6 Mar 2012 22:53:06 +0000 (14:53 -0800)]
Merge branch 'zj/diff-stat-dyncol'

By Zbigniew Jędrzejewski-Szmek (8) and Junio C Hamano (1)
* zj/diff-stat-dyncol:
  : This breaks tests. Perhaps it is not worth using the decimal-width stuff
  : for this series, at least initially.
  diff --stat: add config option to limit graph width
  diff --stat: enable limiting of the graph part
  diff --stat: add a test for output with COLUMNS=40
  diff --stat: use a maximum of 5/8 for the filename part
  merge --stat: use the full terminal width
  log --stat: use the full terminal width
  show --stat: use the full terminal width
  diff --stat: use the full terminal width
  diff --stat: tests for long filenames and big change counts

12 years agoMerge branch 'maint'
Junio C Hamano [Tue, 6 Mar 2012 22:53:02 +0000 (14:53 -0800)]
Merge branch 'maint'

By Thomas Rast
* maint:
  t5704: fix nonportable sed/grep usages
  Document the --histogram diff option

12 years agot5704: fix nonportable sed/grep usages
Thomas Rast [Tue, 6 Mar 2012 14:50:37 +0000 (15:50 +0100)]
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>
12 years agoMerge branch 'maint-1.7.8' into maint
Junio C Hamano [Tue, 6 Mar 2012 20:05:09 +0000 (12:05 -0800)]
Merge branch 'maint-1.7.8' into maint

By Thomas Rast
* maint-1.7.8:
  Document the --histogram diff option

12 years agoMerge branch 'maint-1.7.7' into maint-1.7.8
Junio C Hamano [Tue, 6 Mar 2012 20:04:48 +0000 (12:04 -0800)]
Merge branch 'maint-1.7.7' into maint-1.7.8

By Thomas Rast
* maint-1.7.7:
  Document the --histogram diff option

12 years agoDocument the --histogram diff option
Thomas Rast [Tue, 6 Mar 2012 13:15:02 +0000 (14:15 +0100)]
Document the --histogram diff option

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoperf: compare diff algorithms
Thomas Rast [Tue, 6 Mar 2012 13:15:01 +0000 (14:15 +0100)]
perf: compare diff algorithms

8c912ee (teach --histogram to diff, 2011-07-12) claimed histogram diff
was faster than both Myers and patience.

We have since incorporated a performance testing framework, so add a
test that compares the various diff tasks performed in a real 'log -p'
workload.  This does indeed show that histogram diff slightly beats
Myers, while patience is much slower than the others.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoSync with 1.7.9.3
Junio C Hamano [Mon, 5 Mar 2012 22:29:50 +0000 (14:29 -0800)]
Sync with 1.7.9.3

12 years agoGit 1.7.9.3 v1.7.9.3
Junio C Hamano [Mon, 5 Mar 2012 22:29:07 +0000 (14:29 -0800)]
Git 1.7.9.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'jc/doc-merge-options' into maint
Junio C Hamano [Mon, 5 Mar 2012 22:28:14 +0000 (14:28 -0800)]
Merge branch 'jc/doc-merge-options' into maint

* jc/doc-merge-options:
  Documentation/merge-options.txt: group "ff" related options together

12 years agoMerge branch 'cn/maint-rev-list-doc' into maint
Junio C Hamano [Mon, 5 Mar 2012 22:27:36 +0000 (14:27 -0800)]
Merge branch 'cn/maint-rev-list-doc' into maint

* cn/maint-rev-list-doc:
  Documentation: use {asterisk} in rev-list-options.txt when needed

12 years agofsck doc: a minor typofix
Junio C Hamano [Mon, 5 Mar 2012 19:32:08 +0000 (11:32 -0800)]
fsck doc: a minor typofix

Reword the misspelled "squelch" noticed by Hermann Gaustere to say
"omit", which would sit better anyway.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agofast-import: zero all of 'struct tag' to silence valgrind
Thomas Rast [Mon, 5 Mar 2012 13:48:49 +0000 (14:48 +0100)]
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>
12 years agoUpdate draft release notes to 1.7.10
Junio C Hamano [Mon, 5 Mar 2012 07:38:02 +0000 (23:38 -0800)]
Update draft release notes to 1.7.10

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'jk/symbolic-ref-short'
Junio C Hamano [Mon, 5 Mar 2012 07:35:23 +0000 (23:35 -0800)]
Merge branch 'jk/symbolic-ref-short'

* jk/symbolic-ref-short:
  symbolic-ref --short: abbreviate the output unambiguously

12 years agoMerge branch 'jn/gitweb-hilite-regions'
Junio C Hamano [Mon, 5 Mar 2012 07:35:18 +0000 (23:35 -0800)]
Merge branch 'jn/gitweb-hilite-regions'

* jn/gitweb-hilite-regions:
  gitweb: Highlight matched part of shortened project description
  gitweb: Highlight matched part of project description when searching projects
  gitweb: Highlight matched part of project name when searching projects
  gitweb: Introduce esc_html_match_hl and esc_html_hl_regions

12 years agoMerge branch 'jc/am-3-nonstandard-popt'
Junio C Hamano [Mon, 5 Mar 2012 07:35:12 +0000 (23:35 -0800)]
Merge branch 'jc/am-3-nonstandard-popt'

* jc/am-3-nonstandard-popt:
  test: "am -3" can accept non-standard -p<num>
  am -3: allow nonstandard -p<num> option

12 years agoMerge branch 'maint'
Junio C Hamano [Mon, 5 Mar 2012 06:21:52 +0000 (22:21 -0800)]
Merge branch 'maint'

* maint:
  Update draft release notes to 1.7.9.3 for the last time
  http.proxy: also mention https_proxy and all_proxy
  t0300: work around bug in dash 0.5.6
  t5512 (ls-remote): modernize style
  tests: fix spurious error when run directly with Solaris /usr/xpg4/bin/sh

12 years agoUpdate draft release notes to 1.7.9.3 for the last time
Junio C Hamano [Mon, 5 Mar 2012 06:21:30 +0000 (22:21 -0800)]
Update draft release notes to 1.7.9.3 for the last time

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'cn/maint-branch-with-bad' into maint
Junio C Hamano [Mon, 5 Mar 2012 06:17:52 +0000 (22:17 -0800)]
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

12 years agoMerge branch 'jn/maint-gitweb-invalid-regexp' into maint
Junio C Hamano [Mon, 5 Mar 2012 06:17:47 +0000 (22:17 -0800)]
Merge branch 'jn/maint-gitweb-invalid-regexp' into maint

* jn/maint-gitweb-invalid-regexp:
  gitweb: Handle invalid regexp in regexp search

12 years agoMerge branch 'nd/maint-verify-objects' into maint
Junio C Hamano [Mon, 5 Mar 2012 06:17:41 +0000 (22:17 -0800)]
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

12 years agoMerge branch 'jk/maint-avoid-streaming-filtered-contents' into maint
Junio C Hamano [Mon, 5 Mar 2012 06:16:40 +0000 (22:16 -0800)]
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

12 years agoMerge branch 'jb/filter-ignore-sigpipe' into maint
Junio C Hamano [Mon, 5 Mar 2012 06:16:35 +0000 (22:16 -0800)]
Merge branch 'jb/filter-ignore-sigpipe' into maint

* jb/filter-ignore-sigpipe:
  Ignore SIGPIPE when running a filter driver

12 years agoMerge branch 'sp/smart-http-failure-to-push' into maint
Junio C Hamano [Mon, 5 Mar 2012 06:16:33 +0000 (22:16 -0800)]
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

12 years agoMerge branch 'tr/maint-bundle-long-subject' into maint
Junio C Hamano [Mon, 5 Mar 2012 06:16:30 +0000 (22:16 -0800)]
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

12 years agohttp.proxy: also mention https_proxy and all_proxy
Clemens Buchacher [Sun, 4 Mar 2012 16:50:43 +0000 (17:50 +0100)]
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>
12 years agoparse-options: typo check for unknown switches
René Scharfe [Sat, 3 Mar 2012 11:00:29 +0000 (12:00 +0100)]
parse-options: typo check for unknown switches

The user specifies a long option but forgets to type the second
leading dash, we currently detect and report that fact if its first
letter is a valid short option. This is done for safety, to avoid
ambiguity between short options (and their arguments) and a long
option with a missing dash.

This diagnostic message is also helpful for long options whose first
letter is not a valid short option, however. Print it in that case,
too, as a courtesy.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agot0300: work around bug in dash 0.5.6
Michael J Gruber [Sat, 3 Mar 2012 00:37:35 +0000 (19:37 -0500)]
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>
12 years agot5512 (ls-remote): modernize style
Tom Grennan [Sat, 3 Mar 2012 02:15:34 +0000 (18:15 -0800)]
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>
12 years agogitweb: Fix passing parameters to git_project_search_form
Jakub Narebski [Fri, 2 Mar 2012 22:50:01 +0000 (23:50 +0100)]
gitweb: Fix passing parameters to git_project_search_form

The git_project_search_form() subroutine, introduced in a1e1b2d
(gitweb: improve usability of projects search form, 2012-01-31) didn't
get its arguments from caller correctly.  Gitweb worked correctly
thanks to sticky-ness of form fields in CGI.pm... but it make UTF-8
fix for project search not working.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agotests: fix spurious error when run directly with Solaris /usr/xpg4/bin/sh
Stefano Lattarini [Fri, 2 Mar 2012 18:48:36 +0000 (19:48 +0100)]
tests: fix spurious error when run directly with Solaris /usr/xpg4/bin/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>
12 years agoUpdate draft release notes to 1.7.10
Junio C Hamano [Fri, 2 Mar 2012 05:08:07 +0000 (21:08 -0800)]
Update draft release notes to 1.7.10

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'maint'
Junio C Hamano [Fri, 2 Mar 2012 19:49:06 +0000 (11:49 -0800)]
Merge branch 'maint'

* maint:
  Documentation: do not assume that n > 1 in <rev>~$n

12 years agoDocumentation: do not assume that n > 1 in <rev>~$n
Junio C Hamano [Wed, 29 Feb 2012 19:13:22 +0000 (11:13 -0800)]
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>
12 years agoMerge branch 'cb/fsck-squelch-dangling'
Junio C Hamano [Fri, 2 Mar 2012 04:59:41 +0000 (20:59 -0800)]
Merge branch 'cb/fsck-squelch-dangling'

* cb/fsck-squelch-dangling:
  fsck: --no-dangling omits "dangling object" information

12 years agoMerge branch 'rs/no-no-no-parseopt'
Junio C Hamano [Fri, 2 Mar 2012 04:59:31 +0000 (20:59 -0800)]
Merge branch 'rs/no-no-no-parseopt'

* rs/no-no-no-parseopt:
  parse-options: remove PARSE_OPT_NEGHELP
  parse-options: allow positivation of options starting, with no-
  test-parse-options: convert to OPT_BOOL()

Conflicts:
builtin/grep.c

12 years agoMerge branch 'th/git-diffall'
Junio C Hamano [Fri, 2 Mar 2012 04:59:25 +0000 (20:59 -0800)]
Merge branch 'th/git-diffall'

* th/git-diffall:
  contrib: add git-diffall script

12 years agoMerge the initial l10n effort in
Junio C Hamano [Fri, 2 Mar 2012 04:52:03 +0000 (20:52 -0800)]
Merge the initial l10n effort in

* l10n:
  Update l10n guide: change the repository URL, etc
  l10n: leave leading space unchanged for zh_CN.po
  Update l10n guide
  l10n: update Chinese translation to the new git.po
  l10n: Update git.pot (12 new messages)
  l10n: fast-forward here is ff-only merge, not push
  l10n: update zh_CN translation for "Fetching %s"
  l10n: po for zh_CN
  l10n: initial git.pot for 1.7.10 upcoming release

12 years agoMerge branch 'master' of https://github.com/git-l10n/git-po into l10n
Junio C Hamano [Fri, 2 Mar 2012 04:51:37 +0000 (20:51 -0800)]
Merge branch 'master' of https://github.com/git-l10n/git-po into l10n

* 'master' of https://github.com/git-l10n/git-po:
  l10n: leave leading space unchanged for zh_CN.po

12 years agoUpdate l10n guide: change the repository URL, etc
Jiang Xin [Fri, 2 Mar 2012 02:29:53 +0000 (10:29 +0800)]
Update l10n guide: change the repository URL, etc

Host the l10n coordinator repository in a dedicated github organization
account "git-l10n", so that the team may have a more permanent home.
Also add a hint about reference of TEAMS file for l10n contributors.

Update TEAMS file with new zh_CN l10n team members and a repository URL.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'maint'
Junio C Hamano [Thu, 1 Mar 2012 22:45:14 +0000 (14:45 -0800)]
Merge branch 'maint'

* maint:
  Documentation fixes in git-config

12 years agoMerge branch 'nd/maint-verify-objects'
Junio C Hamano [Thu, 1 Mar 2012 22:44:42 +0000 (14:44 -0800)]
Merge branch 'nd/maint-verify-objects'

* nd/maint-verify-objects:
  rev-list: fix --verify-objects --quiet becoming --objects
  rev-list: remove BISECT_SHOW_TRIED flag

12 years agoMerge branch 'jn/maint-gitweb-invalid-regexp'
Junio C Hamano [Thu, 1 Mar 2012 22:44:38 +0000 (14:44 -0800)]
Merge branch 'jn/maint-gitweb-invalid-regexp'

* jn/maint-gitweb-invalid-regexp:
  gitweb: Handle invalid regexp in regexp search

12 years agoMerge branch 'cn/maint-rev-list-doc'
Junio C Hamano [Thu, 1 Mar 2012 22:44:28 +0000 (14:44 -0800)]
Merge branch 'cn/maint-rev-list-doc'

* cn/maint-rev-list-doc:
  Documentation: use {asterisk} in rev-list-options.txt when needed

12 years agoMerge branch 'cn/maint-branch-with-bad'
Junio C Hamano [Thu, 1 Mar 2012 22:44:17 +0000 (14:44 -0800)]
Merge branch 'cn/maint-branch-with-bad'

* cn/maint-branch-with-bad:
  branch: don't assume the merge filter ref exists

Conflicts:
t/t3200-branch.sh

12 years agodiff --stat: add config option to limit graph width
Zbigniew Jędrzejewski-Szmek [Thu, 1 Mar 2012 12:26:46 +0000 (13:26 +0100)]
diff --stat: add config option to limit graph width

Config option diff.statGraphWidth=<width> is equivalent to
--stat-graph-width=<width>, except that the config option is ignored
by format-patch.

For the graph-width limiting to be usable, it should happen
'automatically' once configured, hence the config option.
Nevertheless, graph width limiting only makes sense when used on a
wide terminal, so it should not influence the output of format-patch,
which adheres to the 80-column standard.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodiff --stat: enable limiting of the graph part
Zbigniew Jędrzejewski-Szmek [Thu, 1 Mar 2012 12:26:45 +0000 (13:26 +0100)]
diff --stat: enable limiting of the graph part

A new option --stat-graph-width=<width> can be used to limit the width
of the graph part even is more space is available. Up to <width>
columns will be used for the graph.

If commits changing a lot of lines are displayed in a wide terminal
window (200 or more columns), and the +- graph uses the full width,
the output can be hard to comfortably scan with a horizontal movement
of human eyes. Messages wrapped to about 80 columns would be
interspersed with very long +- lines. It makes sense to limit the
width of the graph part to a fixed value (e.g. 70 columns), even if
more columns are available.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodiff --stat: add a test for output with COLUMNS=40
Zbigniew Jędrzejewski-Szmek [Thu, 1 Mar 2012 12:26:44 +0000 (13:26 +0100)]
diff --stat: add a test for output with COLUMNS=40

In preparation for the introduction on the limit of the width of the
graph part, a new test with COLUMNS=40 is added to check that the
environment variable influences diff, show, log, but not format-patch.
A new test is added because limiting the graph part makes COLUMNS=200
stop influencing diff --stat behaviour, which isn't wide enough now.
The old test with COLUMNS=200 is retained to check for regressions.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodiff --stat: use a maximum of 5/8 for the filename part
Zbigniew Jędrzejewski-Szmek [Thu, 1 Mar 2012 12:26:43 +0000 (13:26 +0100)]
diff --stat: use a maximum of 5/8 for the filename part

The way that available columns are divided between the filename part
and the graph part is modified to use as many columns as necessary for
the filenames and the rest for the graph.

If there isn't enough columns to print both the filename and the
graph, at least 5/8 of available space is devoted to filenames. On a
standard 80 column terminal, or if not connected to a terminal and
using the default of 80 columns, this gives the same partition as
before.

The effect of this change is visible in the patch to the test vector
in t4052; with a small change with long filename, it stops truncating
the name part too short, and also allocates a bit more columns to the
graph for larger changes.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agomerge --stat: use the full terminal width
Zbigniew Jędrzejewski-Szmek [Thu, 1 Mar 2012 12:26:42 +0000 (13:26 +0100)]
merge --stat: use the full terminal width

Make merge --stat behave like diff --stat and use the full terminal
width.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agolog --stat: use the full terminal width
Zbigniew Jędrzejewski-Szmek [Thu, 1 Mar 2012 12:26:41 +0000 (13:26 +0100)]
log --stat: use the full terminal width

Make log --stat behave like diff --stat and use the full terminal
width.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoshow --stat: use the full terminal width
Zbigniew Jędrzejewski-Szmek [Thu, 1 Mar 2012 12:26:40 +0000 (13:26 +0100)]
show --stat: use the full terminal width

Make show --stat behave like diff --stat and use the full terminal
width.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodiff --stat: use the full terminal width
Zbigniew Jędrzejewski-Szmek [Thu, 1 Mar 2012 12:26:39 +0000 (13:26 +0100)]
diff --stat: use the full terminal width

Default to the real terminal width for diff --stat output, instead
of the hard-coded 80 columns.

Some projects (especially in Java), have long filename paths, with
nested directories or long individual filenames. When files are
renamed, the filename part in stat output can be almost useless. If
the middle part between { and } is long (because the file was moved to
a completely different directory), then most of the path would be
truncated.

It makes sense to detect and use the full terminal width and display
full filenames if possible.

The are commands like diff, show, and log, which can adapt the output
to the terminal width. There are also commands like format-patch,
whose output should be independent of the terminal width. Since it is
safer to use the 80-column default, the real terminal width is only
used if requested by the calling code by setting diffopts.stat_width=-1.
Normally this value is 0, and can be set by the user only to a
non-negative value, so -1 is safe to use internally.

This patch only changes the diff builtin to use the full terminal width.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodiff --stat: tests for long filenames and big change counts
Junio C Hamano [Thu, 1 Mar 2012 12:26:38 +0000 (13:26 +0100)]
diff --stat: tests for long filenames and big change counts

In preparation for updates to the "diff --stat" that updates the logic
to split the allotted columns into the name part and the graph part to
make the output more readable, add a handful of tests to document the
corner case behaviour in which long filenames and big changes are shown.

When a pathname is so long that it cannot fit on the column, the current
code truncates it to make sure that the graph part has enough room to show
a meaningful graph.  If the actual change is small (e.g. only one line
changed), this results in the final output that is shorter than the width
we aim for.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDocumentation fixes in git-config
Libor Pechacek [Thu, 1 Mar 2012 10:59:45 +0000 (11:59 +0100)]
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>
12 years agol10n: leave leading space unchanged for zh_CN.po
ws3389 [Wed, 29 Feb 2012 12:53:26 +0000 (20:53 +0800)]
l10n: leave leading space unchanged for zh_CN.po

Signed-off-by: ws3389 <willsmith3389@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agoUpdate l10n guide
Junio C Hamano [Wed, 29 Feb 2012 08:10:30 +0000 (00:10 -0800)]
Update l10n guide

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agofsck: --no-dangling omits "dangling object" information
Junio C Hamano [Tue, 28 Feb 2012 22:55:39 +0000 (14:55 -0800)]
fsck: --no-dangling omits "dangling object" information

The default output from "fsck" is often overwhelmed by informational
message on dangling objects, especially if you do not repack often, and a
real error can easily be buried.

Add "--no-dangling" option to omit them, and update the user manual to
demonstrate its use.

Based on a patch by Clemens Buchacher, but reverted the part to change
the default to --no-dangling, which is unsuitable for the first patch.
The usual three-step procedure to break the backward compatibility over
time needs to happen on top of this, if we were to go in that direction.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoUpdate draft release notes to 1.7.10
Junio C Hamano [Tue, 28 Feb 2012 21:31:05 +0000 (13:31 -0800)]
Update draft release notes to 1.7.10

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'pj/completion-remote-set-url-branches'
Junio C Hamano [Tue, 28 Feb 2012 21:26:04 +0000 (13:26 -0800)]
Merge branch 'pj/completion-remote-set-url-branches'

* pj/completion-remote-set-url-branches:
  completion: normalize increment/decrement style
  completion: remote set-* <name> and <branch>

12 years agoMerge branch 'ph/cherry-pick-advice-refinement'
Junio C Hamano [Tue, 28 Feb 2012 21:26:01 +0000 (13:26 -0800)]
Merge branch 'ph/cherry-pick-advice-refinement'

* ph/cherry-pick-advice-refinement:
  cherry-pick: No advice to commit if --no-commit

12 years agoMerge branch 'jb/required-filter'
Junio C Hamano [Tue, 28 Feb 2012 21:25:57 +0000 (13:25 -0800)]
Merge branch 'jb/required-filter'

* jb/required-filter:
  Add a setting to require a filter to be successful

Conflicts:
convert.c

12 years agoDocumentation: use {asterisk} in rev-list-options.txt when needed
Carlos Martín Nieto [Tue, 28 Feb 2012 15:35:48 +0000 (16:35 +0100)]
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>
12 years agoparse-options: remove PARSE_OPT_NEGHELP
René Scharfe [Tue, 28 Feb 2012 19:06:09 +0000 (20:06 +0100)]
parse-options: remove PARSE_OPT_NEGHELP

PARSE_OPT_NEGHELP is confusing because short options defined with that
flag do the opposite of what the helptext says. It is also not needed
anymore now that options starting with no- can be negated by removing
that prefix. Convert its only two users to OPT_NEGBIT() and OPT_BOOL()
and then remove support for PARSE_OPT_NEGHELP.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogitweb: Handle invalid regexp in regexp search
Jakub Narebski [Tue, 28 Feb 2012 18:41:47 +0000 (19:41 +0100)]
gitweb: Handle invalid regexp in regexp search

When using regexp search ('sr' parameter / $search_use_regexp variable
is true), check first that regexp is valid.

Without this patch we would get an error from Perl during search (if
searching is performed by gitweb), or highlighting matches substring
(if applicable), if user provided invalid regexp... which means broken
HTML, with error page (including HTTP headers) generated after gitweb
already produced some output.

Add test that illustrates such error: for example for regexp "*\.git"
we would get the following error:

  Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE \.git/
  at /var/www/cgi-bin/gitweb.cgi line 3084.

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>
12 years agorev-list: fix --verify-objects --quiet becoming --objects
Nguyễn Thái Ngọc Duy [Tue, 28 Feb 2012 14:00:00 +0000 (21:00 +0700)]
rev-list: fix --verify-objects --quiet becoming --objects

When --quiet is specified, finish_object() is called instead of
show_object(). The latter is in charge of --verify-objects and
will be skipped  if --quiet is specified.

Move the code up to finish_object(). Also pass the quiet flag along
and make it always call show_* functions to avoid similar problems in
future.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agorev-list: remove BISECT_SHOW_TRIED flag
Nguyễn Thái Ngọc Duy [Tue, 28 Feb 2012 13:59:59 +0000 (20:59 +0700)]
rev-list: remove BISECT_SHOW_TRIED flag

Since c99f069 (bisect--helper: remove "--next-vars" option as it is
now useless - 2009-04-21), this flag has always been off. Remove the
flag and all related code.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge pull request from jiangxin/master
Jiang Xin [Tue, 28 Feb 2012 16:40:07 +0000 (00:40 +0800)]
Merge pull request from jiangxin/master

l10n: translation for Simplified Chinese.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agol10n: update Chinese translation to the new git.po
Jiang Xin [Tue, 28 Feb 2012 04:24:54 +0000 (12:24 +0800)]
l10n: update Chinese translation to the new git.po

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agol10n: Update git.pot (12 new messages)
Jiang Xin [Tue, 28 Feb 2012 04:24:20 +0000 (12:24 +0800)]
l10n: Update git.pot (12 new messages)

Update file 'po/git.pot' to v1.7.9.2-315-g25a78 (Merge branch 'maint'),
with 12 new string additions.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agoMerge branch 'master' into git-po
Jiang Xin [Tue, 28 Feb 2012 04:23:26 +0000 (12:23 +0800)]
Merge branch 'master' into git-po

12 years agosymbolic-ref --short: abbreviate the output unambiguously
Jan Krüger [Mon, 27 Feb 2012 22:10:38 +0000 (23:10 +0100)]
symbolic-ref --short: abbreviate the output unambiguously

It can be helpful to resolve a symbolic ref and output the result in a
shortened form, such as for use in shell prompts.  Add a "--short" option
to do so.

Signed-off-by: Jan Krüger <jk@jk.gs>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'maint'
Junio C Hamano [Mon, 27 Feb 2012 23:37:02 +0000 (15:37 -0800)]
Merge branch 'maint'

* maint:
  Update draft release notes to 1.7.9.3
  CodingGuidelines: do not use 'which' in shell scripts
  CodingGuidelines: Add a note about spaces after redirection
  post-receive-email: match up $LOGBEGIN..$LOGEND pairs correctly
  post-receive-email: remove unused variable

12 years agoUpdate draft release notes to 1.7.9.3
Junio C Hamano [Mon, 27 Feb 2012 23:36:08 +0000 (15:36 -0800)]
Update draft release notes to 1.7.9.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'pj/remote-set-branches-usage-fix' into maint
Junio C Hamano [Mon, 27 Feb 2012 23:33:33 +0000 (15:33 -0800)]
Merge branch 'pj/remote-set-branches-usage-fix' into maint

* pj/remote-set-branches-usage-fix:
  remote: fix set-branches usage and documentation

Conflicts:
builtin/remote.c

12 years agoMerge branch 'jn/gitweb-unborn-head' into maint
Junio C Hamano [Mon, 27 Feb 2012 23:33:26 +0000 (15:33 -0800)]
Merge branch 'jn/gitweb-unborn-head' into maint

* jn/gitweb-unborn-head:
  gitweb: Fix "heads" view when there is no current branch

12 years agoMerge branch 'jn/ancient-meld-support' into maint
Junio C Hamano [Mon, 27 Feb 2012 23:33:07 +0000 (15:33 -0800)]
Merge branch 'jn/ancient-meld-support' into maint

* jn/ancient-meld-support:
  mergetools/meld: Use --help output to detect --output support

12 years agoMerge branch 'tr/merge-edit-guidance' into maint
Junio C Hamano [Mon, 27 Feb 2012 23:31:50 +0000 (15:31 -0800)]
Merge branch 'tr/merge-edit-guidance' into maint

* tr/merge-edit-guidance:
  merge: add instructions to the commit message when editing

12 years agoCodingGuidelines: do not use 'which' in shell scripts
Tim Henigan [Fri, 24 Feb 2012 23:12:58 +0000 (18:12 -0500)]
CodingGuidelines: do not use 'which' in shell scripts

During the code review of a recent patch, it was noted that shell scripts
must not use 'which $cmd' to check the availability of the command $cmd.
The output of the command is not machine parseable and its exit code is
not reliable across platforms.

It is better to use 'type' to accomplish this task.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoCodingGuidelines: Add a note about spaces after redirection
Tim Henigan [Fri, 24 Feb 2012 23:12:57 +0000 (18:12 -0500)]
CodingGuidelines: Add a note about spaces after redirection

During code review of some patches, it was noted that redirection operators
should have space before, but no space after them.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agocontrib: add git-diffall script
Tim Henigan [Fri, 24 Feb 2012 19:48:57 +0000 (14:48 -0500)]
contrib: add git-diffall script

The 'git difftool' allows the user to view diffs using an external tool.
It runs a separate instance of the tool for each file in the diff. This
makes it tedious to review changes spanning multiple files.

The 'git-diffall' script instead prepares temporary directories with the
files to be compared and launches a single instance of the external diff
tool to view them (i.e. a directory diff).

The 'diff.tool' or 'merge.tool' configuration variable is used to specify
which external tool is used.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogit-p4: missing she-bang line in t9804 confuses prove
Zbigniew Jędrzejewski-Szmek [Mon, 27 Feb 2012 17:40:14 +0000 (18:40 +0100)]
git-p4: missing she-bang line in t9804 confuses prove

Without the magic line, prove shows lots and lots of errors:
% prove ./t9804-git-p4-label.sh
./t9804-git-p4-label.sh .. syntax error at ./t9804-git-p4-label.sh line 3, near ". ."
...

When #!/bin/sh is added, tests are skipped (I have no p4d).

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogrep -P: add tests for matching ^ and $
Michał Kiedrowicz [Mon, 27 Feb 2012 16:45:49 +0000 (17:45 +0100)]
grep -P: add tests for matching ^ and $

Earlier, fba4f1 (grep -P: Fix matching ^ and $) fixed an ancient bug.  Add
some tests to protect the change from future breakages; a slightly broken
version of this was a part of the originally submitted patch.

Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com>
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agobranch: don't assume the merge filter ref exists
Carlos Martín Nieto [Mon, 27 Feb 2012 15:11:53 +0000 (16:11 +0100)]
branch: don't assume the merge filter ref exists

print_ref_list looks up the merge_filter_ref and assumes that a valid
pointer is returned. When the object doesn't exist, it tries to
dereference a NULL pointer. This can be the case when git branch
--merged is given an argument that isn't a valid commit name.

Check whether the lookup returns a NULL pointer and die with an error
if it does. Add a test, while we're at it.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agopost-receive-email: match up $LOGBEGIN..$LOGEND pairs correctly
Michael Haggerty [Mon, 27 Feb 2012 18:34:10 +0000 (19:34 +0100)]
post-receive-email: match up $LOGBEGIN..$LOGEND pairs correctly

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agopost-receive-email: remove unused variable
Michael Haggerty [Mon, 27 Feb 2012 18:34:09 +0000 (19:34 +0100)]
post-receive-email: remove unused variable

prep_for_email neither is passed a fourth argument nor uses it.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agosend-email: document the --smtp-debug option
Zbigniew Jędrzejewski-Szmek [Mon, 27 Feb 2012 16:22:53 +0000 (17:22 +0100)]
send-email: document the --smtp-debug option

The option was already shown in -h output, so it should be documented
in the man page.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Suggested-by: David A. Greene <greened@obbligato.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agol10n: fast-forward here is ff-only merge, not push
Yichao Yu [Thu, 2 Feb 2012 08:43:01 +0000 (03:43 -0500)]
l10n: fast-forward here is ff-only merge, not push

Signed-off-by: Yichao Yu <yyc1992@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agol10n: update zh_CN translation for "Fetching %s"
Riku [Thu, 2 Feb 2012 08:40:12 +0000 (16:40 +0800)]
l10n: update zh_CN translation for "Fetching %s"

Signed-off-by: Riku <lu.riku@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agoUpdate draft release notes to 1.7.10
Junio C Hamano [Mon, 27 Feb 2012 07:11:10 +0000 (23:11 -0800)]
Update draft release notes to 1.7.10

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'jn/gitweb-search-optim'
Junio C Hamano [Mon, 27 Feb 2012 07:05:56 +0000 (23:05 -0800)]
Merge branch 'jn/gitweb-search-optim'

* jn/gitweb-search-optim:
  gitweb: Faster project search
  gitweb: Option for filling only specified info in fill_project_list_info
  gitweb: Refactor checking if part of project info need filling

12 years agoMerge branch 'tr/maint-bundle-long-subject'
Junio C Hamano [Mon, 27 Feb 2012 07:05:51 +0000 (23:05 -0800)]
Merge branch 'tr/maint-bundle-long-subject'

* 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

12 years agoMerge branch 'sp/smart-http-failure-to-push'
Junio C Hamano [Mon, 27 Feb 2012 07:05:48 +0000 (23:05 -0800)]
Merge branch 'sp/smart-http-failure-to-push'

* 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

12 years agoMerge branch 'fc/push-prune'
Junio C Hamano [Mon, 27 Feb 2012 07:05:45 +0000 (23:05 -0800)]
Merge branch 'fc/push-prune'

* fc/push-prune:
  push: add '--prune' option
  remote: refactor code into alloc_delete_ref()
  remote: reorganize check_pattern_match()
  remote: use a local variable in match_push_refs()

Conflicts:
builtin/push.c

12 years agoMerge branch 'jc/doc-merge-options'
Junio C Hamano [Mon, 27 Feb 2012 07:05:42 +0000 (23:05 -0800)]
Merge branch 'jc/doc-merge-options'

* jc/doc-merge-options:
  Documentation/merge-options.txt: group "ff" related options together

12 years agoMerge branch 'jk/maint-avoid-streaming-filtered-contents'
Junio C Hamano [Mon, 27 Feb 2012 07:05:38 +0000 (23:05 -0800)]
Merge branch 'jk/maint-avoid-streaming-filtered-contents'

* 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

12 years agoMerge branch 'jb/filter-ignore-sigpipe'
Junio C Hamano [Mon, 27 Feb 2012 07:05:31 +0000 (23:05 -0800)]
Merge branch 'jb/filter-ignore-sigpipe'

* jb/filter-ignore-sigpipe:
  Ignore SIGPIPE when running a filter driver

12 years agotest: "am -3" can accept non-standard -p<num>
Junio C Hamano [Mon, 27 Feb 2012 07:00:47 +0000 (23:00 -0800)]
test: "am -3" can accept non-standard -p<num>

This adds a test for the previous one to make sure that "am -3 -p0" can
read patches created with the --no-prefix option.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogitweb: Highlight matched part of shortened project description
Jakub Narebski [Mon, 27 Feb 2012 01:55:22 +0000 (02:55 +0100)]
gitweb: Highlight matched part of shortened project description

Previous commit make gitweb use esc_html_match_hl() to mark match in
the _whole_ description of a project when searching projects.

This commit makes gitweb highlight match in _shortened_ description,
based on match in whole description, using esc_html_match_hl_chopped()
subroutine.

If match is in removed (chopped) part, even partially, then trailing
"... " is highlighted.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>