summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-01-21Merge branch 'lt/maint-wrap-zlib'Libravatar Junio C Hamano9-34/+99
* lt/maint-wrap-zlib: Wrap inflate and other zlib routines for better error reporting Conflicts: http-push.c http-walker.c sha1_file.c
2009-01-21Merge branch 'am/maint-push-doc'Libravatar Junio C Hamano1-7/+8
* am/maint-push-doc: Documentation: avoid using undefined parameters Documentation: mention branches rather than heads Documentation: remove a redundant elaboration Documentation: git push repository can also be a remote
2009-01-21Merge branch 'sg/maint-gitdir-in-subdir'Libravatar Junio C Hamano2-1/+12
* sg/maint-gitdir-in-subdir: Fix gitdir detection when in subdir of gitdir
2009-01-21Merge branch 'jf/am-failure-report'Libravatar Junio C Hamano1-1/+1
* jf/am-failure-report: git-am: re-fix the diag message printing git-am: Make it easier to see which patch failed
2009-01-21Merge branch 'rs/ctype'Libravatar Junio C Hamano7-29/+118
* rs/ctype: Add is_regex_special() Change NUL char handling of isspecial() Reformat ctype.c Add ctype test Conflicts: Makefile
2009-01-21Merge branch 'sb/hook-cleanup'Libravatar Junio C Hamano8-112/+73
* sb/hook-cleanup: run_hook(): allow more than 9 hook arguments run_hook(): check the executability of the hook before filling argv api-run-command.txt: talk about run_hook() Move run_hook() from builtin-commit.c into run-command.c (libgit) checkout: don't crash on file checkout before running post-checkout hook
2009-01-21Merge branch 'jk/color-parse'Libravatar Junio C Hamano5-12/+44
* jk/color-parse: Optimize color_parse_mem expand --pretty=format color options color: make it easier for non-config to parse color specs
2009-01-21Merge branch 'jc/maint-format-patch-o-relative'Libravatar Junio C Hamano2-4/+76
* jc/maint-format-patch-o-relative: Teach format-patch to handle output directory relative to cwd Conflicts: t/t4014-format-patch.sh
2009-01-21Merge branch 'kb/am-directory'Libravatar Junio C Hamano5-9/+66
* kb/am-directory: git-am: fix shell quoting git-am: add --directory=<dir> option
2009-01-21bash completion: add 'rename' subcommand to git-remoteLibravatar Markus Heidelberg1-2/+2
Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-21Merge branch 'maint'Libravatar Junio C Hamano3-6/+8
* maint: Rename diff.suppress-blank-empty to diff.suppressBlankEmpty
2009-01-21Merge branch 'bs/maint-rename-populate-filespec'Libravatar Junio C Hamano1-2/+7
* bs/maint-rename-populate-filespec: Rename detection: Avoid repeated filespec population
2009-01-21Rename diff.suppress-blank-empty to diff.suppressBlankEmptyLibravatar Johannes Schindelin3-6/+8
All the other config variables use CamelCase. This config variable should not be an exception. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-21tutorial-2: Update with the new "git commit" ouputLibravatar Santi Béjar1-2/+2
An earlier commit c5ee71f (commit: more compact summary and without extra quotes, 2009-01-19) changed the "git commit" output when creating a commit. This patch updates the example session in the tutorial to match the new output. Signed-off-by: Santi Béjar <santi@agolina.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-21Rename detection: Avoid repeated filespec populationLibravatar Björn Steinbrink1-2/+7
In diffcore_rename, we assume that the blob contents in the filespec aren't required anymore after estimate_similarity has been called and thus we free it. But estimate_similarity might return early when the file sizes differ too much. In that case, cnt_data is never set and the next call to estimate_similarity will populate the filespec again, eventually rereading the same blob over and over again. To fix that, we first get the blob sizes and only when the blob contents are actually required, and when cnt_data will be set, the full filespec is populated, once. Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-21Fix naming scheme for configure cache variables.Libravatar Ralf Wildenhues1-9/+9
In order to be cached, configure variables need to contain the string '_cv_', and they should begin with a package-specific prefix in order to avoid interfering with third-party macros. Rename ld_dashr, ld_wl_rpath, ld_rpath to git_cv_ld_dashr etc. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-19Makefile: use shell for-loop rather than Make's foreach loop during installLibravatar Brandon Casey1-4/+6
The install target uses a foreach loop to generate a single long shell command line to handle installation of the built-in git commands. The maximum length of the argument list varies by platform, and this use of foreach quickly grows the length of the argument list. Current git can exceed the default maximum argument list length on IRIX 6.5 of 20480 depending on the installation path. Rather than using make's foreach loop to pre-generate the shell command line, use a shell for-loop and allow the shell to iterate through each of the built-in commands. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-19use uppercase POSIX compliant signals for the 'trap' commandLibravatar Markus Heidelberg2-10/+10
In 'man 1p trap' there is written: "Implementations may permit names with the SIG prefix or ignore case in signal names as an extension." So change the lowercase signals to uppercase, which is POSIX compliant instead of being an extension. There wasn't anybody claiming that it doesn't work, but there was a bug with using a signal with the SIG prefix, which is an extension as well. So let's play it safe and change it, since it doesn't hurt anyone. While at it, also convert 8 indentation spaces to 1 tab character. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-19contrib/difftool: remove distracting 'echo' in the SIGINT handlerLibravatar Markus Heidelberg1-1/+0
When interrupting git-difftool with Ctrl-C, the output of this echo command led to having the cursor at the beginning of the line below the shell prompt. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-19contrib/difftool: change trap condition from SIGINT to INTLibravatar Markus Heidelberg1-1/+1
git-difftool worked for me on an up-to-date Gentoo Linux at home, but didn't work on a somewhat older Ubuntu Linux 7.10 at work and failed with the following error, where 'Makefile' was locally modified: trap: 244: SIGINT: bad trap external diff died, stopping at Makefile. In 'man 1p trap' there is written: "The condition can be EXIT, 0 (equivalent to EXIT), or a signal specified using a symbolic name, without the SIG prefix, [...]" "Implementations may permit names with the SIG prefix or ignore case in signal names as an extension." So now we do it the POSIX compliant way instead of using an extension. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-19commit: more compact summary and without extra quotesLibravatar Santi Béjar1-2/+2
Update the report format again to save the screen real estates, while avoiding from enclosing the one-line summary of the commit log inside double quotes pair, which looks awkward when the message begins or ends with a double quote. The old format looked like this: [master]: created d9a5491: "foo:bar" Simply removing the double quotes were found to be confusing as a message often begins with a short-word (area of the system) and a colon. The new format looks like this: [master d9a5491] foo:bar As discussed in the git mailing list: http://thread.gmane.org/gmane.comp.version-control.git/101687/focus=101735 Signed-off-by: Santi Béjar <santi@agolina.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-19Optimize color_parse_memLibravatar René Scharfe1-17/+21
Commit 5ef8d77a implemented color_parse_mem, a function for parsing colors from a non-NUL-terminated string, by simply allocating a new NUL-terminated string and calling color_parse. This had a small but measurable speed impact on a user format that used the advanced color parsing. E.g., # uses quick parsing $ time ./git log --pretty=tformat:'%Credfoo%Creset' >/dev/null real 0m0.673s user 0m0.652s sys 0m0.016s # uses color_parse_mem $ time ./git log --pretty=tformat:'%C(red)foo%C(reset)' >/dev/null real 0m0.692s user 0m0.660s sys 0m0.032s This patch implements color_parse_mem as the primary function, with color_parse as a wrapper for strings. This gives comparable timings to the first case above. Original patch by René. Commit message and debugging by Jeff King. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-19Merge branch 'kc/maint-diff-bwi-fix'Libravatar Junio C Hamano0-0/+0
* kc/maint-diff-bwi-fix: test more combinations of ignore-whitespace options to diff
2009-01-19test more combinations of ignore-whitespace options to diffLibravatar Keith Cascio1-0/+27
There are three flags involved (-w -b and --ignore-space-at-eol) which makes 8 combinations possible in total, but only 3 cases are tested (none, -w alone and -b alone). This adds the other 5 cases. Signed-off-by: Keith Cascio <keith@cs.ucla.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-19Merge branch 'maint'Libravatar Junio C Hamano1-2/+3
* maint: shell: Document that 'cvs server' is a valid command
2009-01-19shell: Document that 'cvs server' is a valid commandLibravatar Lars Noschinski1-2/+3
git-shell's man page explicitly lists all allowed commands, but 'cvs server' was missing. Add it. Signed-off-by: Lars Noschinski <lars@public.noschinski.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-19bash completion: refactor diff optionsLibravatar Thomas Rast1-15/+21
diff, log and show all take the same diff options. Refactor them from __git_diff and __git_log into a variable, and complete them in __git_show too. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-19bash completion: move pickaxe options to logLibravatar Thomas Rast1-1/+2
Move the options --pickaxe-all and --pickaxe-regex to git-log, where they make more sense than with git-diff. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-18difftool: put the cursor on the editable file for VimLibravatar David Aguilar1-2/+6
You only need to edit worktree files when comparing against the worktree. Put the cursor automatically into its window for vimdiff and gvimdiff to avoid doing <C-w>l every time. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-18difftool: fix documentation problemsLibravatar David Aguilar2-13/+12
This patch makes the difftool docs always refer to the git-difftool script using the dashed form of the name. Only command examples use the non-dashed form now. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-18Merge git://git.bogomips.org/git-svnLibravatar Junio C Hamano7-20/+484
* git://git.bogomips.org/git-svn: git-svn: Show UUID in svn info for added directories with svn 1.5.5 git-svn: avoid importing nested git repos git-svn: fix SVN 1.1.x compatibility git-svn: Add --localtime option to "fetch" git-svn: better attempt to handle broken symlink updates git-svn: handle empty files marked as symlinks in SVN
2009-01-18git-svn: Show UUID in svn info for added directories with svn 1.5.5Libravatar Marcel Koeppen1-1/+2
In svn 1.5.5 the output of "svn info" for added directories was changed and now shows the repository UUID. This patch implements the same behavior for "git svn info" and makes t9119-git-svn-info.17 pass if svn 1.5.5 is used. Signed-off-by: Marcel Koeppen <git-dev@marzelpan.de> Acked-by: Eric Wong <normalperson@yhbt.net>
2009-01-18git-am: re-fix the diag message printingLibravatar Junio C Hamano1-1/+1
The $FIRSTLINE variable is from the user's commit and can contain arbitrary backslash escapes that may be (mis)interpreted when given to "echo", depending on the implementation. Use "printf" to work around the issue. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-18git-svn: avoid importing nested git reposLibravatar Eric Wong2-4/+131
Some SVN repositories contain git repositories within them (hopefully accidentally checked in). Since git refuses to track nested ".git" repositories, this can be a problem when fetching updates from SVN. Thanks to Morgan Christiansson for the report and testing. Signed-off-by: Eric Wong <normalperson@yhbt.net>
2009-01-18git-svn: fix SVN 1.1.x compatibilityLibravatar Eric Wong2-3/+25
The get_log() function in the Perl SVN API introduced the limit parameter in 1.2.0. However, this got discarded in our SVN::Ra compatibility layer when used with SVN 1.1.x. We now emulate the limit functionality in older SVN versions by preventing the original callback from being called if the given limit has been reached. This emulation is less bandwidth efficient, but SVN 1.1.x is becoming rarer now. Additionally, the --limit parameter in svn(1) uses the aforementioned get_log() functionality change in SVN 1.2.x. t9129 no longer depends on --limit to work and instead uses Perl to parse out the commit message. Thanks to Tom G. Christensen for the bug report. Signed-off-by: Eric Wong <normalperson@yhbt.net>
2009-01-18git-svn: Add --localtime option to "fetch"Libravatar Pete Harlan3-3/+64
By default git-svn stores timestamps of fetched commits in Subversion's UTC format. Passing --localtime to fetch will convert them to the timezone of the server on which git-svn is run. This makes the timestamps of a resulting "git log" agree with what "svn log" shows for the same repository. Signed-off-by: Pete Harlan <pgit@pcharlan.com> Acked-by: Eric Wong <normalperson@yhbt.net>
2009-01-18git-svn: better attempt to handle broken symlink updatesLibravatar Eric Wong2-4/+122
This is a followup to 7fc35e0e94782bbbefb920875813519038659930, (workaround a for broken symlinks in SVN). Since broken SVN clients can commit svn:special files without the magic "link " prefix, this can affect delta application when we update the broken svn:special file. So now we fall back and retry the delta application on symlinks if having a "link " prefix fails. Our behavior differs from svn(1) (v1.5.1) slightly: When a svn:special file is created w/o a "link " prefix, svn will create a regular file (mode 100644 to git) with the contents of the blob as-is. Our behavior is to continue creating the symlink (mode 120000 to git) with the contents of the blob as-is. While this differs from current svn(1) behavior, this is easier and more efficient to implement (and the correctness of the svn(1) is debatable, since it's a workaround for a bug in the first place). More information on this SVN bug is described here: http://subversion.tigris.org/issues/show_bug.cgi?id=2692 Signed-off-by: Eric Wong <normalperson@yhbt.net>
2009-01-18git-svn: handle empty files marked as symlinks in SVNLibravatar Eric Wong2-5/+140
Broken SVN clients generate empty files with the svn:special set to '*'. This attempts to denote a symlink pointing to a file with an empty path (""), which cannot be generated on a POSIX system. Thus, we mimic the behavior of svn(1) and create a zero-byte file in our tree. Signed-off-by: Eric Wong <normalperson@yhbt.net>
2009-01-18Documentation: avoid using undefined parametersLibravatar Anders Melchiorsen1-2/+2
The <ref> parameter has not been introduced, so rewrite to avoid it. Signed-off-by: Anders Melchiorsen <mail@cup.kalibalik.dk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-18Documentation: mention branches rather than headsLibravatar Anders Melchiorsen1-2/+2
The "matching refs" semantics works only on matching branches these days. Instead of using "heads" which traditionally has been used more or less interchangeably with "refs", say "branch" explicitly here. Signed-off-by: Anders Melchiorsen <mail@cup.kalibalik.dk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-18Documentation: remove a redundant elaborationLibravatar Anders Melchiorsen1-2/+1
The comment in parentheses is wrong, as one has to leave out both the colon and <dst>. This situation is covered by the section a few lines down: A parameter <ref> without a colon pushes the <ref> from the source repository to the destination repository under the same name. So, just remove the parentheses. Signed-off-by: Anders Melchiorsen <mail@cup.kalibalik.dk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-18Documentation: git push repository can also be a remoteLibravatar Anders Melchiorsen1-1/+3
This is copied from pull-fetch-param.txt and helps the reader to not get stuck in the URL section. Signed-off-by: Anders Melchiorsen <mail@cup.kalibalik.dk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-18mergetool: put the cursor on the editable file for VimLibravatar Markus Heidelberg1-2/+7
When resolving conflicts, you only need to edit the $MERGED file. Put the cursor automatically into its window for vimdiff and gvimdiff to avoid doing <C-w>l every time. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Tested-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-17t7700: demonstrate misbehavior of 'repack -a' when local packs existLibravatar Brandon Casey1-0/+19
The ability to "...fatten [the] local repository by packing everything that is needed by the local ref into a single new pack, including things that are borrowed from alternates"[1] is supposed to be provided by the '-a' or '-A' options to repack when '-l' is not used, but there is a flaw. For each pack in the local repository without a .keep file, repack supplies a --unpacked=<pack> argument to pack-objects. The --unpacked option to pack-objects, with or without an argument, causes pack-objects to ignore any object which is packed in a pack not mentioned in an argument to --unpacked=. So, if there are local packs, and 'repack -a' is called, then any objects which reside in packs accessible through alternates will _not_ be packed. If there are no local packs, then no --unpacked argument will be supplied, and repack will behave as expected. [1] http://mid.gmane.org/7v8wrwidi3.fsf@gitster.siamese.dyndns.org Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-17test more combinations of ignore-whitespace options to diffLibravatar Keith Cascio1-0/+27
There are three flags involved (-w -b and --ignore-space-at-eol) which makes 8 combinations possible in total, but only 3 cases are tested (none, -w alone and -b alone). This adds the other 5 cases. Signed-off-by: Keith Cascio <keith@cs.ucla.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-17Merge branch 'ds/uintmax-config'Libravatar Junio C Hamano2-1/+6
* ds/uintmax-config: autoconf: Enable threaded delta search when pthreads are supported
2009-01-17Merge branch 'gb/gitweb-opml'Libravatar Junio C Hamano1-3/+7
* gb/gitweb-opml: gitweb: suggest name for OPML view gitweb: don't use pathinfo for global actions
2009-01-17Merge branch 'mv/apply-parse-opt'Libravatar Junio C Hamano3-128/+168
* mv/apply-parse-opt: Resurrect "git apply --flags -" to read from the standard input parse-opt: migrate builtin-apply.
2009-01-17Merge branch 'tr/rebase-root'Libravatar Junio C Hamano4-52/+322
* tr/rebase-root: rebase: update documentation for --root rebase -i: learn to rebase root commit rebase: learn to rebase root commit rebase -i: execute hook only after argument checking
2009-01-17Merge branch 'gb/gitweb-patch'Libravatar Junio C Hamano1-3/+110
* gb/gitweb-patch: gitweb: link to patch(es) view in commit(diff) and (short)log view gitweb: add patches view gitweb: change call pattern for git_commitdiff gitweb: add patch view Conflicts: gitweb/gitweb.perl