summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-04-17Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano2-2/+9
* maint-1.6.0: Fix buffer overflow in config parser
2009-04-17Fix buffer overflow in config parserLibravatar Thomas Jarosch2-2/+9
When interpreting a config value, the config parser reads in 1+ space character(s) and puts -one- space character in the buffer as soon as the first non-space character is encountered (if not inside quotes). Unfortunately the buffer size check lacks the extra space character which gets inserted at the next non-space character, resulting in a crash with a specially crafted config entry. The unit test now uses Java to compile a platform independent .NET framework to output the test string in C# :o) Read: Thanks to Johannes Sixt for the correct printf call which replaces the perl invocation. Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-12Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano2-0/+5
* maint-1.6.0: State the effect of filter-branch on graft explicitly process_{tree,blob}: Remove useless xstrdup calls
2009-04-12State the effect of filter-branch on graft explicitlyLibravatar Daniel Cheng (aka SDiZ)1-0/+3
Signed-off-by: Daniel Cheng (aka SDiZ) <j16sdiz+freenet@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-12process_{tree,blob}: Remove useless xstrdup callsLibravatar Linus Torvalds1-0/+2
On Wed, 8 Apr 2009, Björn Steinbrink wrote: > > The name of the processed object was duplicated for passing it to > add_object(), but that already calls path_name, which allocates a new > string anyway. So the memory allocated by the xstrdup calls just went > nowhere, leaking memory. Ack, ack. There's another easy 5% or so for the built-in object walker: once we've created the hash from the name, the name isn't interesting any more, and so something trivial like this can help a bit. Does it matter? Probably not on its own. But a few more memory saving tricks and it might all make a difference. Linus Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-08Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano2-3/+0
* maint-1.6.0: process_{tree,blob}: Remove useless xstrdup calls
2009-04-08Merge branch 'jc/maint-1.6.0-blame-s' into maint-1.6.1Libravatar Junio C Hamano1-4/+4
* jc/maint-1.6.0-blame-s: blame: read custom grafts given by -S before calling setup_revisions() Conflicts: builtin-blame.c
2009-04-08Merge branch 'bc/maint-1.6.1-branch-deleted-was' into maint-1.6.1Libravatar Junio C Hamano2-2/+2
* bc/maint-1.6.1-branch-deleted-was: git-branch: display "was sha1" on branch deletion rather than just "sha1"
2009-04-08Merge branch 'js/maint-1.6.0-exec-path-env' into maint-1.6.1Libravatar Junio C Hamano1-0/+4
* js/maint-1.6.0-exec-path-env: Propagate --exec-path setting to external commands via GIT_EXEC_PATH
2009-04-08Merge branch 'tr/maint-1.6.1-doc-format-patch--root' into maint-1.6.1Libravatar Junio C Hamano1-9/+12
* tr/maint-1.6.1-doc-format-patch--root: Documentation: format-patch --root clarifications
2009-04-08process_{tree,blob}: Remove useless xstrdup callsLibravatar Björn Steinbrink2-3/+0
The name of the processed object was duplicated for passing it to add_object(), but that already calls path_name, which allocates a new string anyway. So the memory allocated by the xstrdup calls just went nowhere, leaking memory. This reduces the RSS usage for a "rev-list --all --objects" by about 10% on the gentoo repo (fully packed) as well as linux-2.6.git: gentoo: | old | new ----------------|------------------------------- RSS | 1537284 | 1388408 VSZ | 1816852 | 1667952 time elapsed | 1:49.62 | 1:48.99 min. page faults| 417178 | 379919 linux-2.6.git: | old | new ----------------|------------------------------- RSS | 324452 | 292996 VSZ | 491792 | 460376 time elapsed | 0:14.53 | 0:14.28 min. page faults| 89360 | 81613 Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-07Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano3-9/+13
* maint-1.6.0: Documentation: clarify .gitattributes search git-checkout.txt: clarify that <branch> applies when no path is given. git-checkout.txt: fix incorrect statement about HEAD and index
2009-04-07Documentation: clarify .gitattributes searchLibravatar Jason Merrill2-5/+5
Use the term "toplevel of the work tree" in gitattributes.txt and gitignore.txt to define the limits of the search for those files. Signed-off-by: Jason Merrill <jason@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-07git-checkout.txt: clarify that <branch> applies when no path is given.Libravatar Matthieu Moy1-2/+6
Otherwise, the sentence "Defaults to HEAD." can be mis-read to mean that "git checkout -- hello.c" checks-out from HEAD. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-07git-checkout.txt: fix incorrect statement about HEAD and indexLibravatar Matthieu Moy1-2/+2
The command "git checkout" checks out from the index by default, not HEAD (the introducing comment were correct, but the detailled explanation added below were not). Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-05Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano2-2/+3
* maint-1.6.0: commit: abort commit if interactive add failed git-repack: use non-dashed update-server-info Conflicts: builtin-commit.c
2009-04-05commit: abort commit if interactive add failedLibravatar Jeff King1-1/+2
Previously we ignored the result of calling add_interactive, which meant that if an error occurred we simply committed whatever happened to be in the index. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-05git-repack: use non-dashed update-server-infoLibravatar Dan McGee1-1/+1
Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-01Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano1-1/+1
* maint-1.6.0: Documentation: Remove an odd "instead"
2009-04-01Documentation: Remove an odd "instead"Libravatar Holger Weiß1-1/+1
Signed-off-by: Holger Weiß <holger@zedat.fu-berlin.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-30Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano3-6/+12
* maint-1.6.0: Fix bash completion in path with spaces bash completion: only show 'log --merge' if merging git-tag(1): add hint about commit messages Documentation: update graph api example.
2009-03-30Fix bash completion in path with spacesLibravatar Daniel Cheng (aka SDiZ)1-2/+2
Signed-off-by: Daniel Cheng (aka SDiZ) <j16sdiz+freenet@gmail.com> Trivially-acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-30bash completion: only show 'log --merge' if mergingLibravatar Thomas Rast1-1/+6
The gitk completion only shows --merge if MERGE_HEAD is present. Do it the same way for git-log completion. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-30git-tag(1): add hint about commit messagesLibravatar Nico -telmich- Schottelius1-0/+1
If a tag is not annotated, git tag displays the commit message instead. Add this hint to the manpage to unhide this secret. Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-30Documentation: update graph api example.Libravatar Allan Caffee1-4/+4
As of commit 03300c0 the graph API uses '*' for all nodes including merges. This updates the example in the documentation to match. Signed-off-by: Allan Caffee <allan.caffee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-29Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano1-1/+2
* maint-1.6.0: import-zips: fix thinko
2009-03-29import-zips: fix thinkoLibravatar Johannes Schindelin1-1/+2
Embarrassingly, the common prefix calculation did not work properly, due to a mistake in the assignment: instead of assigning the dirname of the current file name, the dirname of the current common prefix needs to be assigned to common prefix, when the current prefix does not match the current file name. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-28test-lib: Clean up comments and Makefile.Libravatar Emil Sit2-9/+1
Bring documentation in test-lib and clean target in Makefile in-line with abc5d372. Signed-off-by: Emil Sit <sit@emilsit.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-27Documentation: format-patch --root clarificationsLibravatar Thomas Rast1-9/+12
Users were confused about the meaning and use of the --root option. Notably, since 68c2ec7 (format-patch: show patch text for the root commit, 2009-01-10), --root has nothing to do with showing the patch text for the root commit any more. Shorten and clarify the corresponding paragraph in the DESCRIPTION section, document --root under OPTIONS, and add an explicit note that root commits are formatted regardless. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-25diff --no-index: Do not generate patch output if other output is requestedLibravatar Johannes Sixt1-2/+2
Previously, 'git diff --no-index --stat a b' generated patch output in addition to the --stat output (or whatever other output format was requested). Now only the requested output is generated, and patch output remains the default. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-24Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano2-2/+2
* maint-1.6.0: close_sha1_file(): make it easier to diagnose errors avoid possible overflow in delta size filtering computation
2009-03-24close_sha1_file(): make it easier to diagnose errorsLibravatar Linus Torvalds1-1/+1
A bug report with "unable to write sha1 file" made us realize that we do not have enough information to guess why close() is failing. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-24avoid possible overflow in delta size filtering computationLibravatar Nicolas Pitre1-1/+1
On a 32-bit system, the maximum possible size for an object is less than 4GB, while 64-bit systems may cope with larger objects. Due to this limitation, variables holding object sizes are using an unsigned long type (32 bits on 32-bit systems, or 64 bits on 64-bit systems). When large objects are encountered, and/or people play with large delta depth values, it is possible for the maximum allowed delta size computation to overflow, especially on a 32-bit system. When this occurs, surviving result bits may represent a value much smaller than what it is supposed to be, or even zero. This prevents some objects from being deltified although they do get deltified when a smaller depth limit is used. Fix this by always performing a 64-bit multiplication. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-22Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano1-1/+1
* maint-1.6.0: everyday: use the dashless form of git-init
2009-03-22everyday: use the dashless form of git-initLibravatar David Aguilar1-1/+1
The 'Everyday GIT' guide was using the old dashed form of git-init. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-21Merge branch 'js/maint-1.6.0-path-normalize' into maint-1.6.1Libravatar Junio C Hamano6-152/+115
* js/maint-1.6.0-path-normalize: Remove unused normalize_absolute_path() Test and fix normalize_path_copy() Fix GIT_CEILING_DIRECTORIES on Windows Move sanitary_path_copy() to path.c and rename it to normalize_path_copy() Make test-path-utils more robust against incorrect use
2009-03-21Merge branch 'jc/maint-1.6.0-pack-directory' into maint-1.6.1Libravatar Junio C Hamano7-27/+73
* jc/maint-1.6.0-pack-directory: Fix odb_mkstemp() on AIX Make sure objects/pack exists before creating a new pack Conflicts: wrapper.c
2009-03-21Propagate --exec-path setting to external commands via GIT_EXEC_PATHLibravatar Johannes Sixt1-0/+4
Let PATH0=$PATH that was set before the invocation. Let /foo be a build directory. Let /pfx be the installation prefix. Let pfxexecpath=/pfx/libexec/git-core. The following is going on when 'git --exec-path=/foo gc' is invoked: 1. git sets PATH=/foo:$PATH0 using the path from --exec-path 2. gc execs 'git repack' (note: no dash). 3. Since there is a git in /foo (it's a build directory), /foo/git is taken. 4. No explicit exec-path is set this time, hence, this secondary git sets PATH=$pfxexecpath:/foo:$PATH 5. Since 'repack' is not a built-in, execv_dashed_external execs 'git-repack' (note: dash). 6. There is a $pfxexecpath/git-repack, and it is taken. 7. This git-repack runs 'git pack-objects' (note: no dash). 8. There is no git in $pfxexecpath, but there is one in /foo. Hence, /foo/git is run. 9. pack-objects is a builtin, hence, in effect /foo/git-pack-objects is run. As you can see, the way in which we previously set the PATH allowed to mix gits of different vintage. By setting GIT_EXEC_PATH when --exec-path was given on the command line, we reduce the confusion. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-21git-branch: display "was sha1" on branch deletion rather than just "sha1"Libravatar Brandon Casey2-2/+2
Make it more pleasant to read about a branch deletion by adding "was". Jeff King suggested this, and I ignored it. He was right. Update t3200 test again to match the change in output. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-18blame: read custom grafts given by -S before calling setup_revisions()Libravatar Junio C Hamano1-4/+4
setup_revisions() while getting the command line arguments parses the given commits from the command line, which means their direct parents will not be rewritten by the custom graft file. Call read_ancestry() early to work around this issue. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-12Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano4-38/+82
* maint-1.6.0: bisect: fix another instance of eval'ed string bisect: fix quoting TRIED revs when "bad" commit is also "skip"ped Support "\" in non-wildcard exclusion entries Conflicts: git-bisect.sh
2009-03-12Merge branch 'en/maint-1.6.1-hash-object' into maint-1.6.1Libravatar Junio C Hamano1-2/+2
* en/maint-1.6.1-hash-object: Ensure proper setup of git_dir for git-hash-object
2009-03-12Merge branch 'ks/maint-1.6.0-mailinfo-folded' into maint-1.6.0Libravatar Junio C Hamano22-10/+229
* ks/maint-1.6.0-mailinfo-folded: mailinfo: tests for RFC2047 examples mailinfo: add explicit test for mails like '<a.u.thor@example.com> (A U Thor)' mailinfo: 'From:' header should be unfold as well mailinfo: correctly handle multiline 'Subject:' header
2009-03-12Merge branch 'cc/maint-1.6.0-bisect-fix' into maint-1.6.0Libravatar Junio C Hamano2-36/+73
* cc/maint-1.6.0-bisect-fix: bisect: fix another instance of eval'ed string bisect: fix quoting TRIED revs when "bad" commit is also "skip"ped
2009-03-12Merge branch 'fg/maint-1.6.0-exclude-bq' into maint-1.6.0Libravatar Junio C Hamano2-2/+9
* fg/maint-1.6.0-exclude-bq: Support "\" in non-wildcard exclusion entries
2009-03-12Merge branch 'js/maint-1.6.1-filter-branch-submodule' into maint-1.6.1Libravatar Junio C Hamano1-1/+1
* js/maint-1.6.1-filter-branch-submodule: filter-branch: do not consider diverging submodules a 'dirty worktree'
2009-03-12Merge branch 'gt/maint-1.6.1-utf8-width' into maint-1.6.1Libravatar Junio C Hamano3-5/+27
* gt/maint-1.6.1-utf8-width: builtin-blame.c: Use utf8_strwidth for author's names utf8: add utf8_strwidth()
2009-03-12Merge branch 'js/maint-1.6.1-remote-remove-mirror' into maint-1.6.1Libravatar Junio C Hamano2-7/+58
* js/maint-1.6.1-remote-remove-mirror: builtin-remote: make rm operation safer in mirrored repository builtin-remote: make rm() use properly named variable to hold return value
2009-03-12Merge branch 'ek/maint-1.6.1-filter-branch-bare' into maint-1.6.1Libravatar Junio C Hamano2-13/+16
* ek/maint-1.6.1-filter-branch-bare: filter-branch: Fix fatal error on bare repositories
2009-03-12Merge branch 'jc/maint-1.6.1-add-u-remove-conflicted' into maint-1.6.1Libravatar Junio C Hamano2-1/+69
* jc/maint-1.6.1-add-u-remove-conflicted: add -u: do not fail to resolve a path as deleted