AgeCommit message (Collapse)Author
2012-03-20Merge branch 'maint'Junio C Hamano
* maint:
2012-03-20Merge branch 'maint-1.7.8' into maintJunio C Hamano
* 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
2012-03-20merge: backport GIT_MERGE_AUTOEDIT supportJunio C Hamano
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 <>
2012-03-20Merge branch 'ks/sort-wildcard-in-makefile' into maint-1.7.8Junio C Hamano
* ks/sort-wildcard-in-makefile: t/Makefile: Use $(sort ...) explicitly where needed
2012-03-20Merge branch 'jc/advise-i18n' into maint-1.7.8Junio C Hamano
* jc/advise-i18n: i18n of multi-line advice messages
2012-03-20Merge branch 'jn/gitweb-unspecified-action' into maint-1.7.8Junio C Hamano
* jn/gitweb-unspecified-action: gitweb: Fix actionless dispatch for non-existent objects
2012-03-19gitk: Speed up resolution of short SHA1 idsPaul Mackerras
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 <>
2012-03-18gitk: Use symbolic font names "sans" and "monospace" when availableJonathan Nieder
The following only concerns systems using X and the client-side font rendering framework from 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 <> Reviewed-by: Josh Triplett <> Acked-by: Mark Hills <> Signed-off-by: Jonathan Nieder <> Signed-off-by: Paul Mackerras <>
2012-03-18gitk: Skip over AUTHOR/COMMIT_DATE when searching all fieldsFrédéric Brière
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 <> Signed-off-by: Jonathan Nieder <> Signed-off-by: Paul Mackerras <>
2012-03-18gitk: Make "git describe" output clickable, tooJim Meyering
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 <> Signed-off-by: Paul Mackerras <>
2012-03-18gitk: Fix the display of files when filtered by pathPat Thoyts
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 <> Signed-off-by: Pat Thoyts <> Signed-off-by: Paul Mackerras <>
2012-03-18gitk: Use a tabbed dialog to edit preferencesPat Thoyts
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 <> Signed-off-by: Paul Mackerras <>
2012-03-18gitk: Use "gitk: repo-top-level-dir" as window titleZbigniew Jędrzejewski-Szmek
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 <>
2012-03-16Merge branch 'ab/perl-i18n'Junio C Hamano
* ab/perl-i18n: perl/Makefile: install Git::I18N under NO_PERL_MAKEMAKER Git::I18N: compatibility with perl <5.8.3
2012-03-16perl/Makefile: install Git::I18N under NO_PERL_MAKEMAKERÆvar Arnfjörð Bjarmason
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/ is installed alongside in such a way that anything that uses GITPERLLIB will find it. Reported-by: Tom G. Christensen <> Signed-off-by: Ævar Arnfjörð Bjarmason <> Signed-off-by: Junio C Hamano <>
2012-03-16Update draft release notes to 1.7.10Junio C Hamano
Signed-off-by: Junio C Hamano <>
2012-03-16Merge branch 'th/mergetools-deltawalker'Junio C Hamano
* th/mergetools-deltawalker: Documentation/difftool: add deltawalker to list of valid diff tools
2012-03-16Merge branch 'jc/maint-verify-objects-remove-pessimism'Junio C Hamano
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
2012-03-16Merge branch 'sl/customize-sane-tool-path'Junio C Hamano
* sl/customize-sane-tool-path: configure: allow user to prevent $PATH "sanitization" on Solaris
2012-03-16Merge "two fixes for fast-import's 'ls' command" from JonathanJunio C Hamano
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
2012-03-16l10n: Update zh_CN translation for Git 1.7.10-rc1Jiang Xin
Translate 1 new message from Git 1.7.10-rc1: "Gitdir '$a' is ..." Signed-off-by: Jiang Xin <>
2012-03-16l10n: Update git.pot (1 new message)Jiang Xin
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 <>
2012-03-16Merge v1.7.10-rc0 for git l10n updateJiang Xin
2012-03-16Merge branch 'th/git-diffall'Junio C Hamano
* 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'
2012-03-16Merge branch 'th/doc-diff-submodule-option'Junio C Hamano
* th/doc-diff-submodule-option: Documentation/diff-options: reword description of --submodule option
2012-03-15fetch/receive: remove over-pessimistic connectivity checkJunio C Hamano
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 <>
2012-03-15Documentation/difftool: add deltawalker to list of valid diff toolsTim Henigan
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 <> Signed-off-by: Junio C Hamano <>
2012-03-14Git 1.7.10-rc1v1.7.10-rc1Junio C Hamano
Signed-off-by: Junio C Hamano <>
2012-03-14contrib/diffall: fix cleanup trap on WindowsTim Henigan
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]: Signed-off-by: Tim Henigan <> Signed-off-by: Junio C Hamano <>
2012-03-14contrib/diffall: eliminate duplicate while loopsTim Henigan
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 <> Signed-off-by: Junio C Hamano <>
2012-03-14contrib/diffall: eliminate use of tarTim Henigan
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 <> Signed-off-by: Junio C Hamano <>
2012-03-14contrib/diffall: create tmp dirs without mktempTim Henigan
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 <> Signed-off-by: Junio C Hamano <>
2012-03-14contrib/diffall: comment actual reason for 'cdup'Tim Henigan
The comment from an earlier commit did not reflect the actual reason this operation is needed. Signed-off-by: Tim Henigan <> Signed-off-by: Junio C Hamano <>
2012-03-14Documentation/diff-options: reword description of --submodule optionTim Henigan
The previous description was confusing. This rewrite makes it easier to understand. Signed-off-by: Tim Henigan <> Signed-off-by: Junio C Hamano <>
2012-03-13Merge branch 'jc/i18n-shell-script-gettext'Junio C Hamano
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
2012-03-13Merge branch 'jc/maint-undefined-i18n-observation-test'Junio C Hamano
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
2012-03-13Merge branch 'ms/maint-config-error-at-eol-linecount'Junio C Hamano
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/
2012-03-13Merge branch 'ph/rerere-doc'Junio C Hamano
By Phil Hord * ph/rerere-doc: rerere: Document 'rerere remaining'
2012-03-13am: officially deprecate -b/--binary optionJunio C Hamano
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 <>
2012-03-12Update draft release notes to 1.7.10 before -rc1Junio C Hamano
Signed-off-by: Junio C Hamano <>
2012-03-12Merge branch 'az/verify-tag-use-gpg-config'Junio C Hamano
"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.
2012-03-12Sync with C Hamano
2012-03-12Git C Hamano
Signed-off-by: Junio C Hamano <>
2012-03-12Merge branch 'tr/maint-bundle-boundary' into maintJunio C Hamano
"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
2012-03-12Merge branch 'jc/maint-diff-patch-header' into maintJunio C Hamano
"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
2012-03-12Merge branch 'jn/maint-do-not-match-with-unsanitized-searchtext' into maintJunio C Hamano
"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
2012-03-12Merge branch 'jc/am-3-nonstandard-popt' into maintJunio C Hamano
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
2012-03-12git-am: error out when seeing -b/--binaryThomas Rast
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 <> Signed-off-by: Junio C Hamano <>
2012-03-12i18n: fix auto detection of gettext scheme for shell scriptsJunio C Hamano
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 <>
2012-03-12config: report errors at the EOL with correct line numberMartin Stenberg
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 <> Signed-off-by: Junio C Hamano <>