swh:1:snp:47f1e8bb459169b0feb652a9c3d9cbabd8526d4a

sort by:
Revision Author Date Message Commit Date
0bfff81 Git 2.10.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 July 2017, 22:00:04 UTC
d78f06a Merge tag 'v2.9.5' into maint-2.10 Git 2.9.5 30 July 2017, 21:57:33 UTC
4d4165b Git 2.9.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 July 2017, 21:53:25 UTC
af0178a Merge tag 'v2.8.6' into maint-2.9 Git 2.8.6 30 July 2017, 21:52:14 UTC
8d7f72f Git 2.8.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 July 2017, 21:49:08 UTC
7720c33 Merge tag 'v2.7.6' into maint-2.8 Git 2.7.6 30 July 2017, 21:46:43 UTC
5e0649d Git 2.7.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 July 2017, 21:45:13 UTC
a4f234b Merge branch 'jk/ssh-funny-url' into maint-2.7 28 July 2017, 23:11:54 UTC
aeeb2d4 connect: reject paths that look like command line options If we get a repo path like "-repo.git", we may try to invoke "git-upload-pack -repo.git". This is going to fail, since upload-pack will interpret it as a set of bogus options. But let's reject this before we even run the sub-program, since we would not want to allow any mischief with repo names that actually are real command-line options. You can still ask for such a path via git-daemon, but there's no security problem there, because git-daemon enters the repo itself and then passes "." on the command line. Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 July 2017, 22:54:55 UTC
3be4cf0 connect: reject dashed arguments for proxy commands If you have a GIT_PROXY_COMMAND configured, we will run it with the host/port on the command-line. If a URL contains a mischievous host like "--foo", we don't know how the proxy command may handle it. It's likely to break, but it may also do something dangerous and unwanted (technically it could even do something useful, but that seems unlikely). We should err on the side of caution and reject this before we even run the command. The hostname check matches the one we do in a similar circumstance for ssh. The port check is not present for ssh, but there it's not necessary because the syntax is "-p <port>", and there's no ambiguity on the parsing side. It's not clear whether you can actually get a negative port to the proxy here or not. Doing: git fetch git://remote:-1234/repo.git keeps the "-1234" as part of the hostname, with the default port of 9418. But it's a good idea to keep this check close to the point of running the command to make it clear that there's no way to circumvent it (and at worst it serves as a belt-and-suspenders check). Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 July 2017, 22:52:18 UTC
2491f77 connect: factor out "looks like command line option" check We reject hostnames that start with a dash because they may be confused for command-line options. Let's factor out that notion into a helper function, as we'll use it in more places. And while it's simple now, it's not clear if some systems might need more complex logic to handle all cases. Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 July 2017, 22:51:56 UTC
2d90add t5813: add test for hostname starting with dash Per the explanation in the previous patch, this should be (and is) rejected. Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 July 2017, 22:51:29 UTC
820d765 connect: reject ssh hostname that begins with a dash When commands like "git fetch" talk with ssh://$rest_of_URL/, the code splits $rest_of_URL into components like host, port, etc., and then spawns the underlying "ssh" program by formulating argv[] array that has: - the path to ssh command taken from GIT_SSH_COMMAND, etc. - dashed options like '-batch' (for Tortoise), '-p <port>' as needed. - ssh_host, which is supposed to be the hostname parsed out of $rest_of_URL. - then the command to be run on the other side, e.g. git upload-pack. If the ssh_host ends up getting '-<anything>', the argv[] that is used to spawn the command becomes something like: { "ssh", "-p", "22", "-<anything>", "command", "to", "run", NULL } which obviously is bogus, but depending on the actual value of "<anything>", will make "ssh" parse and use it as an option. Prevent this by forbidding ssh_host that begins with a "-". Noticed-by: Joern Schneeweisz of Recurity Labs Reported-by: Brian at GitLab Signed-off-by: Junio C Hamano <gitster@pobox.com> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 July 2017, 22:51:14 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
c3808ca preparing for 2.10.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 December 2016, 19:25:02 UTC
cd1c2e7 Merge branch 'jk/common-main' into maint-2.10 * jk/common-main: common-main: stop munging argv[0] path git-compat-util: move content inside ifdef/endif guards 05 December 2016, 19:24:28 UTC
0a79cca Merge branch 'tk/diffcore-delta-remove-unused' into maint Code cleanup. * tk/diffcore-delta-remove-unused: diffcore-delta: remove unused parameter to diffcore_count_changes() 29 November 2016, 21:28:03 UTC
af8d6a9 Merge branch 'jk/create-branch-remove-unused-param' into maint Code clean-up. * jk/create-branch-remove-unused-param: create_branch: drop unused "head" parameter 29 November 2016, 21:28:02 UTC
797d1a4 Merge branch 'nd/worktree-lock' into maint Typofix. * nd/worktree-lock: git-worktree.txt: fix typo "to"/"two", and add comma 29 November 2016, 21:28:02 UTC
d92466e Merge branch 'ps/common-info-doc' into maint Doc fix. * ps/common-info-doc: doc: fix location of 'info/' with $GIT_COMMON_DIR 29 November 2016, 21:28:01 UTC
e3c4323 Merge branch 'rs/cocci' into maint Improve the rule to convert "unsigned char [20]" into "struct object_id *" in contrib/coccinelle/ * rs/cocci: cocci: avoid self-references in object_id transformations 29 November 2016, 21:28:00 UTC
91207f3 Merge branch 'nd/test-helpers' into maint Update to the test framework made in 2.9 timeframe broke running the tests under valgrind, which has been fixed. * nd/test-helpers: valgrind: support test helpers 29 November 2016, 21:28:00 UTC
6afadbd Merge branch 'sc/fmt-merge-msg-doc-markup-fix' into maint Documentation fix. * sc/fmt-merge-msg-doc-markup-fix: Documentation/fmt-merge-msg: fix markup in example 29 November 2016, 21:28:00 UTC
c8a3ec3 Merge branch 'rs/commit-pptr-simplify' into maint Code simplification. * rs/commit-pptr-simplify: commit: simplify building parents list 29 November 2016, 21:27:59 UTC
50b8276 Merge branch 'jk/rebase-config-insn-fmt-docfix' into maint Documentation fix. * jk/rebase-config-insn-fmt-docfix: doc: fix missing "::" in config list 29 November 2016, 21:27:58 UTC
e9f7431 Merge branch 'ak/pre-receive-hook-template-modefix' into maint A trivial clean-up to a recently graduated topic. * ak/pre-receive-hook-template-modefix: pre-receive.sample: mark it executable 29 November 2016, 21:27:57 UTC
729fb9a Merge branch 'ls/macos-update' into maint Portability update and workaround for builds on recent Mac OS X. * ls/macos-update: travis-ci: disable GIT_TEST_HTTPD for macOS Makefile: set NO_OPENSSL on macOS by default 29 November 2016, 21:27:56 UTC
25e298d Merge branch 'as/merge-attr-sleep' into maint Fix for a racy false-positive test failure. * as/merge-attr-sleep: t6026: clarify the point of "kill $(cat sleep.pid)" t6026: ensure that long-running script really is Revert "t6026-merge-attr: don't fail if sleep exits early" Revert "t6026-merge-attr: ensure that the merge driver was called" t6026-merge-attr: ensure that the merge driver was called t6026-merge-attr: don't fail if sleep exits early 29 November 2016, 21:27:56 UTC
bb6bc68 Merge branch 'ak/sh-setup-dot-source-i18n-fix' into maint Recent update to git-sh-setup (a library of shell functions that are used by our in-tree scripted Porcelain commands) included another shell library git-sh-i18n without specifying where it is, relying on the $PATH. This has been fixed to be more explicit by prefixing $(git --exec-path) output in front. * ak/sh-setup-dot-source-i18n-fix: git-sh-setup: be explicit where to dot-source git-sh-i18n from. 29 November 2016, 21:27:56 UTC
aa22ef8 Merge branch 'jk/daemon-path-ok-check-truncation' into maint "git daemon" used fixed-length buffers to turn URL to the repository the client asked for into the server side directory path, using snprintf() to avoid overflowing these buffers, but allowed possibly truncated paths to the directory. This has been tightened to reject such a request that causes overlong path to be required to serve. * jk/daemon-path-ok-check-truncation: daemon: detect and reject too-long paths 29 November 2016, 21:27:56 UTC
f2ad912 Merge branch 'rs/ring-buffer-wraparound' into maint The code that we have used for the past 10+ years to cycle 4-element ring buffers turns out to be not quite portable in theoretical world. * rs/ring-buffer-wraparound: hex: make wraparound of the index into ring-buffer explicit 29 November 2016, 21:27:55 UTC
a3f2781 Merge branch 'mm/send-email-cc-cruft-after-address' into maint "git send-email" attempts to pick up valid e-mails from the trailers, but people in real world write non-addresses there, like "Cc: Stable <add@re.ss> # 4.8+", which broke the output depending on the availability and vintage of Mail::Address perl module. * mm/send-email-cc-cruft-after-address: Git.pm: add comment pointing to t9000 t9000-addresses: update expected results after fix parse_mailboxes: accept extra text after <...> address 29 November 2016, 21:27:55 UTC
fa308cd Merge branch 'cp/completion-negative-refs' into maint The command-line completion script (in contrib/) learned to complete "git cmd ^mas<HT>" to complete the negative end of reference to "git cmd ^master". * cp/completion-negative-refs: completion: support excluding refs 29 November 2016, 21:27:53 UTC
bab32da Merge branch 'jc/am-read-author-file' into maint Extract a small helper out of the function that reads the authors script file "git am" internally uses. This by itself is not useful until a second caller appears in the future for "rebase -i" helper. * jc/am-read-author-file: am: refactor read_author_script() 29 November 2016, 21:27:53 UTC
6854a8f common-main: stop munging argv[0] path Since 650c44925 (common-main: call git_extract_argv0_path(), 2016-07-01), the argv[0] that is seen in cmd_main() of individual programs is always the basename of the executable, as common-main strips off the full path. This can produce confusing results for git-daemon, which wants to re-exec itself. For instance, if the program was originally run as "/usr/lib/git/git-daemon", it will try just re-execing "git-daemon", which will find the first instance in $PATH. If git's exec-path has not been prepended to $PATH, we may find the git-daemon from a different version (or no git-daemon at all). Normally this isn't a problem. Git commands are run as "git daemon", the git wrapper puts the exec-path at the front of $PATH, and argv[0] is already "daemon" anyway. But running git-daemon via its full exec-path, while not really a recommended method, did work prior to 650c44925. Let's make it work again. The real goal of 650c44925 was not to munge argv[0], but to reliably set the argv0_path global. The only reason it munges at all is that one caller, the git.c wrapper, piggy-backed on that computation to find the command basename. Instead, let's leave argv[0] untouched in common-main, and have git.c do its own basename computation. While we're at it, let's drop the return value from git_extract_argv0_path(). It was only ever used in this one callsite, and its dual purposes is what led to this confusion in the first place. Note that by changing the interface, the compiler can confirm for us that there are no other callers storing the return value. But the compiler can't tell us whether any of the cmd_main() functions (besides git.c) were relying on the basename munging. However, we can observe that prior to 650c44925, no other cmd_main() functions did that munging, and no new cmd_main() functions have been introduced since then. So we can't be regressing any of those cases. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 November 2016, 19:01:48 UTC
974e004 diffcore-delta: remove unused parameter to diffcore_count_changes() The delta_limit parameter to diffcore_count_changes() has been unused since commit ba23bbc8e ("diffcore-delta: make change counter to byte oriented again.", 2006-03-04). Remove the parameter and adjust all callers. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> 14 November 2016, 17:24:04 UTC
2b09082 git-worktree.txt: fix typo "to"/"two", and add comma Signed-off-by: Ben North <ben@redfrontdoor.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 14 November 2016, 01:56:56 UTC
fdf4f6c t6026: clarify the point of "kill $(cat sleep.pid)" We lengthened the time the leftover process sleeps in the previous commit to make sure it will be there while 'git merge' runs and finishes. It therefore needs to be killed before leaving the test. And it needs to be killed even when 'git merge' fails, so it has to be triggered via test_when_finished mechanism. Explain all that in a large comment, and move the use site of test_when_finished to immediately before 'git merge' invocation, where the process is spawned. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 11 November 2016, 20:53:21 UTC
3285b7b doc: fix location of 'info/' with $GIT_COMMON_DIR With the introduction of the $GIT_COMMON_DIR variable, the repository layout manual was changed to reflect the location for many files in case the variable is set. While adding the new locations, one typo snuck in regarding the location of the 'info/' folder, which is falsely claimed to reside at "$GIT_COMMON_DIR/index". Fix the typo to point to "$GIT_COMMON_DIR/info/" instead. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com> 11 November 2016, 17:37:33 UTC
a7d6bcc t6026: ensure that long-running script really is When making sure that background tasks are cleaned up in 5babb5b (t6026-merge-attr: clean up background process at end of test case, 2016-09-07), we considered to let the background task sleep longer, just to be certain that it will still be running when we want to kill it after the test. Sadly, the assumption appears not to hold true that the test case passes quickly enough to kill the background task within a second. Simply increase it to an hour. No system can be possibly slow enough to make above-mentioned assumption incorrect. Reported by Andreas Schwab. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 November 2016, 23:57:06 UTC
b36b716 Revert "t6026-merge-attr: don't fail if sleep exits early" This reverts commit 734fde2d7167e4b20d2ff6062ade3846949b0741. The point of the test is that the stray process was still running when 'git merge' did its thing through its completion, so a failure to "kill" it means we didn't give a condition to the test to trigger a possible future breakage. Appending "|| :" to the "kill" is sweeping a test-bug under the rug. 10 November 2016, 23:55:13 UTC
3b03097 Revert "t6026-merge-attr: ensure that the merge driver was called" This reverts commit c1e0dc59bddce765761a6f863c66ee0cd4b2ca09. We are not interested in the stray process in the merge driver started; we want it to be still around. 10 November 2016, 23:54:12 UTC
c1e0dc5 t6026-merge-attr: ensure that the merge driver was called Explicitly check for the existence of the pid file to test that the merge driver was actually called. Signed-off-by: Andreas Schwab <schwab@suse.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 November 2016, 19:20:56 UTC
a296bc0 travis-ci: disable GIT_TEST_HTTPD for macOS TravisCI changed their default macOS image from 10.10 to 10.11 [1]. Unfortunately the HTTPD tests do not run out of the box using the pre-installed Apache web server anymore. Therefore we enable these tests only for Linux and disable them for macOS. [1] https://blog.travis-ci.com/2016-10-04-osx-73-default-image-live/ Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 November 2016, 19:13:14 UTC
f01fe92 Makefile: set NO_OPENSSL on macOS by default Apple removed the OpenSSL header files in macOS 10.11 and above. OpenSSL was deprecated since macOS 10.7. Set `NO_OPENSSL` and `APPLE_COMMON_CRYPTO` to `YesPlease` as default for macOS. It is possible to override this and use OpenSSL by defining `NO_APPLE_COMMON_CRYPTO`. Original-patch-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 November 2016, 19:10:36 UTC
4bd488e create_branch: drop unused "head" parameter This function used to have the caller pass in the current value of HEAD, in order to make sure we didn't clobber HEAD. In 55c4a6730, that logic moved to validate_new_branchname(), which just resolves HEAD itself. The parameter to create_branch is now unused. Since we have to update and re-wrap the docstring describing the parameters anyway, let's take this opportunity to break it out into a list, which makes it easier to find the parameters. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 09 November 2016, 22:56:21 UTC
734fde2 t6026-merge-attr: don't fail if sleep exits early Commit 5babb5bdb3 ("t6026-merge-attr: clean up background process at end of test case") added a kill command to clean up after the test, but this can fail if the sleep command exits before the cleanup is executed. Ignore the error from the kill command. Signed-off-by: Andreas Schwab <schwab@suse.de> Signed-off-by: Jeff King <peff@peff.net> 08 November 2016, 20:29:24 UTC
c2bb0c1 cocci: avoid self-references in object_id transformations The object_id functions oid_to_hex, oid_to_hex_r, oidclr, oidcmp, and oidcpy are defined as wrappers of their legacy counterparts sha1_to_hex, sha1_to_hex_r, hashclr, hashcmp, and hashcpy, respectively. Make sure that the Coccinelle transformations for converting legacy function calls are not applied to these wrappers themselves, which would result in tautological declarations. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 01 November 2016, 17:58:39 UTC
1073094 git-sh-setup: be explicit where to dot-source git-sh-i18n from. d323c6b641 ("i18n: git-sh-setup.sh: mark strings for translation", 2016-06-17) started to dot-source git-sh-i18n shell script library, assuming that $PATH is already adjusted for our scripts, namely, $GIT_EXEC_PATH is at the beginning of $PATH. Old contrib scripts like contrib/convert-grafts-to-replace-refs.sh and contrib/rerere-train.sh and third-party scripts like guilt may however be using this as ". $(git --exec-path)/git-sh-setup", without satisfying that assumption. Be more explicit by specifying its path prefixed with "$(git --exec-path)/". to be safe. While we’re here, move the sourcing of git-sh-i18n below the shell portability fixes. Signed-off-by: Anders Kaseorg <andersk@mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 October 2016, 23:13:49 UTC
de9f7fa commit: simplify building parents list Push pptr down into the FROM_MERGE branch of the if/else statement, where it's actually used, and call commit_list_append() for appending elements instead of playing tricks with commit_list_insert(). Call copy_commit_list() in the amend branch instead of open-coding it. Don't bother setting pptr in the final branch as it's not used thereafter. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 October 2016, 23:03:25 UTC
6d834ac doc: fix missing "::" in config list The rebase.instructionFormat option is missing its "::" to tell AsciiDoc that it's a list entry. As a result, the option name gets lumped into the description in one big paragraph. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 October 2016, 22:26:37 UTC
5a5749e pre-receive.sample: mark it executable For consistency with other hooks, make the sample hook executable. Signed-off-by: Anders Kaseorg <andersk@mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 October 2016, 21:21:11 UTC
ac84098 Git 2.10.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 October 2016, 16:02:44 UTC
020222e Merge branch 'pb/test-parse-options-expect' into maint Test clean-up. * pb/test-parse-options-expect: t0040: convert all possible tests to use `test-parse-options --expect` 28 October 2016, 16:01:24 UTC
334c2a1 Merge branch 'jc/cocci-xstrdup-or-null' into maint Code cleanup. * jc/cocci-xstrdup-or-null: cocci: refactor common patterns to use xstrdup_or_null() 28 October 2016, 16:01:23 UTC
c8fd220 Merge branch 'rs/cocci' into maint Code cleanup. * rs/cocci: use strbuf_add_unique_abbrev() for adding short hashes, part 3 remove unnecessary NULL check before free(3) coccicheck: make transformation for strbuf_addf(sb, "...") more precise use strbuf_add_unique_abbrev() for adding short hashes, part 2 use strbuf_addstr() instead of strbuf_addf() with "%s", part 2 gitignore: ignore output files of coccicheck make target use strbuf_addstr() for adding constant strings to a strbuf, part 2 add coccicheck make target contrib/coccinelle: fix semantic patch for oid_to_hex_r() 28 October 2016, 16:01:23 UTC
0582a34 Merge branch 'jc/diff-unique-abbrev-comments' into maint A bit more comments in a tricky code. * jc/diff-unique-abbrev-comments: diff_unique_abbrev(): document its assumption and limitation 28 October 2016, 16:01:23 UTC
4efd8e6 Merge branch 'rs/pretty-format-color-doc-fix' into maint Small doc update. * rs/pretty-format-color-doc-fix: pretty: fix document link for color specification 28 October 2016, 16:01:23 UTC
9a82d8f Merge branch 'js/reset-usage' into maint Message fix-up. * js/reset-usage: reset: fix usage 28 October 2016, 16:01:22 UTC
311811b Merge branch 'po/fix-doc-merge-base-illustration' into maint Some AsciiDoc formatter mishandles a displayed illustration with tabs in it. Adjust a few of them in merge-base documentation to work around them. * po/fix-doc-merge-base-illustration: doc: fix the 'revert a faulty merge' ASCII art tab spacing doc: fix merge-base ASCII art tab spacing 28 October 2016, 16:01:21 UTC
b943a21 Merge branch 'jk/tap-verbose-fix' into maint The Travis CI configuration we ship ran the tests with --verbose option but this risks non-TAP output that happens to be "ok" to be misinterpreted as TAP signalling a test that passed. This resulted in unnecessary failure. This has been corrected by introducing a new mode to run our tests in the test harness to send the verbose output separately to the log file. * jk/tap-verbose-fix: test-lib: bail out when "-v" used under "prove" travis: use --verbose-log test option test-lib: add --verbose-log option test-lib: handle TEST_OUTPUT_DIRECTORY with spaces 28 October 2016, 16:01:21 UTC
dce97d6 Merge branch 'tg/add-chmod+x-fix' into maint A hot-fix for a test added by a recent topic that went to both 'master' and 'maint' already. * tg/add-chmod+x-fix: t3700: fix broken test under !SANITY 28 October 2016, 16:01:19 UTC
c838696 Merge branch 'bw/submodule-branch-dot-doc' into maint Recent git allows submodule.<name>.branch to use a special token "." instead of the branch name; the documentation has been updated to describe it. * bw/submodule-branch-dot-doc: submodules doc: update documentation for "." used for submodule branches 28 October 2016, 16:01:19 UTC
63cf124 Merge branch 'jk/tighten-alloc' into maint Protect our code from over-eager compilers. * jk/tighten-alloc: inline xalloc_flex() into FLEXPTR_ALLOC_MEM avoid pointer arithmetic involving NULL in FLEX_ALLOC_MEM 28 October 2016, 16:01:18 UTC
39000e8 Merge branch 'jk/fetch-quick-tag-following' into maint When fetching from a remote that has many tags that are irrelevant to branches we are following, we used to waste way too many cycles when checking if the object pointed at by a tag (that we are not going to fetch!) exists in our repository too carefully. * jk/fetch-quick-tag-following: fetch: use "quick" has_sha1_file for tag following 28 October 2016, 16:01:17 UTC
96ec83c Merge branch 'jk/merge-base-fork-point-without-reflog' into maint "git rebase" immediately after "git clone" failed to find the fork point from the upstream. * jk/merge-base-fork-point-without-reflog: merge-base: handle --fork-point without reflog 28 October 2016, 16:01:17 UTC
a540612 Merge branch 'dk/worktree-dup-checkout-with-bare-is-ok' into maint In a worktree connected to a repository elsewhere, created via "git worktree", "git checkout" attempts to protect users from confusion by refusing to check out a branch that is already checked out in another worktree. However, this also prevented checking out a branch, which is designated as the primary branch of a bare reopsitory, in a worktree that is connected to the bare repository. The check has been corrected to allow it. * dk/worktree-dup-checkout-with-bare-is-ok: worktree: allow the main brach of a bare repository to be checked out 28 October 2016, 16:01:16 UTC
a42539f Merge branch 'sb/submodule-config-doc-drop-path' into maint The "submodule.<name>.path" stored in .gitmodules is never copied to .git/config and such a key in .git/config has no meaning, but the documentation described it and submodule.<name>.url next to each other as if both belong to .git/config. This has been fixed. * sb/submodule-config-doc-drop-path: documentation: improve submodule.<name>.{url, path} description 28 October 2016, 16:01:16 UTC
42a9c6c Merge branch 'jk/ref-symlink-loop' into maint A stray symbolic link in $GIT_DIR/refs/ directory could make name resolution loop forever, which has been corrected. * jk/ref-symlink-loop: files_read_raw_ref: prevent infinite retry loops in general files_read_raw_ref: avoid infinite loop on broken symlinks 28 October 2016, 16:01:15 UTC
e2f1d2c Merge branch 'nd/commit-p-doc' into maint Documentation for "git commit" was updated to clarify that "commit -p <paths>" adds to the current contents of the index to come up with what to commit. * nd/commit-p-doc: git-commit.txt: clarify --patch mode with pathspec 28 October 2016, 16:01:15 UTC
839b993 Merge branch 'jk/clone-copy-alternates-fix' into maint "git clone" of a local repository can be done at the filesystem level, but the codepath did not check errors while copying and adjusting the file that lists alternate object stores. * jk/clone-copy-alternates-fix: clone: detect errors in normalize_path_copy 28 October 2016, 16:01:14 UTC
50a6f65 Merge branch 'dt/http-empty-auth' into maint http.emptyauth configuration is a way to allow an empty username to pass when attempting to authenticate using mechanisms like Kerberos. We took an unspecified (NULL) username and sent ":" (i.e. no username, no password) to CURLOPT_USERPWD, but did not do the same when the username is explicitly set to an empty string. * dt/http-empty-auth: http: http.emptyauth should allow empty (not just NULL) usernames 28 October 2016, 16:01:14 UTC
c00837c Merge branch 'dp/autoconf-curl-ssl' into maint The ./configure script generated from configure.ac was taught how to detect support of SSL by libcurl better. * dp/autoconf-curl-ssl: ./configure.ac: detect SSL in libcurl using curl-config 28 October 2016, 16:01:13 UTC
f98180a Merge branch 'ak/curl-imap-send-explicit-scheme' into maint When we started cURL to talk to imap server when a new enough version of cURL library is available, we forgot to explicitly add imap(s):// before the destination. To some folks, that didn't work and the library tried to make HTTP(s) requests instead. * ak/curl-imap-send-explicit-scheme: imap-send: Tell cURL to use imap:// or imaps:// 28 October 2016, 16:01:13 UTC
9338904 Merge branch 'jt/fetch-pack-in-vain-count-with-stateless' into maint When "git fetch" tries to find where the history of the repository it runs in has diverged from what the other side has, it has a mechanism to avoid digging too deep into irrelevant side branches. This however did not work well over the "smart-http" transport due to a design bug, which has been fixed. * jt/fetch-pack-in-vain-count-with-stateless: fetch-pack: do not reset in_vain on non-novel acks 28 October 2016, 16:01:12 UTC
68eb7b1 Merge branch 'js/regexec-buf' into maint A follow-up to an already graduated topic. * js/regexec-buf: configure.ac: improve description of NO_REGEX test 28 October 2016, 16:01:12 UTC
76796d4 Merge branch 'rs/c-auto-resets-attributes' into maint When "%C(auto)" appears at the very beginning of the pretty format string, it did not need to issue the reset sequence, but it did. This is a small optimization to already graduated topic. * rs/c-auto-resets-attributes: pretty: avoid adding reset for %C(auto) if output is empty pretty: let %C(auto) reset all attributes 28 October 2016, 16:01:11 UTC
03969df Merge branch 'yk/git-tag-remove-mention-of-old-layout-in-doc' into maint Shorten description of auto-following in "git tag" by removing a mention of historical remotes layout which is not relevant to the main topic. * yk/git-tag-remove-mention-of-old-layout-in-doc: doc: remove reference to the traditional layout in git-tag.txt 28 October 2016, 16:01:10 UTC
4259d69 Documentation/fmt-merge-msg: fix markup in example Use at least 4 delimiting dashes that are required for ListingBlock to get this block rendered as verbatim text. Signed-off-by: Stefan Christ <contact@stefanchrist.eu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 October 2016, 12:51:51 UTC
28fab7b valgrind: support test helpers Tests run with --valgrind call git commands through a wrapper script that invokes valgrind on them. This script (valgrind.sh) is in turn invoked through symlinks created for each command in t/valgrind/bin/. Since e6e7530d (test helpers: move test-* to t/helper/ subdirectory) these symlinks have been broken for test helpers -- they point to the old locations in the root of the build directory. Fix that by teaching the code for creating the links about the new location of the binaries, and do the same in the wrapper script to allow it to find its payload. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 October 2016, 06:33:53 UTC
5c238e2 git-compat-util: move content inside ifdef/endif guards Commit 3f2e2297b9 (add an extra level of indirection to main(), 2016-07-01) added a declaration to git-compat-util.h, but it was accidentally placed after the final #endif that guards against multiple inclusions. This doesn't have any actual impact on the code, since it's not incorrect to repeat a function declaration in C. But it's a bad habit, and makes it more likely for somebody else to make the same mistake. It also defeats gcc's optimization to avoid opening header files whose contents are completely guarded. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 October 2016, 17:36:45 UTC
bb84735 hex: make wraparound of the index into ring-buffer explicit Overflow is defined for unsigned integers, but not for signed ones. We could make the ring-buffer index in sha1_to_hex() and get_pathname() unsigned to be on the safe side to resolve this, but let's make it explicit that we are wrapping around at whatever the number of elements the ring-buffer has. The compiler is smart enough to turn modulus into bitmask for these codepaths that use ring-buffers of a size that is a power of 2. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 October 2016, 17:54:11 UTC
6750f62 doc: fix the 'revert a faulty merge' ASCII art tab spacing The asciidoctor doc-tool stack does not always respect the 'tab = 8 spaces' rule expectation, particularly for the Git-for-Windows generated html pages. This follows on from the 'doc: fix merge-base ASCII art tab spacing' fix. Use just spaces within the block of the ascii art. All other *.txt ascii art containing three dashes has been checked. Asciidoctor correctly formats the other art blocks that do contain tabs. Signed-off-by: Philip Oakley <philipoakley@iee.org Signed-off-by: Junio C Hamano <gitster@pobox.com> 25 October 2016, 01:09:46 UTC
6bdb008 daemon: detect and reject too-long paths When we are checking the path via path_ok(), we use some fixed PATH_MAX buffers. We write into them via snprintf(), so there's no possibility of overflow, but it does mean we may silently truncate the path, leading to potentially confusing errors when the partial path does not exist. We're better off to reject the path explicitly. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 October 2016, 16:59:29 UTC
614fe01 test-lib: bail out when "-v" used under "prove" When there is a TAP harness consuming the output of our test scripts, the "--verbose" breaks the output by mingling test command output with TAP. Because the TAP::Harness module used by "prove" is fairly lenient, this _usually_ works, but it violates the spec, and things get very confusing if the commands happen to output a line that looks like TAP (e.g., the word "ok" on its own line). Let's detect this situation and complain. Just calling error() isn't great, though; prove will tell us that the script failed, but the message doesn't make it through to the user. Instead, we can use the special TAP signal "Bail out!". This not only shows the message to the user, but instructs the harness to stop running the tests entirely. This is exactly what we want here, as the problem is in the command-line options, and every test script would produce the same error. The result looks like this (the first "Bailout called" line is in red if prove uses color on your terminal): $ make GIT_TEST_OPTS='--verbose --tee' rm -f -r 'test-results' *** prove *** Bailout called. Further testing stopped: verbose mode forbidden under TAP harness; try --verbose-log FAILED--Further testing stopped: verbose mode forbidden under TAP harness; try --verbose-log Makefile:39: recipe for target 'prove' failed make: *** [prove] Error 255 Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 October 2016, 16:26:00 UTC
041c72d travis: use --verbose-log test option Because we run the tests via "prove", the output from "--verbose" may interfere with our TAP output. Using "--verbose-log" solves this while letting us retain our on-disk log. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 October 2016, 16:59:31 UTC
back to top