sort by:
Revision Author Date Message Commit Date
95d6787 Git 2.12.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 May 2017, 04:33:22 UTC
ebb1f6f Merge branch 'maint-2.11' into maint 05 May 2017, 04:31:40 UTC
773e3a2 Git 2.11.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 May 2017, 04:29:43 UTC
a849d36 Merge branch 'maint-2.10' into maint-2.11 05 May 2017, 04:26:31 UTC
840ed14 Git 2.10.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 May 2017, 04:24:10 UTC
fc92b08 Merge branch 'maint-2.9' into maint-2.10 05 May 2017, 04:21:52 UTC
d61226c Git 2.9.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 May 2017, 04:19:10 UTC
c93ab42 Merge branch 'maint-2.8' into maint-2.9 05 May 2017, 04:13:48 UTC
cd08873 Git 2.8.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 May 2017, 04:08:54 UTC
a8d93d1 Merge branch 'maint-2.7' into maint-2.8 05 May 2017, 04:05:03 UTC
c8dd1e3 Git 2.7.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 May 2017, 04:03:40 UTC
dc58c85 Merge branch 'maint-2.6' into maint-2.7 05 May 2017, 03:59:16 UTC
70fcaef Git 2.6.7 Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 May 2017, 03:56:19 UTC
ab37a18 Merge branch 'maint-2.5' into maint-2.6 05 May 2017, 03:52:26 UTC
ac33201 Git 2.5.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 May 2017, 03:50:38 UTC
531788a Merge branch 'maint-2.4' into maint-2.5 05 May 2017, 03:46:53 UTC
4000b40 Git 2.4.12 Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 May 2017, 03:43:16 UTC
5a4ffdf Merge branch 'jk/shell-no-repository-that-begins-with-dash' into maint-2.4 * jk/shell-no-repository-that-begins-with-dash: shell: disallow repo names beginning with dash 05 May 2017, 03:17:55 UTC
3ec8044 shell: disallow repo names beginning with dash When a remote server uses git-shell, the client side will connect to it like: ssh server "git-upload-pack 'foo.git'" and we literally exec ("git-upload-pack", "foo.git"). In early versions of upload-pack and receive-pack, we took a repository argument and nothing else. But over time they learned to accept dashed options. If the user passes a repository name that starts with a dash, the results are confusing at best (we complain of a bogus option instead of a non-existent repository) and malicious at worst (the user can start an interactive pager via "--help"). We could pass "--" to the sub-process to make sure the user's argument is interpreted as a branch name. I.e.: git-upload-pack -- -foo.git But adding "--" automatically would make us inconsistent with a normal shell (i.e., when git-shell is not in use), where "-foo.git" would still be an error. For that case, the client would have to specify the "--", but they can't do so reliably, as existing versions of git-shell do not allow more than a single argument. The simplest thing is to simply disallow "-" at the start of the repo name argument. This hasn't worked either with or without git-shell since version 1.0.0, and nobody has complained. Note that this patch just applies to do_generic_cmd(), which runs upload-pack, receive-pack, and upload-archive. There are two other types of commands that git-shell runs: - do_cvs_cmd(), but this already restricts the argument to be the literal string "server" - admin-provided commands in the git-shell-commands directory. We'll pass along arbitrary arguments there, so these commands could have similar problems. But these commands might actually understand dashed arguments, so we cannot just block them here. It's up to the writer of the commands to make sure they are safe. With great power comes great responsibility. Reported-by: Timo Schmid <tschmid@ernw.de> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 May 2017, 03:07:27 UTC
49800c9 Prepare for 2.12.3 28 March 2017, 20:54:14 UTC
67476f5 Merge branch 'km/config-grammofix' into maint Doc update. * km/config-grammofix: doc/config: grammar fixes for core.{editor,commentChar} 28 March 2017, 20:52:29 UTC
88fb4aa Merge branch 'sb/t3600-rephrase' into maint A test retitling. * sb/t3600-rephrase: t3600: rename test to describe its functionality 28 March 2017, 20:52:29 UTC
04b4f7d Merge branch 'sb/submodule-update-initial-runs-custom-script' into maint A test fix. * sb/submodule-update-initial-runs-custom-script: t7406: correct test case for submodule-update initial population 28 March 2017, 20:52:29 UTC
27ee56f Merge branch 'jk/quote-env-path-list-component' into maint A test fix. * jk/quote-env-path-list-component: t5615: fix a here-doc syntax error 28 March 2017, 20:52:28 UTC
fd7c41e Merge branch 'rs/update-hook-optim' into maint Code clean-up. * rs/update-hook-optim: receive-pack: simplify run_update_post_hook() 28 March 2017, 20:52:28 UTC
fb0ab97 Merge branch 'rs/shortlog-cleanup' into maint Code clean-up. * rs/shortlog-cleanup: shortlog: don't set after_subject to an empty string 28 March 2017, 20:52:28 UTC
1c91ec0 Merge branch 'rs/path-name-safety-cleanup' into maint Code clean-up. * rs/path-name-safety-cleanup: revision: remove declaration of path_name() 28 March 2017, 20:52:27 UTC
310b945 Merge branch 'rs/http-push-cleanup' into maint Code clean-up. * rs/http-push-cleanup: http-push: don't check return value of lookup_unknown_object() 28 March 2017, 20:52:26 UTC
e3c551d Merge branch 'sb/wt-status-cleanup' into maint Code clean-up. * sb/wt-status-cleanup: wt-status: simplify by using for_each_string_list_item 28 March 2017, 20:52:26 UTC
ba5e05f Merge branch 'jk/pack-name-cleanups' into maint Code clean-up. * jk/pack-name-cleanups: index-pack: make pointer-alias fallbacks safer replace snprintf with odb_pack_name() odb_pack_keep(): stop generating keepfile name sha1_file.c: make pack-name helper globally accessible move odb_* declarations out of git-compat-util.h 28 March 2017, 20:52:25 UTC
8f71209 Merge branch 'jk/rev-parse-cleanup' into maint Code clean-up. * jk/rev-parse-cleanup: rev-parse: simplify parsing of ref options rev-parse: add helper for parsing "--foo/--foo=" rev-parse: use skip_prefix when parsing options 28 March 2017, 20:52:25 UTC
a9508a1 Merge branch 'rs/blame-code-cleanup' into maint Code clean-up. * rs/blame-code-cleanup: blame: move blame_entry duplication to add_blame_entry() 28 March 2017, 20:52:25 UTC
110bdbd Merge branch 'st/verify-tag' into maint A few unterminated here documents in tests were fixed, which in turn revealed incorrect expectations the tests make. These tests have been updated. * st/verify-tag: t7004, t7030: fix here-doc syntax errors 28 March 2017, 20:52:24 UTC
57009b1 Merge branch 'js/regexec-buf' into maint Fix for potential segv introduced in v2.11.0 and later (also v2.10.2). * js/regexec-buf: pickaxe: fix segfault with '-S<...> --pickaxe-regex' 28 March 2017, 20:52:24 UTC
fd3ab91 Merge branch 'jk/execv-dashed-external' into maint Fix for NO_PTHREADS build. * jk/execv-dashed-external: run-command: fix segfault when cleaning forked async process 28 March 2017, 20:52:23 UTC
c953cf9 Merge branch 'ew/http-alternates-as-redirects-warning' into maint Recent versions of Git treats http alternates (used in dumb http transport) just like HTTP redirects and requires the client to enable following it, due to security concerns. But we forgot to give a warning when we decide not to honor the alternates. * ew/http-alternates-as-redirects-warning: http: release strbuf on disabled alternates http: inform about alternates-as-redirects behavior 28 March 2017, 20:52:23 UTC
bfee58c Merge branch 'dp/filter-branch-prune-empty' into maint "git filter-branch --prune-empty" drops a single-parent commit that becomes a no-op, but did not drop a root commit whose tree is empty. * dp/filter-branch-prune-empty: p7000: add test for filter-branch with --prune-empty filter-branch: fix --prune-empty on parentless commits t7003: ensure --prune-empty removes entire branch when applicable t7003: ensure --prune-empty can prune root commit 28 March 2017, 20:52:22 UTC
2b69d31 Merge branch 'mm/fetch-show-error-message-on-unadvertised-object' into maint "git fetch" that requests a commit by object name, when the other side does not allow such an request, failed without much explanation. * mm/fetch-show-error-message-on-unadvertised-object: fetch-pack: add specific error for fetching an unadvertised object fetch_refs_via_pack: call report_unmatched_refs fetch-pack: move code to report unmatched refs to a function 28 March 2017, 20:52:22 UTC
41534b6 Merge branch 'jk/interpret-branch-name' into maint "git branch @" created refs/heads/@ as a branch, and in general the code that handled @{-1} and @{upstream} was a bit too loose in disambiguating. * jk/interpret-branch-name: checkout: restrict @-expansions when finding branch strbuf_check_ref_format(): expand only local branches branch: restrict @-expansions when deleting t3204: test git-branch @-expansion corner cases interpret_branch_name: allow callers to restrict expansions strbuf_branchname: add docstring strbuf_branchname: drop return value interpret_branch_name: move docstring to header file interpret_branch_name(): handle auto-namelen for @{-1} 28 March 2017, 20:52:22 UTC
e25c122 Merge branch 'ab/cond-skip-tests' into maint A few tests were run conditionally under (rare) conditions where they cannot be run (like running cvs tests under 'root' account). * ab/cond-skip-tests: gitweb tests: skip tests when we don't have Time::HiRes gitweb tests: change confusing "skip_all" phrasing cvs tests: skip tests that call "cvs commit" when running as root 28 March 2017, 20:52:21 UTC
bb622de Merge branch 'jk/ident-empty' into maint user.email that consists of only cruft chars should consistently error out, but didn't. * jk/ident-empty: ident: do not ignore empty config name/email ident: reject all-crud ident name ident: handle NULL email when complaining of empty name ident: mark error messages for translation 28 March 2017, 20:52:21 UTC
252ef8f Merge branch 'jk/delta-chain-limit' into maint "git repack --depth=<n>" for a long time busted the specified depth when reusing delta from existing packs. This has been corrected. * jk/delta-chain-limit: pack-objects: convert recursion to iteration in break_delta_chain() pack-objects: enforce --depth limit in reused deltas 28 March 2017, 20:52:21 UTC
9304052 Merge branch 'sg/test-with-stdin' into maint Teach the "debug" helper used in the test framework that allows a command to run under "gdb" to make the session interactive. * sg/test-with-stdin: tests: make the 'test_pause' helper work in non-verbose mode tests: create an interactive gdb session with the 'debug' helper 28 March 2017, 20:52:20 UTC
c34aa34 Merge branch 'jk/interop-test' into maint Picking two versions of Git and running tests to make sure the older one and the newer one interoperate happily has now become possible. * jk/interop-test: t/interop: add test of old clients against modern git-daemon t: add an interoperability test harness 28 March 2017, 20:52:20 UTC
e0c74e6 Merge branch 'jt/perf-updates' into maint The t/perf performance test suite was not prepared to test not so old versions of Git, but now it covers versions of Git that are not so ancient. * jt/perf-updates: t/perf: add fallback for pre-bin-wrappers versions of git t/perf: use $MODERN_GIT for all repo-copying steps t/perf: export variable used in other blocks 28 March 2017, 20:52:19 UTC
cd27bc7 Merge branch 'rs/strbuf-add-real-path' into maint An helper function to make it easier to append the result from real_path() to a strbuf has been added. * rs/strbuf-add-real-path: strbuf: add strbuf_add_real_path() cocci: use ALLOC_ARRAY 28 March 2017, 20:52:19 UTC
c772d1b Merge branch 'jk/parse-config-key-cleanup' into maint The "parse_config_key()" API function has been cleaned up. * jk/parse-config-key-cleanup: parse_hide_refs_config: tell parse_config_key we don't want a subsection parse_config_key: allow matching single-level config parse_config_key: use skip_prefix instead of starts_with refs: parse_hide_refs_config to use parse_config_key 28 March 2017, 20:52:19 UTC
8f9aeb0 Git 2.12.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 March 2017, 19:59:15 UTC
75d4476 Merge branch 'ab/doc-no-option-notation-fix' into maint Doc fix. * ab/doc-no-option-notation-fix: doc: change erroneous --[no]-whatever into --[no-]whatever 24 March 2017, 19:57:55 UTC
ce9e617 Merge branch 'ab/push-default-doc-fix' into maint Doc fix. * ab/push-default-doc-fix: push: mention "push.default=tracking" in the documentation 24 March 2017, 19:57:54 UTC
7bd881f Merge branch 'nd/commit-hook-doc-fix' into maint Doc fix. * nd/commit-hook-doc-fix: git-commit.txt: list post-rewrite in HOOKS section 24 March 2017, 19:57:54 UTC
eb4e87c Merge branch 'jc/config-case-cmdline-take-2' into maint The code to parse "git -c VAR=VAL cmd" and set configuration variable for the duration of cmd had two small bugs, which have been fixed. This supersedes jc/config-case-cmdline topic that has been discarded. * jc/config-case-cmdline-take-2: config: use git_config_parse_key() in git_config_parse_parameter() config: move a few helper functions up 24 March 2017, 19:57:54 UTC
ea7aa5a Merge branch 'jk/grep-no-index-fix' into maint The code to parse the command line "git grep <patterns>... <rev> [[--] <pathspec>...]" has been cleaned up, and a handful of bugs have been fixed (e.g. we used to check "--" if it is a rev). * jk/grep-no-index-fix: grep: treat revs the same for --untracked as for --no-index grep: do not diagnose misspelt revs with --no-index grep: avoid resolving revision names in --no-index case grep: fix "--" rev/pathspec disambiguation grep: re-order rev-parsing loop grep: do not unnecessarily query repo for "--" grep: move thread initialization a little lower 24 March 2017, 19:57:53 UTC
411a179 Merge branch 'jn/remote-helpers-with-git-dir' into maint "git ls-remote" and "git archive --remote" are designed to work without being in a directory under Git's control. However, recent updates revealed that we randomly look into a directory called .git/ without actually doing necessary set-up when working in a repository. Stop doing so. * jn/remote-helpers-with-git-dir: remote helpers: avoid blind fall-back to ".git" when setting GIT_DIR remote: avoid reading $GIT_DIR config in non-repo 24 March 2017, 19:57:53 UTC
f3d5bbb Merge branch 'sb/submodule-config-parse-ignore-fix' into maint Code to read submodule.<name>.ignore config did not state the variable name correctly when giving an error message diagnosing misconfiguration. * sb/submodule-config-parse-ignore-fix: submodule-config: correct error reporting for invalid ignore value 24 March 2017, 19:57:52 UTC
f4d3af1 Merge branch 'jk/push-deadlock-regression-fix' into maint "git push" had a handful of codepaths that could lead to a deadlock when unexpected error happened, which has been fixed. * jk/push-deadlock-regression-fix: send-pack: report signal death of pack-objects send-pack: read "unpack" status even on pack-objects failure send-pack: improve unpack-status error messages send-pack: use skip_prefix for parsing unpack status send-pack: extract parsing of "unpack" response receive-pack: fix deadlock when we cannot create tmpdir 24 March 2017, 19:57:52 UTC
296ab78 mailmap: use Michael J Gruber's new address Map both old addresses to the new, hopefully more permanent one. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Michael J Gruber <git@grubix.eu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 March 2017, 19:30:27 UTC
b42ca35 t7004, t7030: fix here-doc syntax errors Jan Palus noticed that some here-doc are spelled incorrectly, resulting the entire remainder of the test snippet being slurped into the "expect" file as if it were data, e.g. in this sequence cat >expect <<EOF && ... expectation ... EOF git $cmd_being_tested >actual && test_cmp expect actual the last command of the test is "cat" that sends everything to 'expect' and succeeds. Fixing these issues in t7004 and t7030 reveals that "git tag -v" and "git verify-tag" with their --format option do not work as the test was expecting originally. Instead of showing both valid tags and tags with incorrect signatures on their output, tags that do not pass verification are omitted from the output. Another breakage that is uncovered is that these tests must be restricted to environment where gpg is available. Arguably, that is a safer behaviour, and because the format specifiers like %(tag) do not have a way to show if the signature verifies correctly, the command with the --format option cannot be used to get a list of tags annotated with their signature validity anyway. For now, let's fix the here-doc syntax, update the expectation to match the reality, and update the test prerequisite. Maybe later when we extend the --format language available to "git tag -v" and "git verify-tag" to include things like "%(gpg:status)", we may want to change the behaviour so that piping a list of tag names into xargs git verify-tag --format='%(gpg:status) %(tag)' becomes a good way to produce such a list, but that is a separate topic. Noticed-by: Jan Palus <jan.palus@gmail.com> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Santiago Torres <santiago@nyu.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 March 2017, 17:19:18 UTC
e7e183d doc/config: grammar fixes for core.{editor,commentChar} Signed-off-by: Kyle Meyer <kyle@kyleam.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 March 2017, 19:04:08 UTC
a4dded0 t7406: correct test case for submodule-update initial population There are three issues with the test: * The syntax of the here-doc was wrong, such that the entire test was sucked into the here-doc, which is why the test succeeded. * The variable $submodulesha1 was not expanded as it was inside a quoted here text. We do not want to quote EOF marker for this. * The redirection from the git command to the output file for comparison was wrong as the -C operator from git doesn't apply to the redirect path. Also we're interested in stderr of that command. Noticed-by: Jan Palus <jan.palus@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 March 2017, 22:39:51 UTC
37e6115 t5615: fix a here-doc syntax error This came as part of jk/quote-env-path-list-component and was merged to 2.11.1 and later. Noticed-by: Jan Palus <jan.palus@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 March 2017, 20:31:52 UTC
70471ed t3600: rename test to describe its functionality This was an oversight in 55856a35b2 (rm: absorb a submodules git dir before deletion, 2016-12-27), as the body of the test changed without adapting the test subject. Signed-off-by: Stefan Beller <sbeller@google.com> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 March 2017, 17:13:17 UTC
8624735 Prepare for 2.12.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 March 2017, 22:04:12 UTC
71da2fb Merge branch 'jh/send-email-one-cc' into maint "Cc:" on the trailer part does not have to conform to RFC strictly, unlike in the e-mail header. "git send-email" has been updated to ignore anything after '>' when picking addresses, to allow non-address cruft like " # stable 4.4" after the address. * jh/send-email-one-cc: send-email: only allow one address per body tag 21 March 2017, 22:03:30 UTC
7e02ec2 Merge branch 'jk/t6300-cleanup' into maint A test that creates a confusing branch whose name is HEAD has been corrected not to do so. * jk/t6300-cleanup: t6300: avoid creating refs/heads/HEAD 21 March 2017, 22:03:30 UTC
d6bc22e Merge branch 'rs/commit-parsing-optim' into maint The code that parses header fields in the commit object has been updated for (micro)performance and code hygiene. * rs/commit-parsing-optim: commit: don't check for space twice when looking for header commit: be more precise when searching for headers 21 March 2017, 22:03:29 UTC
93abd17 Merge branch 'jk/show-branch-lift-name-len-limit' into maint "git show-branch" expected there were only very short branch names in the repository and used a fixed-length buffer to hold them without checking for overflow. * jk/show-branch-lift-name-len-limit: show-branch: use skip_prefix to drop magic numbers show-branch: store resolved head in heap buffer show-branch: drop head_len variable 21 March 2017, 22:03:29 UTC
f63df94 Merge branch 'jk/tempfile-ferror-fclose-confusion' into maint A caller of tempfile API that uses stdio interface to write to files may ignore errors while writing, which is detected when tempfile is closed (with a call to ferror()). By that time, the original errno that may have told us what went wrong is likely to be long gone and was overwritten by an irrelevant value. close_tempfile() now resets errno to EIO to make errno at least predictable. * jk/tempfile-ferror-fclose-confusion: tempfile: set errno to a known value before calling ferror() 21 March 2017, 22:03:28 UTC
0d9f942 Merge branch 'rl/remote-allow-missing-branch-name-merge' into maint "git remote rm X", when a branch has remote X configured as the value of its branch.*.remote, tried to remove branch.*.remote and branch.*.merge and failed if either is unset. * rl/remote-allow-missing-branch-name-merge: remote: ignore failure to remove missing branch.<name>.merge 21 March 2017, 22:03:28 UTC
d30ec1b Merge branch 'dt/gc-ignore-old-gc-logs' into maint A "gc.log" file left by a backgrounded "gc --auto" disables further automatic gc; it has been taught to run at least once a day (by default) by ignoring a stale "gc.log" file that is too old. * dt/gc-ignore-old-gc-logs: gc: ignore old gc.log files 21 March 2017, 22:03:28 UTC
f4470f2 Merge branch 'jt/upload-pack-error-report' into maint "git upload-pack", which is a counter-part of "git fetch", did not report a request for a ref that was not advertised as invalid. This is generally not a problem (because "git fetch" will stop before making such a request), but is the right thing to do. * jt/upload-pack-error-report: upload-pack: report "not our ref" to client 21 March 2017, 22:03:27 UTC
e36e28e Merge branch 'rs/sha1-file-plug-fallback-base-leak' into maint A leak in a codepath to read from a packed object in (rare) cases has been plugged. * rs/sha1-file-plug-fallback-base-leak: sha1_file: release fallback base's memory in unpack_entry() 21 March 2017, 22:03:27 UTC
d46d432 Merge branch 'ss/remote-bzr-hg-placeholder-wo-python' into maint There is no need for Python only to give a few messages to the standard error stream, but we somehow did. * ss/remote-bzr-hg-placeholder-wo-python: contrib: git-remote-{bzr,hg} placeholders don't need Python 21 March 2017, 22:03:27 UTC
cc8e385 Merge branch 'jc/diff-populate-filespec-size-only-fix' into maint "git diff --quiet" relies on the size field in diff_filespec to be correctly populated, but diff_populate_filespec() helper function made an incorrect short-cut when asked only to populate the size field for paths that need to go through convert_to_git() (e.g. CRLF conversion). * jc/diff-populate-filespec-size-only-fix: diff: do not short-cut CHECK_SIZE_ONLY check in diff_populate_filespec() 21 March 2017, 22:03:26 UTC
36238fc Merge branch 'jk/http-walker-buffer-underflow-fix' into maint "Dumb http" transport used to misparse a nonsense http-alternates response, which has been fixed. * jk/http-walker-buffer-underflow-fix: http-walker: fix buffer underflow processing remote alternates 21 March 2017, 22:03:25 UTC
1a61be2 Merge branch 'mg/status-porcelain-no-i18n' into maint "git status --porcelain" is supposed to give a stable output, but a few strings were left as translatable by mistake. * mg/status-porcelain-no-i18n: git-status: make porcelain more robust 21 March 2017, 22:03:25 UTC
5c6bc96 Merge branch 'ps/docs-diffcore' into maint Doc update. * ps/docs-diffcore: docs/diffcore: unquote "Complete Rewrites" in headers docs/diffcore: fix grammar in diffcore-rename header 21 March 2017, 22:03:25 UTC
c157ae9 Merge branch 'ew/markdown-url-in-readme' into maint Doc update. * ew/markdown-url-in-readme: README: create HTTP/HTTPS links from URLs in Markdown 21 March 2017, 22:03:24 UTC
f56a439 Merge branch 'rj/remove-unused-mktemp' into maint Code cleanup. * rj/remove-unused-mktemp: wrapper.c: remove unused gitmkstemps() function wrapper.c: remove unused git_mkstemp() function 21 March 2017, 22:03:24 UTC
06c0ed7 Merge branch 'jk/ewah-use-right-type-in-sizeof' into maint Code clean-up. * jk/ewah-use-right-type-in-sizeof: ewah: fix eword_t/uint64_t confusion 21 March 2017, 22:03:24 UTC
1f6b1af Git 2.12.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 March 2017, 20:17:08 UTC
e4e016f push: mention "push.default=tracking" in the documentation Change the documentation for push.tracking=* to re-include a mention of what "tracking" does. The "tracking" option was renamed to "upstream" back in 53c4031 ("push.default: Rename 'tracking' to 'upstream'", 2011-02-16), this section was then subsequently rewritten in 87a70e4 ("config doc: rewrite push.default section", 2013-06-19) to remove any mention of "tracking". Maybe we should just warn or die nowadays if this option is in the config, but I had some old config of mine use this option, I'd forgotten that it was a synonym, and nothing in git's documentation mentioned that. That's bad, either we shouldn't support it at all, or we should document what it does. This patch does the latter. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 March 2017, 17:59:43 UTC
baced9e git-commit.txt: list post-rewrite in HOOKS section The hook was added in a86ed83cce (Merge branch 'tr/notes-display' - 2010-03-24), which updated githooks.txt but not git-commit.txt. git-commit.txt was later updated in e858af6d50 (commit: document a couple of options - 2012-06-08). Since this commit focused on command line options, this section was probably forgotten. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 March 2017, 17:53:29 UTC
2c7ee98 doc: change erroneous --[no]-whatever into --[no-]whatever Change these two obvious typos to be in line with the rest of the documentation, which uses the correct --[no-]whatever form. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 March 2017, 17:04:57 UTC
f53c5de pickaxe: fix segfault with '-S<...> --pickaxe-regex' 'git {log,diff,...} -S<...> --pickaxe-regex' can segfault as a result of out-of-bounds memory reads. diffcore-pickaxe.c:contains() looks for all matches of the given regex in a buffer in a loop, advancing the buffer pointer to the end of the last match in each iteration. When we switched to REG_STARTEND in b7d36ffca (regex: use regexec_buf(), 2016-09-21), we started passing the size of that buffer to the regexp engine, too. Unfortunately, this buffer size is never updated on subsequent iterations, and as the buffer pointer advances on each iteration, this "bufptr+bufsize" points past the end of the buffer. This results in segmentation fault, if that memory can't be accessed. In case of 'git log' it can also result in erroneously listed commits, if the memory past the end of buffer is accessible and happens to contain data matching the regex. Reduce the buffer size on each iteration as the buffer pointer is advanced, thus maintaining the correct end of buffer location. Furthermore, make sure that the buffer pointer is not dereferenced in the control flow statements when we already reached the end of the buffer. The new test is flaky, I've never seen it fail on my Linux box even without the fix, but this is expected according to db5dfa3 (regex: -G<pattern> feeds a non NUL-terminated string to regexec() and fails, 2016-09-21). However, it did fail on Travis CI with the first (and incomplete) version of the fix, and based on that commit message I would expect the new test without the fix to fail most of the time on Windows. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 March 2017, 19:22:33 UTC
7b91929 run-command: fix segfault when cleaning forked async process Callers of the run-command API may mark a child as "clean_on_exit"; it gets added to a list and killed when the main process dies. Since commit 46df6906f (execv_dashed_external: wait for child on signal death, 2017-01-06), we respect an extra "wait_after_clean" flag, which we expect to find in the child_process struct. When Git is built with NO_PTHREADS, we start "struct async" processes by forking rather than spawning a thread. The resulting processes get added to the cleanup list but they don't have a child_process struct, and the cleanup function ends up dereferencing NULL. We should notice this case and assume that the processes do not need to be waited for (i.e., the same behavior they had before 46df6906f). Reported-by: Brandon Williams <bmwill@google.com> Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 March 2017, 17:29:15 UTC
d41626f shortlog: don't set after_subject to an empty string The string after_subject is added to a strbuf by pp_title_line() if it's not NULL. Adding an empty string has the same effect as not adding anything, but the latter is easier, so don't bother changing the context member from NULL to "". Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 March 2017, 17:28:45 UTC
59210dd tests: make the 'test_pause' helper work in non-verbose mode When the 'test_pause' helper function invokes the shell mid-test, it explicitly redirects the shell's stdout and stderr to file descriptors 3 and 4, which are the stdout and stderr of the tests (i.e. where they would be connected anyway without those redirections). These file descriptors are only attached to the terminal in verbose mode, hence the restriction of 'test_pause' to work only with '-v'. Redirect the shell's stdout and stderr to the test environment's original stdout and stderr, allowing it to work properly even in non-verbose mode, and the restriction can be lifted. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 March 2017, 17:18:22 UTC
4ecae3c tests: create an interactive gdb session with the 'debug' helper The 'debug' test helper is supposed to facilitate debugging by running a command of the test suite under gdb. Unfortunately, its usefulness is severely limited, because that gdb session is not interactive, since the test's, and thus gdb's standard input is redirected from /dev/null (for a good reason, see 781f76b15 (test-lib: redirect stdin of tests, 2011-12-15)). Redirect gdb's standard file descriptors from/to the test environment's stdin, stdout and stderr in the 'debug' helper, thus creating an interactive gdb session (even in non-verbose mode), which is much, much more useful. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 March 2017, 17:18:20 UTC
ba6746c revision: remove declaration of path_name() The definition of path_name() was removed by 2824e1841 (list-objects: pass full pathname to callbacks); remove its declaration as well. Signed-off-by: Rene Scharfe <l.s.r@web.de> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 March 2017, 17:15:03 UTC
e94eac4 http-push: don't check return value of lookup_unknown_object() This function always returns a reference to an object, creating one if needed, so remove the unnecessary NULL check. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 March 2017, 17:14:07 UTC
dce96c4 receive-pack: simplify run_update_post_hook() Instead of counting the arguments to see if there are any and then building the full command use a single loop and add the hook command just before the first argument. This reduces duplication and overall code size. Signed-off-by: Rene Scharfe <l.s.r@web.de> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 March 2017, 17:13:09 UTC
d4aae45 wt-status: simplify by using for_each_string_list_item Improve readability by using the for_each_string_list_item helper instead of manually iterating with an integer counter. Signed-off-by: Stefan Beller <sbeller@google.com> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 March 2017, 17:32:45 UTC
7c9c2f8 Preparing for 2.12.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 March 2017, 21:01:20 UTC
2846ef3 Merge branch 'js/realpath-pathdup-fix' into maint Git v2.12 was shipped with an embarrassing breakage where various operations that verify paths given from the user stopped dying when seeing an issue, and instead later triggering segfault. ... and then to down to 'maint'. * js/realpath-pathdup-fix: real_pathdup(): fix callsites that wanted it to die on error t1501: demonstrate NULL pointer access with invalid GIT_WORK_TREE 16 March 2017, 20:57:00 UTC
f989ac2 Merge branch 'mm/two-more-xstrfmt' into maint Code clean-up and a string truncation fix. * mm/two-more-xstrfmt: bisect_next_all: convert xsnprintf to xstrfmt stop_progress_msg: convert xsnprintf to xstrfmt 16 March 2017, 20:56:43 UTC
3d0449d Merge branch 'vn/line-log-memcpy-size-fix' into maint The command-line parsing of "git log -L" copied internal data structures using incorrect size on ILP32 systems. * vn/line-log-memcpy-size-fix: line-log: use COPY_ARRAY to fix mis-sized memcpy 16 March 2017, 20:56:42 UTC
c5bd9e5 Merge branch 'ax/line-log-range-merge-fix' into maint The code to parse "git log -L..." command line was buggy when there are many ranges specified with -L; overrun of the allocated buffer has been fixed. * ax/line-log-range-merge-fix: line-log.c: prevent crash during union of too many ranges 16 March 2017, 20:56:42 UTC
abe62a4 Merge branch 'jk/add-i-patch-do-prompt' into maint The patch subcommand of "git add -i" was meant to have paths selection prompt just like other subcommand, unlike "git add -p" directly jumps to hunk selection. Recently, this was broken and "add -i" lost the paths selection dialog, but it now has been fixed. * jk/add-i-patch-do-prompt: add--interactive: fix missing file prompt for patch mode with "-i" 16 March 2017, 20:56:42 UTC
68e12d7 Merge branch 'jt/http-base-url-update-upon-redirect' into maint When a redirected http transport gets an error during the redirected request, we ignored the error we got from the server, and ended up giving a not-so-useful error message. * jt/http-base-url-update-upon-redirect: http: attempt updating base URL only if no error 16 March 2017, 20:56:42 UTC
back to top