summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-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 <gitster@pobox.com>
2012-03-14Git 1.7.10-rc1v1.7.10-rc1Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
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]: 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>
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 <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
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 <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
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 <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
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 <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
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 <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
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/t1300-repo-config.sh
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 <gitster@pobox.com>
2012-03-12Update draft release notes to 1.7.10 before -rc1Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
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 1.7.9.4Junio C Hamano
2012-03-12Git 1.7.9.4v1.7.9.4Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
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 <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
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 <gitster@pobox.com>
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 <martin@gnutiken.se> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-12Merge https://github.com/git-l10n/git-poJunio C Hamano
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.
2012-03-10fast-import: don't allow 'ls' of path with empty componentsJonathan Nieder
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>
2012-03-10fast-import: leakfix for 'ls' of dirty treesJonathan Nieder
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>
2012-03-09t0204: clarify the "observe undefined behaviour" testJunio C Hamano
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>
2012-03-09configure: allow user to prevent $PATH "sanitization" on SolarisStefano Lattarini
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>
2012-03-09p4000: use -3000 when promising -3000Thomas Rast
The 'log -3000 (baseline)' test accidentally still used -1000 from an earlier version. Noticed-by: Lawrence Holding <Lawrence.Holding@cubic.com> Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-08rerere: Document 'rerere remaining'Phil Hord
This adds the 'remaining' command to the documentation of 'git rerere'. This command was added in ac49f5ca (Feb 16 2011; Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>) but it was never documented. Touch up the other rerere commands to reduce noise. First noticed by Vincent van Ravesteijn. Signed-off-by: Phil Hord <phil.hord@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-08verify-tag: Parse GPG configuration options.Alex Zepeda
Modify verify-tag to load relevant GPG variables from the git configuratio file. This allows git tag -v to use an alternative GPG binary in the same way that git tag -s does. Signed-off-by: Alex Zepeda <alex@inferiorhumanorgans.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-08Update draft release notes to 1.7.10Junio C Hamano
Also apply typofixes people on the list helped spotting and correcting. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-08Merge branch 'kb/maint-prune-rmdir-closedir'Junio C Hamano
By Karsten Blees * kb/maint-prune-rmdir-closedir: fix deletion of .git/objects sub-directories in git-prune/repack
2012-03-08Merge branch 'jl/maint-submodule-relative'Junio C Hamano
By Jens Lehmann (3) and Johannes Sixt (1) * jl/maint-submodule-relative: submodules: fix ambiguous absolute paths under Windows submodules: refactor computation of relative gitdir path submodules: always use a relative path from gitdir to work tree submodules: always use a relative path to gitdir
2012-03-08Merge branch 'jn/maint-do-not-match-with-unsanitized-searchtext'Junio C Hamano
By Jakub Narebski * jn/maint-do-not-match-with-unsanitized-searchtext: gitweb: Fix fixed string (non-regexp) project search Conflicts: gitweb/gitweb.perl
2012-03-08Merge branch 'vr/branch-doc'Junio C Hamano
By Vincent van Ravesteijn * vr/branch-doc: Documentation/git-branch: add default for --contains Documentation/git-branch: fix a typo Documentation/git-branch: cleanups
2012-03-08perf: export some important test-lib variablesThomas Rast
The only bug right now is that $GIT_TEST_CMP is needed for test_cmp to work. However, we also export the three most important paths for tests: TEST_DIRECTORY TRASH_DIRECTORY GIT_BUILD_DIR Since they are available within test_expect_success, a future test writer may expect them to also be defined in test_perf. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-08perf: load test-lib-functions from the correct directoryThomas Rast
Loading it in the subshells still referred to $TEST_DIRECTORY/.., which was only correct in preliminary versions of perf-lib.sh Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-08l10n: Improve zh_CN translation for msg "not something we can merge"Thynson
Signed-off-by: Thynson <lanxingcan@gmail.com>
2012-03-08l10n: Improve zh_CN trans for msg that cannot fast-forwardThynson
Signed-off-by: Thynson <lanxingcan@gmail.com>
2012-03-08l10n: Update zh_CN translation for 1.7.10-rc0Jiang Xin
Translate 1 new message from Git 1.7.10-rc0. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2012-03-08Update Swedish translation (732t0f0u).Peter Krefting
This update includes a replay of some review fixes from the initial translation run in 2010, which I cannot find having committed anywhere. Add myself to the po/TEAMS file as well. Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2012-03-08po/sv.po: add Swedish translationPeter Krefting
Signed-off-by: Peter Krefting <peter@softwolves.pp.se> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> (cherry picked from commit 54ce07007c7988268d43619c580e81fbca09d37b)
2012-03-08l10n: Update git.pot (1 new message)Jiang Xin
Update file 'po/git.pot' to v1.7.10-rc0: * Add 1 new l10n string in the new generated "git.pot" file at line: 191 Signed-off-by: Jiang Xin <worldhello.net@gmail.com>