3b82744 | Junio C Hamano | 30 July 2017, 22:02:37 UTC | Git 2.11.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 July 2017, 22:02:37 UTC |
05bb78a | Junio C Hamano | 30 July 2017, 22:01:31 UTC | Merge tag 'v2.10.4' into maint-2.11 Git 2.10.4 | 30 July 2017, 22:01:31 UTC |
0bfff81 | Junio C Hamano | 30 July 2017, 22:00:04 UTC | Git 2.10.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 July 2017, 22:00:04 UTC |
d78f06a | Junio C Hamano | 30 July 2017, 21:57:33 UTC | Merge tag 'v2.9.5' into maint-2.10 Git 2.9.5 | 30 July 2017, 21:57:33 UTC |
4d4165b | Junio C Hamano | 30 July 2017, 21:53:25 UTC | Git 2.9.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 July 2017, 21:53:25 UTC |
af0178a | Junio C Hamano | 30 July 2017, 21:52:14 UTC | Merge tag 'v2.8.6' into maint-2.9 Git 2.8.6 | 30 July 2017, 21:52:14 UTC |
8d7f72f | Junio C Hamano | 30 July 2017, 21:49:08 UTC | Git 2.8.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 July 2017, 21:49:08 UTC |
7720c33 | Junio C Hamano | 30 July 2017, 21:46:43 UTC | Merge tag 'v2.7.6' into maint-2.8 Git 2.7.6 | 30 July 2017, 21:46:43 UTC |
5e0649d | Junio C Hamano | 30 July 2017, 21:45:13 UTC | Git 2.7.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 July 2017, 21:45:13 UTC |
a4f234b | Junio C Hamano | 28 July 2017, 23:11:54 UTC | Merge branch 'jk/ssh-funny-url' into maint-2.7 | 28 July 2017, 23:11:54 UTC |
aeeb2d4 | Jeff King | 28 July 2017, 19:28:55 UTC | 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 | Jeff King | 28 July 2017, 19:26:50 UTC | 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 | Jeff King | 28 July 2017, 19:25:45 UTC | 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 | Jeff King | 28 July 2017, 19:23:32 UTC | 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 | Junio C Hamano | 26 July 2017, 17:24:20 UTC | 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 |
773e3a2 | Junio C Hamano | 05 May 2017, 04:29:43 UTC | Git 2.11.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 May 2017, 04:29:43 UTC |
a849d36 | Junio C Hamano | 05 May 2017, 04:26:31 UTC | Merge branch 'maint-2.10' into maint-2.11 | 05 May 2017, 04:26:31 UTC |
840ed14 | Junio C Hamano | 05 May 2017, 04:24:10 UTC | Git 2.10.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 May 2017, 04:24:10 UTC |
fc92b08 | Junio C Hamano | 05 May 2017, 04:21:52 UTC | Merge branch 'maint-2.9' into maint-2.10 | 05 May 2017, 04:21:52 UTC |
d61226c | Junio C Hamano | 05 May 2017, 04:18:23 UTC | Git 2.9.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 May 2017, 04:19:10 UTC |
c93ab42 | Junio C Hamano | 05 May 2017, 04:13:48 UTC | Merge branch 'maint-2.8' into maint-2.9 | 05 May 2017, 04:13:48 UTC |
cd08873 | Junio C Hamano | 05 May 2017, 04:08:54 UTC | Git 2.8.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 May 2017, 04:08:54 UTC |
a8d93d1 | Junio C Hamano | 05 May 2017, 04:05:03 UTC | Merge branch 'maint-2.7' into maint-2.8 | 05 May 2017, 04:05:03 UTC |
c8dd1e3 | Junio C Hamano | 05 May 2017, 04:03:40 UTC | Git 2.7.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 May 2017, 04:03:40 UTC |
dc58c85 | Junio C Hamano | 05 May 2017, 03:59:16 UTC | Merge branch 'maint-2.6' into maint-2.7 | 05 May 2017, 03:59:16 UTC |
70fcaef | Junio C Hamano | 05 May 2017, 03:56:19 UTC | Git 2.6.7 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 May 2017, 03:56:19 UTC |
ab37a18 | Junio C Hamano | 05 May 2017, 03:52:26 UTC | Merge branch 'maint-2.5' into maint-2.6 | 05 May 2017, 03:52:26 UTC |
ac33201 | Junio C Hamano | 05 May 2017, 03:49:00 UTC | Git 2.5.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 May 2017, 03:50:38 UTC |
531788a | Junio C Hamano | 05 May 2017, 03:46:53 UTC | Merge branch 'maint-2.4' into maint-2.5 | 05 May 2017, 03:46:53 UTC |
4000b40 | Junio C Hamano | 05 May 2017, 03:25:09 UTC | Git 2.4.12 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 May 2017, 03:43:16 UTC |
5a4ffdf | Junio C Hamano | 05 May 2017, 03:17:55 UTC | 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 | Jeff King | 29 April 2017, 12:36:44 UTC | 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 |
3b9e3c2 | Junio C Hamano | 02 February 2017, 21:21:27 UTC | Git 2.11.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 February 2017, 21:21:27 UTC |
45f28ed | Junio C Hamano | 02 February 2017, 21:20:30 UTC | Merge branch 'ws/request-pull-code-cleanup' into maint Code clean-up. * ws/request-pull-code-cleanup: request-pull: drop old USAGE stuff | 02 February 2017, 21:20:30 UTC |
5816d3c | Junio C Hamano | 02 February 2017, 21:20:29 UTC | Merge branch 'jk/execv-dashed-external' into maint Typing ^C to pager, which usually does not kill it, killed Git and took the pager down as a collateral damage in certain process-tree structure. This has been fixed. * jk/execv-dashed-external: execv_dashed_external: wait for child on signal death execv_dashed_external: stop exiting with negative code execv_dashed_external: use child_process struct | 02 February 2017, 21:20:29 UTC |
b32fe95 | Junio C Hamano | 31 January 2017, 21:34:48 UTC | Ready for 2.11.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 January 2017, 21:34:48 UTC |
1ac2ec6 | Junio C Hamano | 31 January 2017, 21:32:11 UTC | Merge branch 'sb/in-core-index-doc' into maint Documentation and in-code comments updates. * sb/in-core-index-doc: documentation: retire unfinished documentation cache.h: document add_[file_]to_index cache.h: document remove_index_entry_at cache.h: document index_name_pos | 31 January 2017, 21:32:11 UTC |
6a7e25d | Junio C Hamano | 31 January 2017, 21:32:11 UTC | Merge branch 'js/mingw-isatty' into maint An update to a topic that is already in 'master'. * js/mingw-isatty: mingw: follow-up to "replace isatty() hack" | 31 January 2017, 21:32:11 UTC |
63f1bb8 | Junio C Hamano | 31 January 2017, 21:32:11 UTC | Merge branch 'jk/coding-guidelines-update' into maint Developer doc update. * jk/coding-guidelines-update: CodingGuidelines: clarify multi-line brace style | 31 January 2017, 21:32:11 UTC |
21a9002 | Junio C Hamano | 31 January 2017, 21:32:10 UTC | Merge branch 'js/exec-path-coverity-workaround' into maint Code cleanup. * js/exec-path-coverity-workaround: git_exec_path: do not return the result of getenv() git_exec_path: avoid Coverity warning about unfree()d result | 31 January 2017, 21:32:10 UTC |
2ae2362 | Junio C Hamano | 31 January 2017, 21:32:10 UTC | Merge branch 'ad/bisect-terms' into maint Documentation fix. * ad/bisect-terms: Documentation/bisect: improve on (bad|new) and (good|bad) | 31 January 2017, 21:32:10 UTC |
14beee0 | Junio C Hamano | 31 January 2017, 21:32:09 UTC | Merge branch 'jk/grep-e-could-be-extended-beyond-posix' into maint Tighten a test to avoid mistaking an extended ERE regexp engine as a PRE regexp engine. * jk/grep-e-could-be-extended-beyond-posix: t7810: avoid assumption about invalid regex syntax | 31 January 2017, 21:32:09 UTC |
f5f55a1 | Junio C Hamano | 31 January 2017, 21:32:08 UTC | Merge branch 'km/branch-get-push-while-detached' into maint "git <cmd> @{push}" on a detached HEAD used to segfault; it has been corrected to error out with a message. * km/branch-get-push-while-detached: branch_get_push: do not segfault when HEAD is detached | 31 January 2017, 21:32:08 UTC |
2b3f61d | Junio C Hamano | 31 January 2017, 21:32:07 UTC | Merge branch 'jk/rebase-i-squash-count-fix' into maint "git rebase -i" with a recent update started showing an incorrect count when squashing more than 10 commits. * jk/rebase-i-squash-count-fix: rebase--interactive: count squash commits above 10 correctly | 31 January 2017, 21:32:07 UTC |
5fbb42a | Junio C Hamano | 31 January 2017, 21:32:07 UTC | Merge branch 'jk/blame-fixes' into maint "git blame --porcelain" misidentified the "previous" <commit, path> pair (aka "source") when contents came from two or more files. * jk/blame-fixes: blame: output porcelain "previous" header for each file blame: handle --no-abbrev blame: fix alignment with --abbrev=40 | 31 January 2017, 21:32:07 UTC |
b1e4e17 | Junio C Hamano | 31 January 2017, 21:32:07 UTC | Merge branch 'jk/archive-zip-userdiff-config' into maint "git archive" did not read the standard configuration files, and failed to notice a file that is marked as binary via the userdiff driver configuration. * jk/archive-zip-userdiff-config: archive-zip: load userdiff config | 31 January 2017, 21:32:07 UTC |
8103717 | Junio C Hamano | 31 January 2017, 21:32:06 UTC | Merge branch 'dt/disable-bitmap-in-auto-gc' into maint It is natural that "git gc --auto" may not attempt to pack everything into a single pack, and there is no point in warning when the user has configured the system to use the pack bitmap, leading to disabling further "gc". * dt/disable-bitmap-in-auto-gc: repack: die on incremental + write-bitmap-index auto gc: don't write bitmaps for incremental repacks | 31 January 2017, 21:32:06 UTC |
bb7c47a | Junio C Hamano | 31 January 2017, 21:32:06 UTC | Merge branch 'nd/config-misc-fixes' into maint Leakage of lockfiles in the config subsystem has been fixed. * nd/config-misc-fixes: config.c: handle lock file in error case in git_config_rename_... config.c: rename label unlock_and_out config.c: handle error case for fstat() calls | 31 January 2017, 21:32:06 UTC |
46ab222 | Junio C Hamano | 31 January 2017, 21:32:06 UTC | Merge branch 'jc/abbrev-autoscale-config' into maint Recent update to the default abbreviation length that auto-scales lacked documentation update, which has been corrected. * jc/abbrev-autoscale-config: config.abbrev: document the new default that auto-scales | 31 January 2017, 21:32:06 UTC |
867ce04 | Junio C Hamano | 31 January 2017, 21:32:05 UTC | Merge branch 'mh/fast-import-notes-fix-new' into maint "git fast-import" sometimes mishandled while rebalancing notes tree, which has been fixed. * mh/fast-import-notes-fix-new: fast-import: properly fanout notes when tree is imported | 31 January 2017, 21:32:05 UTC |
bdc370a | Junio C Hamano | 31 January 2017, 21:32:05 UTC | Merge branch 'jc/compression-config' into maint Compression setting for producing packfiles were spread across three codepaths, one of which did not honor any configuration. Unify these so that all of them honor core.compression and pack.compression variables the same way. * jc/compression-config: compression: unify pack.compression configuration parsing | 31 January 2017, 21:32:05 UTC |
844f7e6 | Junio C Hamano | 31 January 2017, 21:32:05 UTC | Merge branch 'ew/svn-fixes' into maint Meant eventually for 'maint'. * ew/svn-fixes: git-svn: document useLogAuthor and addAuthorFrom config keys git-svn: allow "0" in SVN path components | 31 January 2017, 21:32:05 UTC |
af1a71f | Junio C Hamano | 31 January 2017, 21:32:04 UTC | Merge branch 'ls/travis-p4-on-macos' into maint Update the definition of the MacOSX test environment used by TravisCI. * ls/travis-p4-on-macos: travis-ci: fix Perforce install on macOS | 31 January 2017, 21:32:04 UTC |
fccb413 | Junio C Hamano | 31 January 2017, 21:32:04 UTC | Merge branch 'jk/make-tags-find-sources-tweak' into maint Update the procedure to generate "tags" for developer support. * jk/make-tags-find-sources-tweak: Makefile: exclude contrib from FIND_SOURCE_FILES Makefile: match shell scripts in FIND_SOURCE_FILES Makefile: exclude test cruft from FIND_SOURCE_FILES Makefile: reformat FIND_SOURCE_FILES | 31 January 2017, 21:32:04 UTC |
424b07a | Junio C Hamano | 31 January 2017, 21:32:04 UTC | Merge branch 'jc/latin-1' into maint Some platforms no longer understand "latin-1" that is still seen in the wild in e-mail headers; replace them with "iso-8859-1" that is more widely known when conversion fails from/to it. * jc/latin-1: utf8: accept "latin-1" as ISO-8859-1 utf8: refactor code to decide fallback encoding | 31 January 2017, 21:32:04 UTC |
672f51c | Lars Schneider | 22 January 2017, 22:55:50 UTC | travis-ci: fix Perforce install on macOS The `perforce` and `perforce-server` package were moved from brew [1][2] to cask [3]. Teach TravisCI the new location. Perforce updates their binaries without version bumps. That made the brew install (legitimately!) fail due to checksum mismatches. The workaround is not necessary anymore as Cask [4] allows to disable the checksum test for individual formulas. [1] https://github.com/Homebrew/homebrew-binary/commit/1394e42de04d07445f82f9512627e864ff4ca4c6 [2] https://github.com/Homebrew/homebrew-binary/commit/f8da22d6b8dbcfcfdb2dfa9ac1a5e5d8e05aac2b [3] https://github.com/caskroom/homebrew-cask/pull/29180 [4] https://caskroom.github.io/ Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 January 2017, 18:55:00 UTC |
830c912 | Stefan Beller | 19 January 2017, 03:18:54 UTC | documentation: retire unfinished documentation When looking for documentation for a specific function, you may be tempted to run git -C Documentation grep index_name_pos only to find the file technical/api-in-core-index.txt, which doesn't help for understanding the given function. It would be better to not find these functions in the documentation, such that people directly dive into the code instead. In the previous patches we have documented * index_name_pos() * remove_index_entry_at() * add_[file_]to_index() in cache.h We already have documentation for: * add_index_entry() * read_index() Which leaves us with a TODO for: * cache -> the_index macros * refresh_index() * discard_index() * ie_match_stat() and ie_modified(); how they are different and when to use which. * write_index() that was renamed to write_locked_index * cache_tree_invalidate_path() * cache_tree_update() Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 January 2017, 20:18:43 UTC |
20cf41d | Stefan Beller | 19 January 2017, 03:18:53 UTC | cache.h: document add_[file_]to_index Helped-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 January 2017, 20:18:06 UTC |
3bd72ad | Stefan Beller | 19 January 2017, 03:18:52 UTC | cache.h: document remove_index_entry_at Do this by moving the existing documentation from read-cache.c to cache.h. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 January 2017, 20:17:57 UTC |
12733e9 | Stefan Beller | 19 January 2017, 03:18:51 UTC | cache.h: document index_name_pos Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 January 2017, 20:13:46 UTC |
1d3f065 | Johannes Schindelin | 18 January 2017, 12:14:35 UTC | mingw: follow-up to "replace isatty() hack" The version of the "replace isatty() hack" that got merged a few weeks ago did not actually reflect the latest iteration of the patch series: v3 was sent out with these changes, as requested by the reviewer Johannes Sixt: - reworded the comment about "recycling handles" - moved the reassignment of the `console` variable before the dup2() call so that it is valid at all times - removed the "handle = INVALID_HANDLE_VALUE" assignment, as the local variable `handle` is not used afterwards anyway Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Reviewed-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 January 2017, 21:31:25 UTC |
ad36dc8 | Junio C Hamano | 17 January 2017, 22:48:44 UTC | Almost ready for 2.11.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 January 2017, 23:19:11 UTC |
647a1bc | Junio C Hamano | 17 January 2017, 23:19:11 UTC | Merge branch 'mm/gc-safety-doc' into maint Doc update. * mm/gc-safety-doc: git-gc.txt: expand discussion of races with other processes | 17 January 2017, 23:19:11 UTC |
f976c89 | Junio C Hamano | 17 January 2017, 23:19:10 UTC | Merge branch 'mm/push-social-engineering-attack-doc' into maint Doc update on fetching and pushing. * mm/push-social-engineering-attack-doc: doc: mention transfer data leaks in more places | 17 January 2017, 23:19:10 UTC |
8ee6fc9 | Junio C Hamano | 17 January 2017, 23:19:09 UTC | Merge branch 'jt/fetch-no-redundant-tag-fetch-map' into maint Code cleanup to avoid using redundant refspecs while fetching with the --tags option. * jt/fetch-no-redundant-tag-fetch-map: fetch: do not redundantly calculate tag refmap | 17 January 2017, 23:19:09 UTC |
d4a682d | Junio C Hamano | 17 January 2017, 23:19:08 UTC | Merge branch 'ls/filter-process' into maint Doc update. * ls/filter-process: t0021: fix flaky test docs: warn about possible '=' in clean/smudge filter process values | 17 January 2017, 23:19:08 UTC |
ef6e815 | Junio C Hamano | 17 January 2017, 23:19:08 UTC | Merge branch 'kh/tutorial-grammofix' into maint * kh/tutorial-grammofix: doc: omit needless "for" doc: make the intent of sentence clearer doc: add verb in front of command to run doc: add articles (grammar) | 17 January 2017, 23:19:08 UTC |
34d5a66 | Junio C Hamano | 17 January 2017, 23:19:07 UTC | Merge branch 'lr/doc-fix-cet' into maint * lr/doc-fix-cet: date-formats.txt: Typo fix | 17 January 2017, 23:19:08 UTC |
1fb4a11 | Junio C Hamano | 17 January 2017, 23:19:06 UTC | Merge branch 'sb/t3600-cleanup' into maint Code cleanup. * sb/t3600-cleanup: t3600: slightly modernize style t3600: remove useless redirect | 17 January 2017, 23:19:07 UTC |
bc7547f | Junio C Hamano | 17 January 2017, 23:19:05 UTC | Merge branch 'jk/readme-gmane-is-no-more' into maint * jk/readme-gmane-is-no-more: README: replace gmane link with public-inbox | 17 January 2017, 23:19:05 UTC |
1addc19 | Junio C Hamano | 17 January 2017, 23:19:05 UTC | Merge branch 'sb/unpack-trees-grammofix' into maint * sb/unpack-trees-grammofix: unpack-trees: fix grammar for untracked files in directories | 17 January 2017, 23:19:05 UTC |
1323616 | Junio C Hamano | 17 January 2017, 23:19:04 UTC | Merge branch 'ls/t0021-fixup' into maint * ls/t0021-fixup: t0021: minor filter process test cleanup | 17 January 2017, 23:19:04 UTC |
d0366b1 | Junio C Hamano | 17 January 2017, 23:19:04 UTC | Merge branch 'ak/lazy-prereq-mktemp' into maint Test code clean-up. * ak/lazy-prereq-mktemp: t7610: clean up foo.XXXXXX tmpdir | 17 January 2017, 23:19:04 UTC |
1df2046 | Junio C Hamano | 17 January 2017, 23:19:03 UTC | Merge branch 'nd/qsort-in-merge-recursive' into maint Code simplification. * nd/qsort-in-merge-recursive: merge-recursive.c: use string_list_sort instead of qsort | 17 January 2017, 23:19:03 UTC |
48d23c1 | Junio C Hamano | 17 January 2017, 23:19:03 UTC | Merge branch 'dt/smart-http-detect-server-going-away' into maint When the http server gives an incomplete response to a smart-http rpc call, it could lead to client waiting for a full response that will never come. Teach the client side to notice this condition and abort the transfer. An improvement counterproposal has failed. cf. <20161114194049.mktpsvgdhex2f4zv@sigill.intra.peff.net> * dt/smart-http-detect-server-going-away: upload-pack: optionally allow fetching any sha1 remote-curl: don't hang when a server dies before any output | 17 January 2017, 23:19:03 UTC |
8554ee1 | Junio C Hamano | 17 January 2017, 23:19:03 UTC | Merge branch 'mk/mingw-winansi-ttyname-termination-fix' into maint A potential but unlikely buffer overflow in Windows port has been fixed. * mk/mingw-winansi-ttyname-termination-fix: mingw: consider that UNICODE_STRING::Length counts bytes | 17 January 2017, 23:19:03 UTC |
1d5cb45 | Junio C Hamano | 17 January 2017, 23:19:02 UTC | Merge branch 'gv/p4-multi-path-commit-fix' into maint "git p4" that tracks multile p4 paths imported a single changelist that touches files in these multiple paths as one commit, followed by many empty commits. This has been fixed. * gv/p4-multi-path-commit-fix: git-p4: fix multi-path changelist empty commits | 17 January 2017, 23:19:02 UTC |
a558332 | Junio C Hamano | 17 January 2017, 23:11:08 UTC | Merge branch 'jk/difftool-in-subdir' into maint Even though an fix was attempted in Git 2.9.3 days, but running "git difftool --dir-diff" from a subdirectory never worked. This has been fixed. * jk/difftool-in-subdir: difftool: rename variables for consistency difftool: chdir as early as possible difftool: sanitize $workdir as early as possible difftool: fix dir-diff index creation when in a subdirectory | 17 January 2017, 23:14:40 UTC |
aa83f7a | Junio C Hamano | 17 January 2017, 23:11:07 UTC | Merge branch 'ld/p4-compare-dir-vs-symlink' into maint "git p4" misbehaved when swapping a directory and a symbolic link. * ld/p4-compare-dir-vs-symlink: git-p4: avoid crash adding symlinked directory | 17 January 2017, 23:11:08 UTC |
af04b11 | Junio C Hamano | 17 January 2017, 23:11:07 UTC | Merge branch 'jc/push-default-explicit' into maint A lazy "git push" without refspec did not internally use a fully specified refspec to perform 'current', 'simple', or 'upstream' push, causing unnecessary "ambiguous ref" errors. * jc/push-default-explicit: push: test pushing ambiguously named branches push: do not use potentially ambiguous default refspec | 17 January 2017, 23:11:07 UTC |
943c9a7 | Junio C Hamano | 17 January 2017, 23:11:06 UTC | Merge branch 'jt/mailinfo-fold-in-body-headers' into maint Fix for NDEBUG builds. * jt/mailinfo-fold-in-body-headers: mailinfo.c: move side-effects outside of assert | 17 January 2017, 23:11:06 UTC |
b984bc5 | Junio C Hamano | 17 January 2017, 23:11:06 UTC | Merge branch 'jk/index-pack-wo-repo-from-stdin' into maint "git index-pack --stdin" needs an access to an existing repository, but "git index-pack file.pack" to generate an .idx file that corresponds to a packfile does not. * jk/index-pack-wo-repo-from-stdin: index-pack: skip collision check when not in repository t: use nongit() function where applicable index-pack: complain when --stdin is used outside of a repo t5000: extract nongit function to test-lib-functions.sh | 17 January 2017, 23:11:06 UTC |
5bc5edb | Junio C Hamano | 17 January 2017, 23:11:06 UTC | Merge branch 'jk/parseopt-usage-msg-opt' into maint The function usage_msg_opt() has been updated to say "fatal:" before the custom message programs give, when they want to die with a message about wrong command line options followed by the standard usage string. * jk/parseopt-usage-msg-opt: parse-options: print "fatal:" before usage_msg_opt() | 17 January 2017, 23:11:06 UTC |
bcaf277 | Junio C Hamano | 17 January 2017, 23:11:06 UTC | Merge branch 'jk/quote-env-path-list-component' into maint A recent update to receive-pack to make it easier to drop garbage objects made it clear that GIT_ALTERNATE_OBJECT_DIRECTORIES cannot have a pathname with a colon in it (no surprise!), and this in turn made it impossible to push into a repository at such a path. This has been fixed by introducing a quoting mechanism used when appending such a path to the colon-separated list. * jk/quote-env-path-list-component: t5615-alternate-env: double-quotes in file names do not work on Windows t5547-push-quarantine: run the path separator test on Windows, too tmp-objdir: quote paths we add to alternates alternates: accept double-quoted paths | 17 January 2017, 23:11:06 UTC |
fdfec7a | Junio C Hamano | 17 January 2017, 23:11:05 UTC | Merge branch 'nd/shallow-fixup' into maint Code cleanup in shallow boundary computation. * nd/shallow-fixup: shallow.c: remove useless code shallow.c: bit manipulation tweaks shallow.c: avoid theoretical pointer wrap-around shallow.c: make paint_alloc slightly more robust shallow.c: stop abusing COMMIT_SLAB_SIZE for paint_info's memory pools shallow.c: rename fields in paint_info to better express their purposes | 17 January 2017, 23:11:05 UTC |
7902b72 | Junio C Hamano | 17 January 2017, 23:11:05 UTC | Merge branch 'sb/sequencer-abort-safety' into maint Unlike "git am --abort", "git cherry-pick --abort" moved HEAD back to where cherry-pick started while picking multiple changes, when the cherry-pick stopped to ask for help from the user, and the user did "git reset --hard" to a different commit in order to re-attempt the operation. * sb/sequencer-abort-safety: Revert "sequencer: remove useless get_dir() function" sequencer: remove useless get_dir() function sequencer: make sequencer abort safer t3510: test that cherry-pick --abort does not unsafely change HEAD am: change safe_to_abort()'s not rewinding error into a warning am: fix filename in safe_to_abort() error message | 17 January 2017, 23:11:05 UTC |
6d1f93a | Junio C Hamano | 17 January 2017, 23:11:05 UTC | Merge branch 'da/mergetool-xxdiff-hotkey' into maint The way to specify hotkeys to "xxdiff" that is used by "git mergetool" has been modernized to match recent versions of xxdiff. * da/mergetool-xxdiff-hotkey: mergetools: fix xxdiff hotkeys | 17 January 2017, 23:11:05 UTC |
e4ec408 | Junio C Hamano | 17 January 2017, 23:11:04 UTC | Merge branch 'jc/pull-rebase-ff' into maint "git pull --rebase", when there is no new commits on our side since we forked from the upstream, should be able to fast-forward without invoking "git rebase", but it didn't. * jc/pull-rebase-ff: pull: fast-forward "pull --rebase=true" | 17 January 2017, 23:11:05 UTC |
07ec05d | Junio C Hamano | 17 January 2017, 23:11:03 UTC | Merge branch 'js/normalize-path-copy-ceil' into maint A pathname that begins with "//" or "\\" on Windows is special but path normalization logic was unaware of it. * js/normalize-path-copy-ceil: normalize_path_copy(): fix pushing to //server/share/dir on Windows | 17 January 2017, 23:11:03 UTC |
9d2a248 | Junio C Hamano | 17 January 2017, 23:11:03 UTC | Merge branch 'ak/commit-only-allow-empty' into maint "git commit --allow-empty --only" (no pathspec) with dirty index ought to be an acceptable way to create a new commit that does not change any paths, but it was forbidden, perhaps because nobody needed it so far. * ak/commit-only-allow-empty: commit: remove 'Clever' message for --only --amend commit: make --only --allow-empty work without paths | 17 January 2017, 23:11:03 UTC |
935a478 | Junio C Hamano | 17 January 2017, 22:49:30 UTC | Merge branch 'da/difftool-dir-diff-fix' into maint "git difftool --dir-diff" had a minor regression when started from a subdirectory, which has been fixed. * da/difftool-dir-diff-fix: difftool: fix dir-diff index creation when in a subdirectory | 17 January 2017, 22:49:30 UTC |
28c8a44 | Junio C Hamano | 17 January 2017, 22:49:30 UTC | Merge branch 'jb/diff-no-index-no-abbrev' into maint "git diff --no-index" did not take "--no-abbrev" option. * jb/diff-no-index-no-abbrev: diff: handle --no-abbrev in no-index case | 17 January 2017, 22:49:30 UTC |
12361d0 | Junio C Hamano | 17 January 2017, 22:49:30 UTC | Merge branch 'jk/stash-disable-renames-internally' into maint When diff.renames configuration is on (and with Git 2.9 and later, it is enabled by default, which made it worse), "git stash" misbehaved if a file is removed and another file with a very similar content is added. * jk/stash-disable-renames-internally: stash: prefer plumbing over git-diff | 17 January 2017, 22:49:30 UTC |
5ce6f51 | Junio C Hamano | 17 January 2017, 22:49:29 UTC | Merge branch 'jk/http-walker-limit-redirect' into maint Update the error messages from the dumb-http client when it fails to obtain loose objects; we used to give sensible error message only upon 404 but we now forbid unexpected redirects that needs to be reported with something sensible. * jk/http-walker-limit-redirect: http-walker: complain about non-404 loose object errors http: treat http-alternates like redirects http: make redirects more obvious remote-curl: rename shadowed options variable http: always update the base URL for redirects http: simplify update_url_from_redirect | 17 January 2017, 22:49:29 UTC |
7479ca4 | Junio C Hamano | 17 January 2017, 22:49:28 UTC | Merge branch 'jc/renormalize-merge-kill-safer-crlf' into maint Fix a corner case in merge-recursive regression that crept in during 2.10 development cycle. * jc/renormalize-merge-kill-safer-crlf: convert: git cherry-pick -Xrenormalize did not work merge-recursive: handle NULL in add_cacheinfo() correctly cherry-pick: demonstrate a segmentation fault | 17 January 2017, 22:49:28 UTC |
cf479b4 | Junio C Hamano | 17 January 2017, 22:49:27 UTC | Merge branch 'ls/p4-empty-file-on-lfs' into maint "git p4" LFS support was broken when LFS stores an empty blob. * ls/p4-empty-file-on-lfs: git-p4: fix empty file processing for large file system backend GitLFS | 17 January 2017, 22:49:27 UTC |
b3dac9c | Junio C Hamano | 17 January 2017, 22:49:27 UTC | Merge branch 'da/mergetool-trust-exit-code' into maint mergetool.<tool>.trustExitCode configuration variable did not apply to built-in tools, but now it does. * da/mergetool-trust-exit-code: mergetools/vimdiff: trust Vim's exit code mergetool: honor mergetool.$tool.trustExitCode for built-in tools | 17 January 2017, 22:49:27 UTC |
430fd1c | Junio C Hamano | 17 January 2017, 22:49:27 UTC | Merge branch 'nd/worktree-list-fixup' into maint The output from "git worktree list" was made in readdir() order, and was unstable. * nd/worktree-list-fixup: worktree list: keep the list sorted worktree.c: get_worktrees() takes a new flag argument get_worktrees() must return main worktree as first item even on error worktree: reorder an if statement worktree.c: zero new 'struct worktree' on allocation | 17 January 2017, 22:49:27 UTC |
3075e40 | Junio C Hamano | 17 January 2017, 22:49:27 UTC | Merge branch 'bw/push-dry-run' into maint "git push --dry-run --recurse-submodule=on-demand" wasn't "--dry-run" in the submodules. * bw/push-dry-run: push: fix --dry-run to not push submodules push: --dry-run updates submodules when --recurse-submodules=on-demand | 17 January 2017, 22:49:27 UTC |
9da9965 | Junio C Hamano | 17 January 2017, 22:49:26 UTC | Merge branch 'hv/submodule-not-yet-pushed-fix' into maint The code in "git push" to compute if any commit being pushed in the superproject binds a commit in a submodule that hasn't been pushed out was overly inefficient, making it unusable even for a small project that does not have any submodule but have a reasonable number of refs. * hv/submodule-not-yet-pushed-fix: submodule_needs_pushing(): explain the behaviour when we cannot answer batch check whether submodule needs pushing into one call serialize collection of refs that contain submodule changes serialize collection of changed submodules | 17 January 2017, 22:49:26 UTC |