git
12 years agoProvide branch name in error message when using @{u}
Zbigniew Jędrzejewski-Szmek [Sat, 14 Apr 2012 07:54:32 +0000 (09:54 +0200)] 
Provide branch name in error message when using @{u}

When using @{u} or @{upstream} it is common to omit the branch name,
implying current branch. If the upstream is not configured, the error
message was "No upstream branch found for ''".

When resolving '@{u}', branch_get() is called, which almost always
returns a description of a branch. This allows us to use a branch name
in the error message, even if the user said something like '@{u}'.

The only case when branch_get() returns NULL is when HEAD points to so
something which is not a branch. Of course this also means that no
upstream is configured, but it is better to directly say that HEAD
does not point to a branch.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agot1507: add tests to document @{upstream} behaviour
Zbigniew Jędrzejewski-Szmek [Sat, 14 Apr 2012 07:54:31 +0000 (09:54 +0200)] 
t1507: add tests to document @{upstream} behaviour

In preparation for future changes, add tests which show error messages
with @{upstream} in various conditions:

- test branch@{u} with . as remote
- check error message for branch@{u} on a branch with
  * no upstream,
  * on a branch with a configured upstream which doesn't have a
    remote-tracking branch
- check error message for branch@{u} when branch 'branch' does not
  exist
- check error message for @{u} without the branch name

Right now the messages are very similar, but various cases can and
will be distinguished.

Note: test_i18ncmp is not used, because currently error output is not
internationalized. test_cmp will be switched to test_i18ncmp in a later
patch, when error messages are internationalized.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoGit 1.7.10 v1.7.10
Junio C Hamano [Fri, 6 Apr 2012 17:47:58 +0000 (10:47 -0700)] 
Git 1.7.10

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agospec: add missing build dependency
Felipe Contreras [Fri, 6 Apr 2012 12:22:30 +0000 (15:22 +0300)] 
spec: add missing build dependency

Otherwise:

/usr/bin/perl Makefile.PL PREFIX='/opt/git' INSTALL_BASE=''
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: ...) at Makefile.PL line 1.
BEGIN failed--compilation aborted at Makefile.PL line 1.
make[1]: *** [perl.mak] Error 2
make: *** [perl/perl.mak] Error 2

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoGit 1.7.10-rc4 v1.7.10-rc4
Junio C Hamano [Tue, 3 Apr 2012 16:25:49 +0000 (09:25 -0700)] 
Git 1.7.10-rc4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'pt/gitk'
Junio C Hamano [Mon, 2 Apr 2012 22:06:25 +0000 (15:06 -0700)] 
Merge branch 'pt/gitk'

* pt/gitk:
  gitk: fix setting font display with new tabbed dialog layout.
  gitk: fix tabbed preferences construction when using tcl 8.4

12 years agoSync with 1.7.9.6
Junio C Hamano [Mon, 2 Apr 2012 20:09:21 +0000 (13:09 -0700)] 
Sync with 1.7.9.6

12 years agoGit 1.7.9.6 v1.7.9.6
Junio C Hamano [Mon, 2 Apr 2012 20:07:58 +0000 (13:07 -0700)] 
Git 1.7.9.6

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'jc/maint-merge-autoedit' into maint
Junio C Hamano [Mon, 2 Apr 2012 19:56:35 +0000 (12:56 -0700)] 
Merge branch 'jc/maint-merge-autoedit' into maint

* jc/maint-merge-autoedit:
  merge: backport GIT_MERGE_AUTOEDIT support

12 years agogitk: fix setting font display with new tabbed dialog layout.
Pat Thoyts [Sun, 1 Apr 2012 22:00:52 +0000 (23:00 +0100)] 
gitk: fix setting font display with new tabbed dialog layout.

The changes to the dialog window tree broke the preview of the selected
font on the button. This corrects that issue.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogitk: fix tabbed preferences construction when using tcl 8.4
Pat Thoyts [Sun, 1 Apr 2012 22:00:51 +0000 (23:00 +0100)] 
gitk: fix tabbed preferences construction when using tcl 8.4

In 8.5 the incr command creates the target variable if it does not exist
but in 8.4 using incr on a non-existing variable raises an error. Ensure
we have created our counter variable when creating the tabbed dialog for
non-themed preferences.

Reported-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Mon, 2 Apr 2012 16:19:47 +0000 (09:19 -0700)] 
Merge git://github.com/git-l10n/git-po

Portuguese Portuguese translations from Marco Sousa via Jiang Xin

* 'master' of git://github.com/git-l10n/git-po:
  l10n: Add the Dutch translation team and initialize nl.po
  l10n: Inital Portuguese Portugal language (pt_PT)
  l10n: Improve zh_CN translation for Git 1.7.10-rc3

12 years agol10n: Add the Dutch translation team and initialize nl.po
Vincent van Ravesteijn [Mon, 2 Apr 2012 12:14:08 +0000 (14:14 +0200)] 
l10n: Add the Dutch translation team and initialize nl.po

Signed-off-by: Vincent van Ravesteijn <vfr@lyx.org>
12 years agol10n: Inital Portuguese Portugal language (pt_PT)
Marco Sousa [Sat, 31 Mar 2012 15:51:45 +0000 (17:51 +0200)] 
l10n: Inital Portuguese Portugal language (pt_PT)

Signed-off-by: Marco Sousa <marcomsousa@gmail.com>
12 years agoMerge branch 'maint'
Junio C Hamano [Sat, 31 Mar 2012 03:25:55 +0000 (20:25 -0700)] 
Merge branch 'maint'

* maint:
  string-list: document that string_list_insert() inserts unique strings

12 years agostring-list: document that string_list_insert() inserts unique strings
Heiko Voigt [Thu, 29 Mar 2012 07:21:22 +0000 (09:21 +0200)] 
string-list: document that string_list_insert() inserts unique strings

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agol10n: Improve zh_CN translation for Git 1.7.10-rc3
Jiang Xin [Fri, 30 Mar 2012 02:55:34 +0000 (10:55 +0800)] 
l10n: Improve zh_CN translation for Git 1.7.10-rc3

Improvements of zh_CN translations:

 - Update translation for msg "Changes not staged for commit:".
 - Remove unnecessary leading spaces for some messages.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agoconfig: remove useless assignment
René Scharfe [Wed, 28 Mar 2012 20:18:37 +0000 (22:18 +0200)] 
config: remove useless assignment

v1.7.9-8-g270a344 (config: stop using config_exclusive_filename) replaced
config_exclusive_filename with given_config_file.  In one case this
resulted in a self-assignment, which is reported by clang as a warning.
Remove the useless code.

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 agoGit 1.7.10-rc3 v1.7.10-rc3
Junio C Hamano [Wed, 28 Mar 2012 17:51:00 +0000 (10:51 -0700)] 
Git 1.7.10-rc3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agocorrect a few doubled-word nits in comments and documentation
Jim Meyering [Wed, 28 Mar 2012 08:45:36 +0000 (10:45 +0200)] 
correct a few doubled-word nits in comments and documentation

Found by running this command:
$ git ls-files -z|xargs -0 perl -0777 -n \
 -e 'while (/\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims)' \
 -e '  {' \
 -e '    $n = ($` =~ tr/\n/\n/ + 1);' \
 -e '    ($v = $&) =~ s/\n/\\n/g;' \
 -e '    print "$ARGV:$n:$v\n";' \
 -e '  }'

Why not just git grep -E ...?
That wouldn't work then the doubled words are separated by a newline.
This is derived from a Makefile syntax-check rule in gnulib's maint.mk:
  http://git.sv.gnu.org/cgit/gnulib.git/tree/top/maint.mk

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agocorrect spelling: an URL -> a URL
Jim Meyering [Wed, 28 Mar 2012 08:41:54 +0000 (10:41 +0200)] 
correct spelling: an URL -> a URL

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agol10n updates for Git 1.7.10-rc1
Junio C Hamano [Tue, 27 Mar 2012 15:39:18 +0000 (08:39 -0700)] 
l10n updates for Git 1.7.10-rc1

* 'master' of git://github.com/git-l10n/git-po:
  Add url of Swedish l10n team in TEAMS file
  l10n: Review zh_CN translation for Git 1.7.10-rc1
  Update Swedish translation (724t0f0u).
  l10n: Update zh_CN translation for Git 1.7.10-rc1
  l10n: Update git.pot (1 new message)

12 years agotests: unset COLUMNS inherited from environment
Zbigniew Jędrzejewski-Szmek [Tue, 27 Mar 2012 06:22:02 +0000 (08:22 +0200)] 
tests: unset COLUMNS inherited from environment

$COLUMNS must be unset to not interfere with the tests. The tests
already ignore the terminal size because output is redirected to a
file, but COLUMNS overrides terminal size detection and changes the
test output away from the standard 80.

Reported-by: Jeff King <peff@peff.net>
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoAdd url of Swedish l10n team in TEAMS file
Jiang Xin [Tue, 27 Mar 2012 09:11:34 +0000 (17:11 +0800)] 
Add url of Swedish l10n team in TEAMS file

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agol10n: Review zh_CN translation for Git 1.7.10-rc1
Jiang Xin [Tue, 27 Mar 2012 06:46:11 +0000 (14:46 +0800)] 
l10n: Review zh_CN translation for Git 1.7.10-rc1

Overall review of the zh_CN translation:

 - Distinguish the translations of index and stage, though they are the
   same thing.

 - Many other fixes, e.g., add the lost periods at the end of translated
   sentences.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agoUpdate Swedish translation (724t0f0u).
Peter Krefting [Thu, 15 Mar 2012 09:47:06 +0000 (10:47 +0100)] 
Update Swedish translation (724t0f0u).

- Update for 1.7.10-rc1.
- Add a missing -e when generaring the "Untracked files" message.
- Fixed some wordings after playing with the localized version.

12 years agoUpdate draft release notes to 1.7.10
Junio C Hamano [Mon, 26 Mar 2012 19:38:34 +0000 (12:38 -0700)] 
Update draft release notes to 1.7.10

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoSync with 1.7.9.5
Junio C Hamano [Mon, 26 Mar 2012 19:30:51 +0000 (12:30 -0700)] 
Sync with 1.7.9.5

12 years agoGit 1.7.9.5 v1.7.9.5
Junio C Hamano [Mon, 26 Mar 2012 19:23:34 +0000 (12:23 -0700)] 
Git 1.7.9.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'jn/maint-fast-import-empty-ls' into maint
Junio C Hamano [Mon, 26 Mar 2012 19:10:25 +0000 (12:10 -0700)] 
Merge branch 'jn/maint-fast-import-empty-ls' into maint

* jn/maint-fast-import-empty-ls:
  fast-import: don't allow 'ls' of path with empty components
  fast-import: leakfix for 'ls' of dirty trees

12 years agoMerge branch 'ph/rerere-doc' into maint
Junio C Hamano [Mon, 26 Mar 2012 19:10:12 +0000 (12:10 -0700)] 
Merge branch 'ph/rerere-doc' into maint

* ph/rerere-doc:
  rerere: Document 'rerere remaining'

12 years agoMerge branch 'ms/maint-config-error-at-eol-linecount' into maint
Junio C Hamano [Mon, 26 Mar 2012 19:10:05 +0000 (12:10 -0700)] 
Merge branch 'ms/maint-config-error-at-eol-linecount' into maint

* ms/maint-config-error-at-eol-linecount:
  config: report errors at the EOL with correct line number

12 years agogrep doc: add --break / --heading / -W to synopsis
Mark Lodato [Mon, 26 Mar 2012 02:41:42 +0000 (22:41 -0400)] 
grep doc: add --break / --heading / -W to synopsis

All of the other options were included in the synopsis, so it makes
sense to include these as well.

Signed-off-by: Mark Lodato <lodatom@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDocumentation: improve description of GIT_EDITOR and preference order
Rodrigo Silva (MestreLion) [Fri, 23 Mar 2012 12:38:42 +0000 (12:38 +0000)] 
Documentation: improve description of GIT_EDITOR and preference order

Previously GIT_EDITOR was not listed in git(1) "Environment Variables" section,
which could be very confusing to users. Include it in "other" subsection along
with a link to git-var(1), since that is the page that fully describes all
places where editor can be set and also their preference order.

Also, git-var(1) did not say that hardcoded fallback 'vi' may have been changed
at build time. A user could be puzzled if 'nano' pops up even when none of the
mentioned environment vars or config.editor are set. Clarify this.

Ideally, the build system should be changed to reflect the chosen fallback
editor when creating the man pages. Not sure if that is even possible though.

Signed-off-by: Rodrigo Silva (MestreLion) <linux@rodrigosilva.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodocumentation: fix alphabetic ordered list for git-rebase man page
Nelson Benitez Leon [Fri, 23 Mar 2012 11:31:39 +0000 (12:31 +0100)] 
documentation: fix alphabetic ordered list for git-rebase man page

An alphabetic ordered list (a.) is converted to numerical in
the man page (1.) so context comments naming 'a' were confusing,
fix that by not using ordered list notation for 'a' anb 'b' items.

Signed-off-by: Nelson Benitez Leon <nelsonjesus.benitez@seap.minhap.es>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge gitk changes from Paul Mackerras at git://ozlabs.org/~paulus/gitk
Junio C Hamano [Sat, 24 Mar 2012 08:30:30 +0000 (01:30 -0700)] 
Merge gitk changes from Paul Mackerras at git://ozlabs.org/~paulus/gitk

* git://ozlabs.org/~paulus/gitk:
  gitk: Teach gitk to respect log.showroot
  gitk: Add menu items for comparing a commit with the marked commit
  gitk: Speed up resolution of short SHA1 ids
  gitk: Use symbolic font names "sans" and "monospace" when available
  gitk: Skip over AUTHOR/COMMIT_DATE when searching all fields
  gitk: Make "git describe" output clickable, too
  gitk: Fix the display of files when filtered by path
  gitk: Use a tabbed dialog to edit preferences
  gitk: Use "gitk: repo-top-level-dir" as window title

12 years agogitk: Teach gitk to respect log.showroot
Marcus Karlsson [Tue, 4 Oct 2011 20:08:13 +0000 (22:08 +0200)] 
gitk: Teach gitk to respect log.showroot

In early days, all projects managed by git (except for git itself) had the
product of a fairly mature development history in their first commit, and
it was deemed unnecessary clutter to show additions of these thousands of
paths as a patch.

"git log" learned to show the patch for the initial commit without requiring
--root command line option at 0f03ca9 (config option log.showroot to show
the diff of root commits, 2006-11-23).

Teach gitk to respect log.showroot.

[paulus@samba.org: Cleaned up the Tcl a bit, use --bool on the
 git config call]

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>
Signed-off-by: Paul Mackerras <paulus@samba.org>
12 years agoGit 1.7.10-rc2 v1.7.10-rc2
Junio C Hamano [Fri, 23 Mar 2012 21:50:23 +0000 (14:50 -0700)] 
Git 1.7.10-rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years ago.mailmap: unify various old mail addresses of gitster
Junio C Hamano [Fri, 23 Mar 2012 21:40:39 +0000 (14:40 -0700)] 
.mailmap: unify various old mail addresses of gitster

"git shortlog -s -e" should show a single current address with this.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'am/completion-zsh-fix'
Junio C Hamano [Fri, 23 Mar 2012 21:36:21 +0000 (14:36 -0700)] 
Merge branch 'am/completion-zsh-fix'

* am/completion-zsh-fix:
  contrib/completion: "local var=()" is misinterpreted as func-decl by zsh

12 years agoMerge branch 'dw/gitweb-doc-grammo'
Junio C Hamano [Fri, 23 Mar 2012 21:36:13 +0000 (14:36 -0700)] 
Merge branch 'dw/gitweb-doc-grammo'

Typofix.

* dw/gitweb-doc-grammo:
  Documentation/gitweb: trivial English fixes

12 years agoDocumentation/gitweb: trivial English fixes
D Waitzman [Fri, 23 Mar 2012 15:02:43 +0000 (11:02 -0400)] 
Documentation/gitweb: trivial English fixes

Change "it's" to "its" where a possessive is intended.  Also add two
missing "the" that were noticed by Ben Walton.

Signed-off-by: David Waitzman <djw@bbn.com>
12 years agogitk: Add menu items for comparing a commit with the marked commit
Paul Mackerras [Fri, 23 Mar 2012 11:07:27 +0000 (22:07 +1100)] 
gitk: Add menu items for comparing a commit with the marked commit

Sometimes one wants to see the different between two commits that are
a long distance apart in the graph display.  This is difficult to do
with the "Diff this -> selected" and "Diff selected -> this" menu
items because the need to maintain the selection means that one can't
use the find facilities or the reference list window to navigate from
one to the other.

This provides an alternative using the mark.  Having found one commit,
one marks it with the "Mark this commit" menu item, then navigates to
the other commit and uses the new "Diff this -> marked commit" and/or
"Diff marked commit -> this" menu items.

Signed-off-by: Paul Mackerras <paulus@samba.org>
12 years agocontrib/completion: "local var=()" is misinterpreted as func-decl by zsh
Alex Merry [Thu, 1 Sep 2011 13:47:31 +0000 (14:47 +0100)] 
contrib/completion: "local var=()" is misinterpreted as func-decl by zsh

Certain versions of zsh seems to treat

    local var=()

as a function declaration, rather than an assignment of an empty array,
although its documentation does not suggest that this should be the case.

With zsh 4.3.15 on Fedora Core 15, this causes

  __git_ps1 " (%s)"

to trigger an error message:

  local:2: command not found: svn_url_pattern

when GIT_PS1_SHOWUPSTREAM="auto".

Signed-off-by: Alex Merry <dev@randomguy3.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'maint'
Junio C Hamano [Tue, 20 Mar 2012 22:54:28 +0000 (15:54 -0700)] 
Merge branch 'maint'

* maint:

12 years agoMerge branch 'maint-1.7.8' into maint
Junio C Hamano [Tue, 20 Mar 2012 22:53:30 +0000 (15:53 -0700)] 
Merge branch 'maint-1.7.8' into maint

* maint-1.7.8:
  t/Makefile: Use $(sort ...) explicitly where needed
  gitweb: Fix actionless dispatch for non-existent objects
  i18n of multi-line advice messages

12 years agomerge: backport GIT_MERGE_AUTOEDIT support
Junio C Hamano [Tue, 20 Mar 2012 22:39:10 +0000 (15:39 -0700)] 
merge: backport GIT_MERGE_AUTOEDIT support

Even though 1.7.9.x series does not open the editor by default
when merging in general, it does do so in one occassion: when
merging an annotated tag. And worse yet, there is no good way
for older scripts to decline this.

Backport the support for GIT_MERGE_AUTOEDIT environment variable
from 1.7.10 track to help those stuck on 1.7.9.x maintenance
track.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'ks/sort-wildcard-in-makefile' into maint-1.7.8
Junio C Hamano [Tue, 20 Mar 2012 22:26:19 +0000 (15:26 -0700)] 
Merge branch 'ks/sort-wildcard-in-makefile' into maint-1.7.8

* ks/sort-wildcard-in-makefile:
  t/Makefile: Use $(sort ...) explicitly where needed

12 years agoMerge branch 'jc/advise-i18n' into maint-1.7.8
Junio C Hamano [Tue, 20 Mar 2012 22:25:38 +0000 (15:25 -0700)] 
Merge branch 'jc/advise-i18n' into maint-1.7.8

* jc/advise-i18n:
  i18n of multi-line advice messages

12 years agoMerge branch 'jn/gitweb-unspecified-action' into maint-1.7.8
Junio C Hamano [Tue, 20 Mar 2012 22:24:23 +0000 (15:24 -0700)] 
Merge branch 'jn/gitweb-unspecified-action' into maint-1.7.8

* jn/gitweb-unspecified-action:
  gitweb: Fix actionless dispatch for non-existent objects

12 years agogitk: Speed up resolution of short SHA1 ids
Paul Mackerras [Mon, 19 Mar 2012 00:21:08 +0000 (11:21 +1100)] 
gitk: Speed up resolution of short SHA1 ids

On large repositories such as the Linux kernel, it can take quite a
noticeable time (several seconds) for gitk to resolve short SHA1 IDs
to their long form.  This speeds up the process by maintaining lists
of IDs indexed by the first 4 characters of the SHA1 ID, speeding up
the search by a factor of 65536 on large repositories.

Signed-off-by: Paul Mackerras <paulus@samba.org>
12 years agogitk: Use symbolic font names "sans" and "monospace" when available
Jonathan Nieder [Thu, 8 Mar 2012 12:30:11 +0000 (06:30 -0600)] 
gitk: Use symbolic font names "sans" and "monospace" when available

The following only concerns systems using X and the client-side font
rendering framework from freedesktop.org.  Windows and Mac OS X are
not affected.

Starting with version 8.5, Tk uses freetype and fontconfig by default
to render fonts on platforms that support it.  Gitk currently defaults
to the font Helvetica for the interface and Courier for diffs, and
both unfortunately look rather bad on screen in the default
configuration on many Linux distros with anti-aliasing and poor
hinting.

It is better to default to "sans" and "monospace", which are mapped by
fontconfig to some appropriate font of the sysadmin and user's
choosing (typically Bitstream Vera Sans and Mono).  The result looks
more sensible and it makes gitk feel like a well-behaved software
citizen since its fonts match other native apps.

This patch does not change the appearance of gitk for users that have
already run it, since gitk uses the remembered UI and diff font names
from ~/.gitk.

Requested-by: Michael Biebl <biebl@debian.org>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Acked-by: Mark Hills <mark@pogo.org.uk>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
12 years agogitk: Skip over AUTHOR/COMMIT_DATE when searching all fields
Frédéric Brière [Sun, 14 Mar 2010 22:59:09 +0000 (18:59 -0400)] 
gitk: Skip over AUTHOR/COMMIT_DATE when searching all fields

This prevents a search for a number like "105" on "All Fields" from
matching against the raw author and commit timestamps.  These
timestamps were already not searchable by themselves, and the
displayed format does not match the query string anyway.

Signed-off-by: Frédéric Brière <fbriere@fbriere.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
12 years agogitk: Make "git describe" output clickable, too
Jim Meyering [Sat, 10 Dec 2011 15:08:57 +0000 (16:08 +0100)] 
gitk: Make "git describe" output clickable, too

Automake's contribution guidelines suggest using "git describe" output
in commit logs to reference previous commits.  By contrast, in
coreutils, I had acquired the habit of using a bare SHA1 prefix (8 hex
digits), since gitk creates clickable links for that, and not for "git
describe" output.

I prefer the readability of the full "git describe" output, yet want
to retain the gitk links, so this renders as clickable not just
SHA1-like strings, but also an SHA1-like string that is prefixed by
"-g".

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
12 years agogitk: Fix the display of files when filtered by path
Pat Thoyts [Tue, 13 Dec 2011 16:50:50 +0000 (16:50 +0000)] 
gitk: Fix the display of files when filtered by path

Launching 'gitk -- .' or 'gitk -- ..\t' restricts the display to files
under the given directory but the file list is left empty. This is because
the path_filter function fails to match the filenames which are relative
to the working tree to the filter which is filessytem relative.
This solves the problem by making both names fully qualified filesystem
paths before performing the comparison.

Tested-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
12 years agogitk: Use a tabbed dialog to edit preferences
Pat Thoyts [Tue, 13 Dec 2011 14:56:49 +0000 (14:56 +0000)] 
gitk: Use a tabbed dialog to edit preferences

This commit converts the user preferences dialog into a tabbed property
sheet grouping general properties, colours and font selections onto
separate pages. The previous implementation was exceeding the screen
height on some systems and this avoids such problems and permits extension
using new pages in the future.

If themed Tk is unavailable or undesired a reasonable facsimile of the
tabbed notebook widget is used instead.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
12 years agogitk: Use "gitk: repo-top-level-dir" as window title
Zbigniew Jędrzejewski-Szmek [Wed, 9 Nov 2011 16:28:28 +0000 (17:28 +0100)] 
gitk: Use "gitk: repo-top-level-dir" as window title

Previously, when run in a subdirectory, gitk would show the name
of this subdirectory as title, which was misleading. When run with
GIT_DIR set, it would show the cwd, which is even more misleading.

In case of non-bare repos, the .git suffix in the path is skipped.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
12 years agoMerge branch 'ab/perl-i18n'
Junio C Hamano [Fri, 16 Mar 2012 16:16:17 +0000 (09:16 -0700)] 
Merge branch 'ab/perl-i18n'

* ab/perl-i18n:
  perl/Makefile: install Git::I18N under NO_PERL_MAKEMAKER
  Git::I18N: compatibility with perl <5.8.3

12 years agoperl/Makefile: install Git::I18N under NO_PERL_MAKEMAKER
Ævar Arnfjörð Bjarmason [Sat, 10 Mar 2012 12:29:35 +0000 (12:29 +0000)] 
perl/Makefile: install Git::I18N under NO_PERL_MAKEMAKER

When I added the i18n infrastructure in v1.7.8-rc2-1-g5e9637c I forgot
to install Git::I18N also when NO_PERL_MAKEMAKER=YesPlease was
set. Change the generation of the fallback perl.mak file to do that.

Now Git/I18N.pm is installed alongside Git.pm in such a way that
anything that uses GITPERLLIB will find it.

Reported-by: Tom G. Christensen <tgc@statsbiblioteket.dk>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@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, 16 Mar 2012 15:42:22 +0000 (08:42 -0700)] 
Update draft release notes to 1.7.10

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'th/mergetools-deltawalker'
Junio C Hamano [Fri, 16 Mar 2012 15:24:19 +0000 (08:24 -0700)] 
Merge branch 'th/mergetools-deltawalker'

* th/mergetools-deltawalker:
  Documentation/difftool: add deltawalker to list of valid diff tools

12 years agoMerge branch 'jc/maint-verify-objects-remove-pessimism'
Junio C Hamano [Fri, 16 Mar 2012 15:23:53 +0000 (08:23 -0700)] 
Merge branch 'jc/maint-verify-objects-remove-pessimism'

The code to validate the history connectivity between old refs and new
refs used by fetch and receive-pack, introduced in 1.7.8, was grossly
inefficient and unnecessarily tried to re-validate integrity of individual
objects. This essentially reverts that performance regression.

* jc/maint-verify-objects-remove-pessimism:
  fetch/receive: remove over-pessimistic connectivity check

12 years agoMerge branch 'sl/customize-sane-tool-path'
Junio C Hamano [Fri, 16 Mar 2012 15:23:34 +0000 (08:23 -0700)] 
Merge branch 'sl/customize-sane-tool-path'

* sl/customize-sane-tool-path:
  configure: allow user to prevent $PATH "sanitization" on Solaris

12 years agoMerge "two fixes for fast-import's 'ls' command" from Jonathan
Junio C Hamano [Fri, 16 Mar 2012 15:19:18 +0000 (08:19 -0700)] 
Merge "two fixes for fast-import's 'ls' command" from Jonathan

Andrew Sayers noticed that the svn-fe | git fast-import pipeline
mishandles a subversion history that copies the root directory to a
sub-directory (e.g. doing `svn cp . trunk` to standardise your
layout).  As David Barr explained, the bug arises when the following
command is sent to git fast-import:

  'ls' SP ':1' SP LF

Instead of reading back what is at the root of r1, it unconditionally
reports the path as missing.

After sleeping on it, here are two patches for 'maint'.  One plugs a
memory leak.  The other ensures that trying to pass an empty path to
the 'ls' command results in an error message that can help the
frontend author instead of the silently broken conversion Andrew
found.

Then we can carefully add 'ls ""' support in 1.7.11.

* commit 'refs/pull-request-tags/jn/maint-fast-import-empty-ls':
  fast-import: don't allow 'ls' of path with empty components
  fast-import: leakfix for 'ls' of dirty trees

12 years agol10n: Update zh_CN translation for Git 1.7.10-rc1
Jiang Xin [Fri, 16 Mar 2012 14:35:58 +0000 (22:35 +0800)] 
l10n: Update zh_CN translation for Git 1.7.10-rc1

Translate 1 new message from Git 1.7.10-rc1: "Gitdir '$a' is ..."

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agol10n: Update git.pot (1 new message)
Jiang Xin [Fri, 16 Mar 2012 12:28:05 +0000 (20:28 +0800)] 
l10n: Update git.pot (1 new message)

Changes of po/git.pot from v1.7.10-rc0 to v1.7.10-rc1:

 * 1 new l10n message at line: 3361.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agoMerge v1.7.10-rc0 for git l10n update
Jiang Xin [Fri, 16 Mar 2012 12:18:07 +0000 (20:18 +0800)] 
Merge v1.7.10-rc0 for git l10n update

12 years agoMerge branch 'th/git-diffall'
Junio C Hamano [Fri, 16 Mar 2012 04:54:42 +0000 (21:54 -0700)] 
Merge branch 'th/git-diffall'

* th/git-diffall:
  contrib/diffall: fix cleanup trap on Windows
  contrib/diffall: eliminate duplicate while loops
  contrib/diffall: eliminate use of tar
  contrib/diffall: create tmp dirs without mktemp
  contrib/diffall: comment actual reason for 'cdup'

12 years agoMerge branch 'th/doc-diff-submodule-option'
Junio C Hamano [Fri, 16 Mar 2012 04:54:30 +0000 (21:54 -0700)] 
Merge branch 'th/doc-diff-submodule-option'

* th/doc-diff-submodule-option:
  Documentation/diff-options: reword description of --submodule option

12 years agofetch/receive: remove over-pessimistic connectivity check
Junio C Hamano [Thu, 15 Mar 2012 21:57:02 +0000 (14:57 -0700)] 
fetch/receive: remove over-pessimistic connectivity check

Git 1.7.8 introduced an object and history re-validation step after
"fetch" or "push" causes new history to be added to a receiving
repository. This is to protect a malicious server or pushing client from
corrupting the repository by taking advantage of an existing corrupt
object that is unconnected to existing history.

But this check is way over-pessimistic.  During "fetch" or "receive-pack"
(the server side of "push"), unpack-objects and index-pack already
validate individual objects that are received, and the only thing we would
want to catch are corrupted objects that already happen to exist in our
repository but are not referenced from our refs.  Such objects must have
been written by an earlier run of our codepaths that write out loose
objects or packfiles, and they must have done the validation of individual
objects when they did so.  The only thing left to worry about is the
connectivity integrity, which can be checked with "rev-list --objects",
which is much cheaper.  We have been paying the 5x to 8x runtime overhead
the --verify-objects often adds for no real gain.

Revert check_everything_connected() not to use this over-pessimistic
check.

Credit goes to Nguyễn Thái Ngọc Duy, who originally identified the
performance regression and endured multiple rounds of reviews to fix it.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDocumentation/difftool: add deltawalker to list of valid diff tools
Tim Henigan [Thu, 15 Mar 2012 16:28:26 +0000 (12:28 -0400)] 
Documentation/difftool: add deltawalker to list of valid diff tools

deltawalker has been supported since 284a126c3ef3, but was not added
to the list of valid diff tools reported by 'git difftool --help'.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoGit 1.7.10-rc1 v1.7.10-rc1
Junio C Hamano [Wed, 14 Mar 2012 22:38:47 +0000 (15:38 -0700)] 
Git 1.7.10-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agocontrib/diffall: fix cleanup trap on Windows
Tim Henigan [Wed, 14 Mar 2012 16:38:06 +0000 (12:38 -0400)] 
contrib/diffall: fix cleanup trap on Windows

Prior to this commit, the cleanup trap that removes the tmp dir
created by the script would fail on Windows. The error was silently
ignored by the script.

On Windows, a directory cannot be removed while it is the working
directory of the process (thanks to Johannes Sixt on the Git list
for this info [1]).

This commit eliminates the 'cd' into the tmp directory that caused
the error.

[1]: http://article.gmane.org/gmane.comp.version-control.git/193086

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agocontrib/diffall: eliminate duplicate while loops
Tim Henigan [Wed, 14 Mar 2012 16:38:05 +0000 (12:38 -0400)] 
contrib/diffall: eliminate duplicate while loops

There were 3 instances of a 'while read; do' that used identical logic
to populate '/tmp/right_dir'. This commit groups them into a single loop.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agocontrib/diffall: eliminate use of tar
Tim Henigan [Wed, 14 Mar 2012 16:38:04 +0000 (12:38 -0400)] 
contrib/diffall: eliminate use of tar

The 'tar' utility is not available on all platforms (some only support
'gnutar').  An earlier commit created a work-around for this problem,
but a better solution is to eliminate the use of 'tar' completely.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agocontrib/diffall: create tmp dirs without mktemp
Tim Henigan [Wed, 14 Mar 2012 16:38:03 +0000 (12:38 -0400)] 
contrib/diffall: create tmp dirs without mktemp

mktemp is not available on all platforms.  Instead of littering the code
with a work-around, this commit replaces mktemp with a one-line Perl
script.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agocontrib/diffall: comment actual reason for 'cdup'
Tim Henigan [Wed, 14 Mar 2012 16:38:02 +0000 (12:38 -0400)] 
contrib/diffall: comment actual reason for 'cdup'

The comment from an earlier commit did not reflect the actual reason this
operation is needed.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDocumentation/diff-options: reword description of --submodule option
Tim Henigan [Wed, 14 Mar 2012 17:00:55 +0000 (13:00 -0400)] 
Documentation/diff-options: reword description of --submodule option

The previous description was confusing.  This rewrite makes it easier
to understand.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'jc/i18n-shell-script-gettext'
Junio C Hamano [Tue, 13 Mar 2012 19:36:28 +0000 (12:36 -0700)] 
Merge branch 'jc/i18n-shell-script-gettext'

The auto detection was testing if a fixed string that is known to be
non-empty is empty by mistake.

* jc/i18n-shell-script-gettext:
  i18n: fix auto detection of gettext scheme for shell scripts

12 years agoMerge branch 'jc/maint-undefined-i18n-observation-test'
Junio C Hamano [Tue, 13 Mar 2012 19:36:09 +0000 (12:36 -0700)] 
Merge branch 'jc/maint-undefined-i18n-observation-test'

It was unclear what a test in t0204 wanted to check; it turns out
that it was only to observe an undefined behaviour of the system,
and did not anticipate one kind of reasonable error behaviour.

* jc/maint-undefined-i18n-observation-test:
  t0204: clarify the "observe undefined behaviour" test

12 years agoMerge branch 'ms/maint-config-error-at-eol-linecount'
Junio C Hamano [Tue, 13 Mar 2012 19:35:53 +0000 (12:35 -0700)] 
Merge branch 'ms/maint-config-error-at-eol-linecount'

When "git config" diagnoses an error in a configuration file and
shows the line number for the offending line, it miscounted if the
error was at the end of line.

By Martin Stenberg
* ms/maint-config-error-at-eol-linecount:
  config: report errors at the EOL with correct line number

Conflicts:
t/t1300-repo-config.sh

12 years agoMerge branch 'ph/rerere-doc'
Junio C Hamano [Tue, 13 Mar 2012 19:35:22 +0000 (12:35 -0700)] 
Merge branch 'ph/rerere-doc'

By Phil Hord
* ph/rerere-doc:
  rerere: Document 'rerere remaining'

12 years agoam: officially deprecate -b/--binary option
Junio C Hamano [Tue, 13 Mar 2012 18:38:27 +0000 (11:38 -0700)] 
am: officially deprecate -b/--binary option

We have had these options as harmless no-op for more than 3 years without
officially deprecating them.  Let's announce the deprecation and start
warning against their use, but without failing the command just not yet,
so that we can later repurpose the option if we want to in the future.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoUpdate draft release notes to 1.7.10 before -rc1
Junio C Hamano [Mon, 12 Mar 2012 22:59:06 +0000 (15:59 -0700)] 
Update draft release notes to 1.7.10 before -rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'az/verify-tag-use-gpg-config'
Junio C Hamano [Mon, 12 Mar 2012 22:55:53 +0000 (15:55 -0700)] 
Merge branch 'az/verify-tag-use-gpg-config'

"git tag -s" honored "gpg.program" configuration variable since
1.7.9, but "git tag -v" and "git verify-tag" didn't.

By Alex Zepeda
* az/verify-tag-use-gpg-config:
  verify-tag: Parse GPG configuration options.

12 years agoSync with 1.7.9.4
Junio C Hamano [Mon, 12 Mar 2012 22:54:21 +0000 (15:54 -0700)] 
Sync with 1.7.9.4

12 years agoGit 1.7.9.4 v1.7.9.4
Junio C Hamano [Mon, 12 Mar 2012 22:52:52 +0000 (15:52 -0700)] 
Git 1.7.9.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'tr/maint-bundle-boundary' into maint
Junio C Hamano [Mon, 12 Mar 2012 22:46:53 +0000 (15:46 -0700)] 
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

12 years agoMerge branch 'jc/maint-diff-patch-header' into maint
Junio C Hamano [Mon, 12 Mar 2012 22:46:32 +0000 (15:46 -0700)] 
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

12 years agoMerge branch 'jn/maint-do-not-match-with-unsanitized-searchtext' into maint
Junio C Hamano [Mon, 12 Mar 2012 22:45:57 +0000 (15:45 -0700)] 
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

12 years agoMerge branch 'jc/am-3-nonstandard-popt' into maint
Junio C Hamano [Mon, 12 Mar 2012 22:43:06 +0000 (15:43 -0700)] 
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

12 years agogit-am: error out when seeing -b/--binary
Thomas Rast [Mon, 12 Mar 2012 21:47:19 +0000 (22:47 +0100)] 
git-am: error out when seeing -b/--binary

The --binary option to git-apply has been a no-op since 2b6eef9 (Make
apply --binary a no-op., 2006-09-06) and was deprecated in cb3a160
(git-am: ignore --binary option, 2008-08-09).

We could remove it outright, but let's be nice to people who still
have scripts saying 'git am -b' (if they exist) and tell them the
reason for the sudden failure.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoi18n: fix auto detection of gettext scheme for shell scripts
Junio C Hamano [Mon, 12 Mar 2012 21:41:15 +0000 (14:41 -0700)] 
i18n: fix auto detection of gettext scheme for shell scripts

A new code added by ad17ea7 (add a Makefile switch to avoid gettext
translation in shell scripts, 2012-01-23) tried to optionally force
a gettext scheme to "fallthrough", but ended up forcing it to everybody.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoconfig: report errors at the EOL with correct line number
Martin Stenberg [Fri, 9 Mar 2012 21:57:54 +0000 (22:57 +0100)] 
config: report errors at the EOL with correct line number

A section in a config file with a missing "]" reports the next line
as bad, same goes to a value with a missing end quote.

This happens because the error is not detected until the end of the
line, when line number is already increased. Fix this by decreasing
line number by one for these cases.

Signed-off-by: Martin Stenberg <martin@gnutiken.se>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge https://github.com/git-l10n/git-po
Junio C Hamano [Mon, 12 Mar 2012 16:03:20 +0000 (09:03 -0700)] 
Merge https://github.com/git-l10n/git-po

Updates to localized messages for zn_CN and sv locales.

via Jiang Xin
* https://github.com/git-l10n/git-po:
  l10n: Improve zh_CN translation for msg "not something we can merge"
  l10n: Improve zh_CN trans for msg that cannot fast-forward
  l10n: Update zh_CN translation for 1.7.10-rc0
  Update Swedish translation (732t0f0u).
  po/sv.po: add Swedish translation
  l10n: Update git.pot (1 new message)
  l10n: Update zh_CN translation for 1.7.9.2
  l10n: Improve commit msg for zh_CN translation
  l10n: Improve zh_CN translation for msg that make empty commit when amend.
  l10n: Improve zh_CN translation for empty cherry-pick msg.
  l10n: Improve zh_CN translation for msg about branch deletion deny
  l10n: Improve zh_CN translation for lines insertion and deletion.

12 years agoGit::I18N: compatibility with perl <5.8.3
Ævar Arnfjörð Bjarmason [Sat, 10 Mar 2012 12:29:34 +0000 (12:29 +0000)] 
Git::I18N: compatibility with perl <5.8.3

Change the Exporter invocation in Git::I18N to be compatible with
5.8.0 to 5.8.2 inclusive. Before Exporter 5.57 (released with 5.8.3)
Exporter didn't export the 'import' subroutine.

Reported-by: Tom G. Christensen <tgc@statsbiblioteket.dk>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agofast-import: don't allow 'ls' of path with empty components
Jonathan Nieder [Sat, 10 Mar 2012 04:07:22 +0000 (22:07 -0600)] 
fast-import: don't allow 'ls' of path with empty components

As the fast-import manual explains:

The value of <path> must be in canonical form. That is it must
not:
. contain an empty directory component (e.g. foo//bar is invalid),
. end with a directory separator (e.g. foo/ is invalid),
. start with a directory separator (e.g. /foo is invalid),

Unfortunately the "ls" command accepts these invalid syntaxes and
responds by declaring that the indicated path is missing.  This is too
subtle and causes importers to silently misbehave; better to error out
so the operator knows what's happening.

The C, R, and M commands already error out for such paths.

Reported-by: Andrew Sayers <andrew-git@pileofstuff.org>
Analysis-by: David Barr <davidbarr@google.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
12 years agofast-import: leakfix for 'ls' of dirty trees
Jonathan Nieder [Sat, 10 Mar 2012 03:20:34 +0000 (21:20 -0600)] 
fast-import: leakfix for 'ls' of dirty trees

When the chosen directory has changed since it was last written to
pack, "tree_content_get" makes a deep copy of its content to scribble
on while computing the tree name, which we forgot to free.

This leak has been present since the 'ls' command was introduced in
v1.7.5-rc0~3^2~33 (fast-import: add 'ls' command, 2010-12-02).

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
12 years agot0204: clarify the "observe undefined behaviour" test
Junio C Hamano [Wed, 7 Mar 2012 23:36:59 +0000 (15:36 -0800)] 
t0204: clarify the "observe undefined behaviour" test

This test asks for an impossible conversion to the system by
preparing an UTF-8 translation with characters that cannot be
expressed in ISO-8859-1, and then asking the message shown in
ISO-8859-1.  Even though the behaviour against such a request is
undefined, it may be interesting to see what the system does, and
the purpose of this test is to see if there are platforms that
exhibit behaviour that we haven't seen.

The original recognized two known modes of behaviour:

 - the key used to query the message catalog ("TEST: Old English
   Runes"), saying "I cannot do that i18n".
 - impossible characters replaced with ASCII "?", saying "I punt".

but they were treated totally differently.  The test simply issued
an informational message "Your system punts on this one" for the
first error mode, while it diagnosed the latter as "Your system is
good; you pass!".

It turns out that Mac OS X exhibits a third mode of error behaviour,
to spew out the raw value stored in the message catalog.  The test
diagnosed this behaviour as "broken", but it is merely trying to do
its best to respond to an impossible request by saying "I punt" in a
way that is slightly different from the second one.

Update the offending test to make it clear what is (and is not)
being tested, update the code structure so that newly discovered
error mode can easily be added to it later, and reword the message
that comes from a failing case to clarify that it is not the system
that is broken when it fails, but merely that the behaviour is not
something we have seen.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoconfigure: allow user to prevent $PATH "sanitization" on Solaris
Stefano Lattarini [Fri, 9 Mar 2012 12:43:55 +0000 (13:43 +0100)] 
configure: allow user to prevent $PATH "sanitization" on Solaris

On a Solaris 10 system with Solaris make installed as '/usr/xpg4/bin/make',
GNU make installed as '/usr/local/bin/make', and with '/usr/local/bin'
appearing in $PATH *before* '/usr/xpg4/bin', I was seeing errors like this
upon invoking "make all":

    Usage : make [ -f makefile ][ -K statefile ]...
    make: Fatal error: Unknown option `-C'

This happenes because the Git's Makefile, when running on Solaris,
automatically "sanitizes" $PATH by prepending '/usr/xpg6/bin' and
'/usr/xpg4/bin' to it in order to avoid using non-POSIX /bin/sh from
being used.  In the setup described above, however, this has an
unintended consequence of forcing the use of Solaris make in recursive
make invocations -- even if the $(MAKE) macro is being correctly used in
them!

When building without using the autoconf machinery, this can be solved
by overriding $(SANE_TOOL_PATH).  Teach the autoconf machinery to also
allow users of ./configure to override it from the command line with a
new --with-sane-tool-path option.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>