69f4e08 | Junio C Hamano | 05 March 2012, 22:29:07 UTC | Git 1.7.9.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 March 2012, 22:29:07 UTC |
bb8cbe7 | Junio C Hamano | 05 March 2012, 22:28:14 UTC | Merge branch 'jc/doc-merge-options' into maint * jc/doc-merge-options: Documentation/merge-options.txt: group "ff" related options together | 05 March 2012, 22:28:14 UTC |
0e20414 | Junio C Hamano | 05 March 2012, 22:27:36 UTC | Merge branch 'cn/maint-rev-list-doc' into maint * cn/maint-rev-list-doc: Documentation: use {asterisk} in rev-list-options.txt when needed | 05 March 2012, 22:27:36 UTC |
a8ea1b7 | Thomas Rast | 05 March 2012, 13:48:49 UTC | fast-import: zero all of 'struct tag' to silence valgrind When running t9300, valgrind (correctly) complains about an uninitialized value in write_crash_report: ==2971== Use of uninitialised value of size 8 ==2971== at 0x4164F4: sha1_to_hex (hex.c:70) ==2971== by 0x4073E4: die_nicely (fast-import.c:468) ==2971== by 0x43284C: die (usage.c:86) ==2971== by 0x40420D: main (fast-import.c:2731) ==2971== Uninitialised value was created by a heap allocation ==2971== at 0x4C29B3D: malloc (vg_replace_malloc.c:263) ==2971== by 0x433645: xmalloc (wrapper.c:35) ==2971== by 0x405DF5: pool_alloc (fast-import.c:619) ==2971== by 0x407755: pool_calloc.constprop.14 (fast-import.c:634) ==2971== by 0x403F33: main (fast-import.c:3324) Fix this by zeroing all of the 'struct tag'. We would only need to zero out the 'sha1' field, but this way seems more future-proof. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 March 2012, 17:36:09 UTC |
ead8eb8 | Junio C Hamano | 05 March 2012, 06:21:30 UTC | Update draft release notes to 1.7.9.3 for the last time Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 March 2012, 06:21:30 UTC |
57f75f3 | Junio C Hamano | 05 March 2012, 06:17:52 UTC | Merge branch 'cn/maint-branch-with-bad' into maint * cn/maint-branch-with-bad: branch: don't assume the merge filter ref exists Conflicts: t/t3200-branch.sh | 05 March 2012, 06:17:52 UTC |
3ecd0c8 | Junio C Hamano | 05 March 2012, 06:17:47 UTC | Merge branch 'jn/maint-gitweb-invalid-regexp' into maint * jn/maint-gitweb-invalid-regexp: gitweb: Handle invalid regexp in regexp search | 05 March 2012, 06:17:47 UTC |
3fc242f | Junio C Hamano | 05 March 2012, 06:17:41 UTC | Merge branch 'nd/maint-verify-objects' into maint * nd/maint-verify-objects: rev-list: fix --verify-objects --quiet becoming --objects rev-list: remove BISECT_SHOW_TRIED flag | 05 March 2012, 06:17:41 UTC |
a09a0c2 | Junio C Hamano | 05 March 2012, 06:16:40 UTC | Merge branch 'jk/maint-avoid-streaming-filtered-contents' into maint * jk/maint-avoid-streaming-filtered-contents: do not stream large files to pack when filters are in use teach dry-run convert_to_git not to require a src buffer teach convert_to_git a "dry run" mode | 05 March 2012, 06:16:40 UTC |
c08afaf | Junio C Hamano | 05 March 2012, 06:16:35 UTC | Merge branch 'jb/filter-ignore-sigpipe' into maint * jb/filter-ignore-sigpipe: Ignore SIGPIPE when running a filter driver | 05 March 2012, 06:16:35 UTC |
a4d7615 | Junio C Hamano | 05 March 2012, 06:16:33 UTC | Merge branch 'sp/smart-http-failure-to-push' into maint * sp/smart-http-failure-to-push: : Mask SIGPIPE on the command channel going to a transport helper disconnect from remote helpers more gently Conflicts: transport-helper.c | 05 March 2012, 06:16:33 UTC |
26f1e9b | Junio C Hamano | 05 March 2012, 06:16:30 UTC | Merge branch 'tr/maint-bundle-long-subject' into maint * tr/maint-bundle-long-subject: t5704: match tests to modern style strbuf: improve strbuf_get*line documentation bundle: use a strbuf to scan the log for boundary commits bundle: put strbuf_readline_fd in strbuf.c with adjustments | 05 March 2012, 06:16:30 UTC |
b2c8c6d | Clemens Buchacher | 04 March 2012, 16:50:43 UTC | http.proxy: also mention https_proxy and all_proxy The current wording of the http.proxy documentation suggests that http_proxy is somehow equivalent to http.proxy. However, while http.proxy (by the means of curl's CURLOPT_PROXY option) overrides the proxy for both HTTP and HTTPS protocols, the http_proxy environment variable is used only for HTTP. But since the docs mention only http_proxy, a user might expect it to apply to all HTTP-like protocols. Avoid any such misunderstanding by explicitly mentioning https_proxy and all_proxy as well. Also replace linkgit:curl[1] with a literal 'curl(1)', because the former gets translated to a dead link in the HTML pages. Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 March 2012, 05:11:06 UTC |
78ed1d2 | Michael J Gruber | 03 March 2012, 00:37:35 UTC | t0300: work around bug in dash 0.5.6 The construct 'while IFS== read' makes dash 0.5.6 execute read without changing IFS, which results in test breakages all over the place in t0300. Neither dash 0.5.5.1 and older nor dash 0.5.7 and newer are affected: The problem was introduded resp. fixed by the commits 55c46b7 ([BUILTIN] Honor tab as IFS whitespace when splitting fields in readcmd, 2009-08-11) 1d806ac ([VAR] Do not poplocalvars prematurely on regular utilities, 2010-05-27) in http://git.kernel.org/?p=utils/dash/dash.git Putting 'IFS==' before that line makes all versions of dash work. This looks like a dash bug, not a misinterpretation of the standard. However, it's worth working around for two reasons. One, this version of dash was released in Fedora 14-16, so the bug is found in the wild. And two, at least one other shell, Solaris /bin/sh, choked on this by persisting IFS after the read invocation. That is not a shell we usually care about, and I think this use of IFS is acceptable by POSIX (which allows other behavior near "special builtins", but "read" is not one of those). But it seems that this may be a subtle, not-well-tested case for some shells. Given that the workaround is so simple, it's worth just being defensive. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 March 2012, 07:06:08 UTC |
fe6c64a | Tom Grennan | 03 March 2012, 02:15:34 UTC | t5512 (ls-remote): modernize style Prepare expected output inside test_expect_success that uses it. Also remove excess blank lines. Signed-off-by: Tom Grennan <tmgrennan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 March 2012, 06:26:34 UTC |
661bfd1 | Stefano Lattarini | 02 March 2012, 18:48:36 UTC | tests: fix spurious error when run directly with Solaris /usr/xpg4/bin/sh If any test script is run directly with Solaris 10 /usr/xpg4/bin/sh or /bin/ksh, it fails spuriously with a message like: t0000-basic.sh[31]: unset: bad argument count This happens because those shells bail out when encountering a call to "unset" with no arguments, and such unset call could take place in 'test-lib.sh'. Fix that issue, and add a proper comment to ensure we don't regress in this respect. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 March 2012, 22:41:06 UTC |
70eb130 | Junio C Hamano | 29 February 2012, 19:13:22 UTC | Documentation: do not assume that n > 1 in <rev>~$n We explained <rev>~<n> as <n>th generation grand-parent, but a reader got confused by the "grand-" part when <n> is 1. Reword it with "ancestor"; with the "generation" and "following only the first parents" around there, what we try to describe should be clear enough now. Noticed-by: Luke Diamand <luke@diamand.org> Helped-by: Thomas Rast <trast@inf.ethz.ch> Helped-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 March 2012, 17:33:29 UTC |
e0a4aae | Libor Pechacek | 01 March 2012, 10:59:45 UTC | Documentation fixes in git-config Variable names must start with an alphabetic character, regexp config key matching has its limits, sentence grammar. Signed-off-by: Libor Pechacek <lpechacek@suse.cz> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 March 2012, 16:22:24 UTC |
e34bb2e | Carlos Martín Nieto | 28 February 2012, 15:35:48 UTC | Documentation: use {asterisk} in rev-list-options.txt when needed Text between two '*' is emphasized in AsciiDoc and makes explanations in rev-list-options.txt on glob-related options very confusing, as the rendered text would be missing two asterisks and the text between them would be emphasized instead. Use '{asterisk}' where needed to make them show up as asterisks in the rendered text. Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 February 2012, 21:17:14 UTC |
36612e4 | Jakub Narebski | 28 February 2012, 18:41:47 UTC | gitweb: Handle invalid regexp in regexp search When using regexp search ('sr' parameter / $search_use_regexp variable is true), check first that regexp is valid. Without this patch we would get an error from Perl during search (if searching is performed by gitweb), or highlighting matches substring (if applicable), if user provided invalid regexp... which means broken HTML, with error page (including HTTP headers) generated after gitweb already produced some output. Add test that illustrates such error: for example for regexp "*\.git" we would get the following error: Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE \.git/ at /var/www/cgi-bin/gitweb.cgi line 3084. Reported-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 February 2012, 19:45:31 UTC |
9899372 | Nguyễn Thái Ngọc Duy | 28 February 2012, 14:00:00 UTC | rev-list: fix --verify-objects --quiet becoming --objects When --quiet is specified, finish_object() is called instead of show_object(). The latter is in charge of --verify-objects and will be skipped if --quiet is specified. Move the code up to finish_object(). Also pass the quiet flag along and make it always call show_* functions to avoid similar problems in future. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 February 2012, 18:47:30 UTC |
8ba8fe0 | Nguyễn Thái Ngọc Duy | 28 February 2012, 13:59:59 UTC | rev-list: remove BISECT_SHOW_TRIED flag Since c99f069 (bisect--helper: remove "--next-vars" option as it is now useless - 2009-04-21), this flag has always been off. Remove the flag and all related code. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 February 2012, 18:47:28 UTC |
b0fa280 | Junio C Hamano | 27 February 2012, 23:36:08 UTC | Update draft release notes to 1.7.9.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 23:36:08 UTC |
67f8d5b | Junio C Hamano | 27 February 2012, 23:33:33 UTC | Merge branch 'pj/remote-set-branches-usage-fix' into maint * pj/remote-set-branches-usage-fix: remote: fix set-branches usage and documentation Conflicts: builtin/remote.c | 27 February 2012, 23:33:33 UTC |
e22c522 | Junio C Hamano | 27 February 2012, 23:33:26 UTC | Merge branch 'jn/gitweb-unborn-head' into maint * jn/gitweb-unborn-head: gitweb: Fix "heads" view when there is no current branch | 27 February 2012, 23:33:26 UTC |
bdf26fc | Junio C Hamano | 27 February 2012, 23:33:07 UTC | Merge branch 'jn/ancient-meld-support' into maint * jn/ancient-meld-support: mergetools/meld: Use --help output to detect --output support | 27 February 2012, 23:33:07 UTC |
4eed30a | Junio C Hamano | 27 February 2012, 23:31:50 UTC | Merge branch 'tr/merge-edit-guidance' into maint * tr/merge-edit-guidance: merge: add instructions to the commit message when editing | 27 February 2012, 23:31:50 UTC |
860f70f | Tim Henigan | 24 February 2012, 23:12:58 UTC | CodingGuidelines: do not use 'which' in shell scripts During the code review of a recent patch, it was noted that shell scripts must not use 'which $cmd' to check the availability of the command $cmd. The output of the command is not machine parseable and its exit code is not reliable across platforms. It is better to use 'type' to accomplish this task. Signed-off-by: Tim Henigan <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 23:10:23 UTC |
48f359b | Tim Henigan | 24 February 2012, 23:12:57 UTC | CodingGuidelines: Add a note about spaces after redirection During code review of some patches, it was noted that redirection operators should have space before, but no space after them. Signed-off-by: Tim Henigan <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 20:41:13 UTC |
6c41e97 | Carlos Martín Nieto | 27 February 2012, 15:11:53 UTC | branch: don't assume the merge filter ref exists print_ref_list looks up the merge_filter_ref and assumes that a valid pointer is returned. When the object doesn't exist, it tries to dereference a NULL pointer. This can be the case when git branch --merged is given an argument that isn't a valid commit name. Check whether the lookup returns a NULL pointer and die with an error if it does. Add a test, while we're at it. Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 19:35:33 UTC |
64baa41 | Michael Haggerty | 27 February 2012, 18:34:10 UTC | post-receive-email: match up $LOGBEGIN..$LOGEND pairs correctly Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 19:01:16 UTC |
c48be8b | Michael Haggerty | 27 February 2012, 18:34:09 UTC | post-receive-email: remove unused variable prep_for_email neither is passed a fourth argument nor uses it. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 19:01:15 UTC |
62ed072 | Junio C Hamano | 27 February 2012, 01:08:59 UTC | Document accumulated fixes since 1.7.9.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 01:08:59 UTC |
660e20f | Junio C Hamano | 27 February 2012, 01:06:23 UTC | Merge branch 'jc/add-refresh-unmerged' into maint * jc/add-refresh-unmerged: refresh_index: do not show unmerged path that is outside pathspec | 27 February 2012, 01:06:23 UTC |
8f2c099 | Junio C Hamano | 27 February 2012, 01:04:53 UTC | Merge branch 'js/configure-libintl' into maint * js/configure-libintl: configure: don't use -lintl when there is no gettext support | 27 February 2012, 01:04:53 UTC |
4d06691 | Junio C Hamano | 27 February 2012, 00:42:35 UTC | Sync with 1.7.8.5 | 27 February 2012, 00:42:35 UTC |
c524ceb | Junio C Hamano | 27 February 2012, 00:40:20 UTC | Git 1.7.8.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 00:40:20 UTC |
fba4f12 | Michał Kiedrowicz | 25 February 2012, 09:24:28 UTC | grep -P: Fix matching ^ and $ When "git grep" is run with -P/--perl-regexp, it doesn't match ^ and $ at the beginning/end of the line. This is because PCRE normally matches ^ and $ at the beginning/end of the whole text, not for each line, and "git grep" passes a large chunk of text (possibly containing many lines) to pcre_exec() and then splits the text into lines. This makes "git grep -P" behave differently from "git grep -E" and also from "grep -P" and "pcregrep": $ cat file a b $ git grep --no-index -P '^ ' file $ git grep --no-index -E '^ ' file file: b $ grep -c -P '^ ' file b $ pcregrep -c '^ ' file b Reported-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 00:34:03 UTC |
f0c5793 | Jim Meyering | 25 February 2012, 17:34:26 UTC | am: don't infloop for an empty input file git-am.sh's check_patch_format function would attempt to preview the patch to guess its format, but would go into an infinite loop when the patch file happened to be empty. The solution: exit the loop when "read" fails, not when the line var, "$l1" becomes empty. Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 00:32:54 UTC |
ad687b4 | Andrew Wong | 25 February 2012, 04:31:22 UTC | rebase -m: only call "notes copy" when rewritten exists and is non-empty This prevents a shell error complaining rebase-merge/rewritten doesn't exist. Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 00:32:37 UTC |
09ccbd3 | Pete Wyckoff | 26 February 2012, 15:37:27 UTC | git-p4: remove bash-ism in t9800 This works in both bash and dash: $ bash -c 'VAR=1 env' | grep VAR VAR=1 $ dash -c 'VAR=1 env' | grep VAR VAR=1 But environment variables assigned this way are not necessarily propagated through a function in POSIX compliant shells: $ bash -c 'f() { "$@" }; VAR=1 f "env"' | grep VAR VAR=1 $ dash -c 'f() { "$@" }; VAR=1 f "env"' | grep VAR Fix constructs like this, in particular, setting variables through test_must_fail. Based-on-patch-by: Vitor Antunes <vitor.hda@gmail.com> Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 00:20:18 UTC |
8d93a5a | Pete Wyckoff | 26 February 2012, 15:37:26 UTC | git-p4: remove bash-ism in t9809 Plain old $# works to count the number of arguments in either bash or dash, even if the arguments have spaces. Based-on-patch-by: Vitor Antunes <vitor.hda@gmail.com> Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 00:19:22 UTC |
543987b | Pete Wyckoff | 26 February 2012, 01:06:25 UTC | git-p4: fix submit regression with clientSpec and subdir clone When the --use-client-spec is given to clone, and the clone path is a subset of the full tree as specified in the client, future submits will go to the wrong place. Factor out getClientSpec() so both clone/sync and submit can use it. Introduce getClientRoot() that is needed for the client spec case, and use it instead of p4Where(). Test the five possible submit behaviors (add, modify, rename, copy, delete). Reported-by: Laurent Charrière <lcharriere@promptu.com> Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 00:14:29 UTC |
a93d33e | Pete Wyckoff | 26 February 2012, 01:06:24 UTC | git-p4: set useClientSpec variable on initial clone If --use-client-spec was given, set the matching configuration variable. This is necessary to ensure that future submits work properly. The alternatives of requiring the user to set it, or providing a command-line option on every submit, are error prone. Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2012, 00:14:20 UTC |
39cb644 | Dmitry V. Levin | 24 February 2012, 23:42:42 UTC | Makefile: add thread-utils.h to LIB_H Starting with commit v1.7.8-165-g0579f91, grep.h includes thread-utils.h, so the latter has to be added to LIB_H. Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Acked-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 February 2012, 22:31:26 UTC |
4f22b10 | Jeff King | 24 February 2012, 22:10:17 UTC | do not stream large files to pack when filters are in use Because git's object format requires us to specify the number of bytes in the object in its header, we must know the size before streaming a blob into the object database. This is not a problem when adding a regular file, as we can get the size from stat(). However, when filters are in use (such as autocrlf, or the ident, filter, or eol gitattributes), we have no idea what the ultimate size will be. The current code just punts on the whole issue and ignores filter configuration entirely for files larger than core.bigfilethreshold. This can generate confusing results if you use filters for large binary files, as the filter will suddenly stop working as the file goes over a certain size. Rather than try to handle unknown input sizes with streaming, this patch just turns off the streaming optimization when filters are in use. This has a slight performance regression in a very specific case: if you have autocrlf on, but no gitattributes, a large binary file will avoid the streaming code path because we don't know beforehand whether it will need conversion or not. But if you are handling large binary files, you should be marking them as such via attributes (or at least not using autocrlf, and instead marking your text files as such). And the flip side is that if you have a large _non_-binary file, there is a correctness improvement; before we did not apply the conversion at all. The first half of the new t1051 script covers these failures on input. The second half tests the matching output code paths. These already work correctly, and do not need any adjustment. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 February 2012, 22:18:20 UTC |
4c3b57b | Jeff King | 24 February 2012, 22:05:03 UTC | teach dry-run convert_to_git not to require a src buffer When we call convert_to_git in dry-run mode, it may still want to look at the source buffer, because some CRLF conversion modes depend on analyzing the source to determine whether it is in fact convertible CRLF text. However, the main motivation for convert_to_git's dry-run mode is that we would decide which method to use to acquire the blob's data (streaming versus in-core). Requiring this source analysis creates a chicken-and-egg problem. We are better off simply guessing that anything we can't analyze will end up needing conversion. This patch lets a caller specify a NULL src buffer when using dry-run mode (and only dry-run mode). A non-zero return value goes from "we would convert" to "we might convert"; a zero return value remains "we would definitely not convert". Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 February 2012, 22:12:19 UTC |
92ac319 | Jeff King | 24 February 2012, 22:02:37 UTC | teach convert_to_git a "dry run" mode Some callers may want to know whether convert_to_git will actually do anything before performing the conversion itself (e.g., to decide whether to stream or handle blobs in-core). This patch lets callers specify the dry run mode by passing a NULL destination buffer. The return value, instead of indicating whether conversion happened, will indicate whether conversion would occur. For readability, we also include a wrapper function which makes it more obvious we are not actually performing the conversion. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 February 2012, 22:11:27 UTC |
8a557bb | Thomas Rast | 23 February 2012, 09:42:23 UTC | t5704: match tests to modern style The test did not adhere to the current style on several counts: . empty lines around the test blocks, but within the test string . ': > file' or even just '> file' with an extra space . inconsistent indentation . hand-rolled commits instead of using test_commit Fix all of them. There's a catch to the last point: test_commit creates a tag, which the original test did not create. We still change it to test_commit, and explicitly delete the tags, so as to highlight that the test relies on not having them. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 February 2012, 21:53:27 UTC |
1c5f93b | Thomas Rast | 23 February 2012, 09:42:21 UTC | strbuf: improve strbuf_get*line documentation Clarify strbuf_getline() documentation, and add the missing documentation for strbuf_getwholeline() and strbuf_getwholeline_fd(). Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 February 2012, 21:52:11 UTC |
07f050c | Matthieu Moy | 23 February 2012, 12:52:06 UTC | README: point to Documentation/SubmittingPatches It was indeed not obvious for new contributors to find this document in the source tree, since there were no reference to it outside the Documentation/ directory. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 February 2012, 19:35:59 UTC |
8c80ff3 | Junio C Hamano | 23 February 2012, 19:20:15 UTC | Document merge.branchdesc configuration variable This was part of the "branch description" feature in the larger "help people communicate better during their pull based workflow" topic, but was never documented. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 February 2012, 19:20:15 UTC |
c34fe63 | Jeff King | 23 February 2012, 10:04:34 UTC | disconnect from remote helpers more gently When git spawns a remote helper program (like git-remote-http), the last thing we do before closing the pipe to the child process is to send a blank line, telling the helper that we are done issuing commands. However, the helper may already have exited, in which case the parent git process will receive SIGPIPE and die. In particular, this can happen with the remote-curl helper when it encounters errors during a push. The helper reports individual errors for each ref back to git-push, and then exits with a non-zero exit code. Depending on the exact timing of the write, the parent process may or may not receive SIGPIPE. This causes intermittent test failure in t5541.8, and is a side effect of 5238cbf (remote-curl: Fix push status report when all branches fail). Before that commit, remote-curl would not send the final blank line to indicate that the list of status lines was complete; it would just exit, closing the pipe. The parent git-push would notice the closed pipe while reading the status report and exit immediately itself, propagating the failing exit code. But post-5238cbf, remote-curl completes the status list before exiting, git-push actually runs to completion, and then it tries to cleanly disconnect the helper, leading to the SIGPIPE race above. This patch drops all error-checking when sending the final "we are about to hang up" blank line to helpers. There is nothing useful for the parent process to do about errors at that point anyway, and certainly failing to send our "we are done with commands" line to a helper that has already exited is not a problem. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 February 2012, 19:10:10 UTC |
bc2fed4 | Thomas Rast | 22 February 2012, 19:34:23 UTC | bundle: use a strbuf to scan the log for boundary commits The first part of the bundle header contains the boundary commits, and could be approximated by # v2 git bundle $(git rev-list --pretty=oneline --boundary <ARGS> | grep ^-) git-bundle actually spawns exactly this rev-list invocation, and does the grepping internally. There was a subtle bug in the latter step: it used fgets() with a 1024-byte buffer. If the user has sufficiently long subjects (e.g., by not adhering to the git oneline-subject convention in the first place), the 'oneline' format can easily overflow the buffer. fgets() then returns the rest of the line in the next call(s). If one of these remaining parts started with '-', git-bundle would mistakenly insert it into the bundle thinking it was a boundary commit. Fix it by using strbuf_getwholeline() instead, which handles arbitrary line lengths correctly. Note that on the receiving side in parse_bundle_header() we were already using strbuf_getwholeline_fd(), so that part is safe. Reported-by: Jannis Pohlmann <jannis.pohlmann@codethink.co.uk> Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 February 2012, 17:36:44 UTC |
5e8617f | Thomas Rast | 22 February 2012, 19:34:22 UTC | bundle: put strbuf_readline_fd in strbuf.c with adjustments The comment even said that it should eventually go there. While at it, match the calling convention and name of the function to the strbuf_get*line family. So it now is strbuf_getwholeline_fd. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 February 2012, 02:58:16 UTC |
78f4c9f | Junio C Hamano | 23 February 2012, 01:48:01 UTC | Git 1.7.9.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 February 2012, 01:48:01 UTC |
690b297 | Junio C Hamano | 22 February 2012, 22:27:07 UTC | Documentation/merge-options.txt: group "ff" related options together The --ff-only option was not described next to --ff and --no-ff options in "git merge" documentation, even though these three are logically together, describing how to choose one of three possibilities. Also the description for '--ff' and '--no-ff' discussed what '--ff' means, and mentioned '--no-ff' as if it were a side-note to '--ff'. Make them into three top-level entries and list them together. This way, it would be more clear that the user can choose one from these three. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 February 2012, 23:56:27 UTC |
514a529 | Philip Jägenstedt | 22 February 2012, 08:58:13 UTC | completion: use tabs for indentation CodingGuidlines confidently declares "We use tabs for indentation." It would be a shame if it were caught lying. Signed-off-by: Philip Jägenstedt <philip@foolip.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 February 2012, 21:57:38 UTC |
176158c | Philip Jägenstedt | 22 February 2012, 08:58:12 UTC | completion: remove stale "to submit patches" documentation It was out-of-sync with the reality of who works on this script. Defer (silently) to Documentation/SubmittingPatches like all other code. Signed-off-by: Philip Jägenstedt <philip@foolip.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 February 2012, 21:57:05 UTC |
72d5e74 | Junio C Hamano | 21 February 2012, 23:16:34 UTC | Update draft release notes to 1.7.9.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 February 2012, 23:16:34 UTC |
e147e96 | Junio C Hamano | 21 February 2012, 23:14:41 UTC | Merge branch 'cb/receive-pack-keep-errors' into maint * cb/receive-pack-keep-errors: do not override receive-pack errors | 21 February 2012, 23:14:41 UTC |
c7707a4 | Junio C Hamano | 21 February 2012, 23:14:37 UTC | Merge branch 'cb/transfer-no-progress' into maint * cb/transfer-no-progress: push/fetch/clone --no-progress suppresses progress output | 21 February 2012, 23:14:37 UTC |
0cfba96 | Junio C Hamano | 21 February 2012, 23:13:16 UTC | Merge branch 'jk/git-dir-lookup' into maint * jk/git-dir-lookup: standardize and improve lookup rules for external local repos | 21 February 2012, 23:13:16 UTC |
a67c235 | Junio C Hamano | 21 February 2012, 23:00:33 UTC | Merge branch 'jc/diff-stat-scaler' into maint * jc/diff-stat-scaler: diff --stat: show bars of same length for paths with same amount of changes | 21 February 2012, 23:00:33 UTC |
c17ff2a | Junio C Hamano | 21 February 2012, 23:00:15 UTC | Merge branch 'zj/term-columns' into maint * zj/term-columns: pager: find out the terminal width before spawning the pager | 21 February 2012, 23:00:15 UTC |
1e2545c | Junio C Hamano | 21 February 2012, 22:59:35 UTC | Merge branch 'cb/maint-rev-list-verify-object' into maint * cb/maint-rev-list-verify-object: git rev-list: fix invalid typecast | 21 February 2012, 22:59:35 UTC |
c1ed5e6 | Junio C Hamano | 21 February 2012, 22:57:40 UTC | Merge branch 'cb/maint-t5541-make-server-port-portable' into maint * cb/maint-t5541-make-server-port-portable: t5541: check error message against the real port number used | 21 February 2012, 22:57:40 UTC |
ef55bd7 | Junio C Hamano | 21 February 2012, 22:57:14 UTC | Merge branch 'dp/i18n-libcharset' into maint * dp/i18n-libcharset: Makefile: introduce CHARSET_LIB to link with -lcharset | 21 February 2012, 22:57:14 UTC |
6f61eb2 | Junio C Hamano | 21 February 2012, 22:57:05 UTC | Merge branch 'jk/grep-binary-attribute' into maint * jk/grep-binary-attribute: grep: pre-load userdiff drivers when threaded grep: load file data after checking binary-ness grep: respect diff attributes for binary-ness grep: cache userdiff_driver in grep_source grep: drop grep_buffer's "name" parameter convert git-grep to use grep_source interface grep: refactor the concept of "grep source" into an object grep: move sha1-reading mutex into low-level code grep: make locking flag global | 21 February 2012, 22:57:05 UTC |
093b194 | Junio C Hamano | 21 February 2012, 22:56:39 UTC | Merge branch 'nd/diffstat-gramnum' into maint * nd/diffstat-gramnum: Use correct grammar in diffstat summary line | 21 February 2012, 22:56:39 UTC |
f3ccea8 | Junio C Hamano | 21 February 2012, 22:56:36 UTC | Merge branch 'nd/find-pack-entry-recent-cache-invalidation' into maint * nd/find-pack-entry-recent-cache-invalidation: find_pack_entry(): do not keep packed_git pointer locally sha1_file.c: move the core logic of find_pack_entry() into fill_pack_entry() | 21 February 2012, 22:56:36 UTC |
655c3ed | Junio C Hamano | 21 February 2012, 22:56:06 UTC | Merge branch 'tt/profile-build-fix' into maint * tt/profile-build-fix: Makefile: fix syntax for older make Fix build problems related to profile-directed optimization | 21 February 2012, 22:56:06 UTC |
014578e | Junio C Hamano | 21 February 2012, 22:55:50 UTC | Merge branch 'fc/zsh-completion' into maint * fc/zsh-completion: completion: simplify __gitcomp and __gitcomp_nl implementations completion: use ls -1 instead of rolling a loop to do that ourselves completion: work around zsh option propagation bug | 21 February 2012, 22:55:50 UTC |
6424c2a | Jehan Bing | 20 February 2012, 20:53:37 UTC | Ignore SIGPIPE when running a filter driver If a filter is not defined or if it fails, git should behave as if the filter is a no-op passthru. However, if the filter exits before reading all the content, depending on the timing, git could be killed with SIGPIPE when it tries to write to the pipe connected to the filter. Ignore SIGPIPE while processing the filter to give us a chance to check the return value from a failed write, in order to detect and act on this mode of failure in a more controlled way. Signed-off-by: Jehan Bing <jehan@orb.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 February 2012, 20:48:09 UTC |
f24a595 | Christian Hammerl | 20 February 2012, 12:17:53 UTC | completion: Allow dash as the first character for __git_ps1 If the argument for `__git_ps1` begins with a dash, `printf` tries to interpret it as an option which results in an error message. The problem is solved by adding '--' before the argument to tell `printf` to not interpret the following argument as an option. Adding '--' directly to the argument does not help because the argument is enclosed by double quotes. Signed-off-by: Christian Hammerl <info@christian-hammerl.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 February 2012, 20:38:07 UTC |
233054d | Junio C Hamano | 20 February 2012, 08:14:00 UTC | Update draft release notes to 1.7.9.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 20 February 2012, 08:14:00 UTC |
a8356d4 | John Szakmeister | 18 February 2012, 19:38:04 UTC | configure: don't use -lintl when there is no gettext support The current configure script uses -lintl if gettext is not found in the C library, but does so before checking if there is libintl.h available in the first place, in which case we would later define NO_GETTEXT. Instead, check for the existence of libintl.h first. Only when libintl.h exists and libintl is not in libc, ask for -lintl. Signed-off-by: John Szakmeister <john@szakmeister.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 20 February 2012, 08:01:53 UTC |
ca5bc9e | Philip Jägenstedt | 18 February 2012, 11:17:47 UTC | remote: fix set-branches usage and documentation The canonical order of command line arguments is always to have dashed commands before other parameters, but the "git remote set-branches" subcommand was described to take "name" before an optional "--add". Signed-off-by: Philip Jägenstedt <philip@foolip.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 20 February 2012, 07:44:38 UTC |
fc8fcd2 | Jakub Narebski | 15 February 2012, 16:37:06 UTC | gitweb: Fix 'grep' search for multiple matches in file Commit ff7f218 (gitweb: Fix file links in "grep" search, 2012-01-05), added $file_href variable, to reduce duplication and have the fix applied in single place. Unfortunately it made variable defined inside the loop, not taking into account the fact that $file_href was set only if file changed. Therefore for files with multiple matches $file_href was undefined for second and subsequent matches. Fix this bug by moving $file_href declaration outside loop. Adds tests for almost all forms of sarch in gitweb, which were missing from testuite. Note that it only tests if there are no warnings, and it doesn't check that gitweb finds what it should find. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 20 February 2012, 06:21:35 UTC |
3d1f148 | Junio C Hamano | 17 February 2012, 18:11:05 UTC | refresh_index: do not show unmerged path that is outside pathspec When running "git add --refresh <pathspec>", we incorrectly showed the path that is unmerged even if it is outside the specified pathspec, even though we did honor pathspec and refreshed only the paths that matched. Note that this cange does not affect "git update-index --refresh"; for hysterical raisins, it does not take a pathspec (it takes real paths) and more importantly itss command line options are parsed and executed one by one as they are encountered, so "git update-index --refresh foo" means "first refresh the index, and then update the entry 'foo' by hashing the contents in file 'foo'", not "refresh only entry 'foo'". Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 February 2012, 18:11:05 UTC |
fd49e56 | Jakub Narebski | 15 February 2012, 15:36:41 UTC | gitweb: Fix "heads" view when there is no current branch In a repository whose HEAD points to an unborn branch with no commits, "heads" view and "summary" view (which shows what is shown in "heads" view) compared the object names of commits at the tip of branches with the output from "git rev-parse HEAD", which caused comparison of a string with undef and resulted in a warning in the server log. This can happen if non-bare repository (with default 'master' branch) is updated not via committing but by other means like push to it, or Gerrit. It can happen also just after running "git checkout --orphan <new branch>" but before creating any new commit on this branch. Rewrite the comparison so that it also works when $head points at nothing; in such a case, no branch can be "the current branch", add a test for it. While at it, rename local variable $head to $head_at, as it points to current commit rather than current branch name (HEAD contents). The code still incorrectly shows all branches that point at the same commit as what HEAD points as "the current branch", even when HEAD is detached. Fixing this bug is outside the scope of this patch. Reported-by: Rajesh Boyapati Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 February 2012, 16:25:30 UTC |
d1ba7a4 | Junio C Hamano | 16 February 2012, 22:26:32 UTC | Update draft release notes to 1.7.9.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 February 2012, 22:26:32 UTC |
147d071 | Junio C Hamano | 16 February 2012, 22:18:06 UTC | Merge branch 'jc/checkout-out-of-unborn' into maint * jc/checkout-out-of-unborn: git checkout -b: allow switching out of an unborn branch | 16 February 2012, 22:18:06 UTC |
57d6b07 | Junio C Hamano | 16 February 2012, 22:18:03 UTC | Merge branch 'jc/maint-mailmap-output' into maint * jc/maint-mailmap-output: mailmap: always return a plain mail address from map_user() | 16 February 2012, 22:18:03 UTC |
f3f3c4d | Junio C Hamano | 16 February 2012, 22:18:00 UTC | Merge branch 'jk/prompt-fallback-to-tty' into maint * jk/prompt-fallback-to-tty: prompt: fall back to terminal if askpass fails prompt: clean up strbuf usage | 16 February 2012, 22:18:00 UTC |
35c60a0 | Junio C Hamano | 16 February 2012, 22:17:58 UTC | Merge branch 'jn/gitweb-search-utf-8' into maint * jn/gitweb-search-utf-8: gitweb: Allow UTF-8 encoded CGI query parameters and path_info | 16 February 2012, 22:17:58 UTC |
6c63ab3 | Junio C Hamano | 16 February 2012, 22:08:00 UTC | Merge branch 'jc/maint-commit-ignore-i-t-a' into maint * jc/maint-commit-ignore-i-t-a: commit: ignore intent-to-add entries instead of refusing Conflicts: cache-tree.c | 16 February 2012, 22:08:00 UTC |
c6a4e3f | Junio C Hamano | 16 February 2012, 22:00:25 UTC | Merge branch 'mm/empty-loose-error-message' into maint * mm/empty-loose-error-message: fsck: give accurate error message on empty loose object files | 16 February 2012, 22:00:25 UTC |
f342afa | Junio C Hamano | 16 February 2012, 22:00:16 UTC | Merge branch 'nk/ctype-for-perf' into maint * nk/ctype-for-perf: ctype: implement islower/isupper macro ctype.c only wants git-compat-util.h | 16 February 2012, 22:00:16 UTC |
e6d88ca | Junio C Hamano | 16 February 2012, 21:59:53 UTC | Merge branch 'jx/i18n-more-marking' into maint * jx/i18n-more-marking: i18n: format_tracking_info "Your branch is behind" message i18n: git-commit whence_s "merge/cherry-pick" message | 16 February 2012, 21:59:53 UTC |
68e4b55 | Zbigniew Jędrzejewski-Szmek | 14 February 2012, 23:54:21 UTC | man: rearrange git synopsis to fit in 80 lines The line was extended in 2dd8c3 ('git: add --info-path and --man-path options'), and the formatted man output stopped fitting into the 80 column window. Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 February 2012, 21:01:31 UTC |
a7fab08 | Ralf Thielow | 15 February 2012, 20:36:58 UTC | completion: --list option for git-branch Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 February 2012, 20:33:50 UTC |
5639786 | Junio C Hamano | 16 February 2012, 20:33:46 UTC | Merge branch 'rt/completion-branch-edit-desc' into maint * rt/completion-branch-edit-desc: completion: --edit-description option for git-branch | 16 February 2012, 20:33:46 UTC |
2eeeef2 | Junio C Hamano | 14 February 2012, 21:49:11 UTC | diff --stat: show bars of same length for paths with same amount of changes When commit 3ed74e6 (diff --stat: ensure at least one '-' for deletions, and one '+' for additions, 2006-09-28) improved the output for files with tiny modifications, we accidentally broke the logic to ensure that two equal sized changes are shown with the bars of the same length, even when rounding errors exist. Compute the length of the graph bars, using the same "non-zero changes is shown with at least one column" scaling logic, but by scaling the sum of additions and deletions to come up with the total length of the bar (this ensures that two equal sized changes result in bars of the same length), and then scaling the smaller of the additions or deletions. The other side is computed as the difference between the two. This makes the apportioning between additions and deletions less accurate due to rounding errors, but it is much less noticeable than two files with the same amount of change showing bars of different length. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 February 2012, 22:21:49 UTC |
90020e3 | Junio C Hamano | 14 February 2012, 17:53:38 UTC | Git 1.7.9.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 February 2012, 17:53:38 UTC |
a95750c | Junio C Hamano | 14 February 2012, 07:31:27 UTC | Merge branch 'jk/maint-tag-show-fixes' into maint * jk/maint-tag-show-fixes: tag: do not show non-tag contents with "-n" tag: die when listing missing or corrupt objects tag: fix output of "tag -n" when errors occur Conflicts: t/t7004-tag.sh | 14 February 2012, 07:31:27 UTC |
801b28a | Junio C Hamano | 14 February 2012, 07:26:31 UTC | Merge branch 'bw/inet-pton-ntop-compat' into maint * bw/inet-pton-ntop-compat: Drop system includes from inet_pton/inet_ntop compatibility wrappers | 14 February 2012, 07:26:31 UTC |
1dcfa8d | Junio C Hamano | 14 February 2012, 07:26:25 UTC | Merge branch 'mp/make-cleanse-x-for-exe' into maint * mp/make-cleanse-x-for-exe: Explicitly set X to avoid potential build breakage | 14 February 2012, 07:26:25 UTC |
42e283a | Junio C Hamano | 14 February 2012, 07:24:02 UTC | Merge branch 'jn/merge-no-edit-fix' into maint * jn/merge-no-edit-fix: merge: do not launch an editor on "--no-edit $tag" | 14 February 2012, 07:24:02 UTC |
ad6c373 | Zbigniew Jędrzejewski-Szmek | 12 February 2012, 14:12:32 UTC | pager: find out the terminal width before spawning the pager term_columns() checks for terminal width via ioctl(2) on the standard output, but we spawn the pager too early for this check to be useful. The effect of this buglet can be observed by opening a wide terminal and running "git -p help --all", which still shows 80-column output, while "git help --all" uses the full terminal width. Run the check before we spawn the pager to fix this. While at it, move term_columns() to pager.c and export it from cache.h so that callers other than the help subsystem can use it. Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 February 2012, 23:08:47 UTC |