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 |
0202c41 | Junio C Hamano | 09 September 2016, 04:37:59 UTC | Prepare for 2.9.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 September 2016, 04:37:59 UTC |
3e8e69a | Junio C Hamano | 09 September 2016, 04:36:03 UTC | Merge branch 'hv/doc-commit-reference-style' into maint A small doc update. * hv/doc-commit-reference-style: SubmittingPatches: use gitk's "Copy commit summary" format SubmittingPatches: document how to reference previous commits | 09 September 2016, 04:36:03 UTC |
b5abd30 | Junio C Hamano | 09 September 2016, 04:36:02 UTC | Merge branch 'sg/reflog-past-root' into maint A small test clean-up for a topic introduced in v2.9.1 and later. * sg/reflog-past-root: t1410: remove superfluous 'git reflog' from the 'walk past root' test | 09 September 2016, 04:36:02 UTC |
71165f0 | Junio C Hamano | 09 September 2016, 04:36:01 UTC | Merge branch 'rs/mailinfo-lib' into maint Small code clean-up. * rs/mailinfo-lib: mailinfo: recycle strbuf in check_header() | 09 September 2016, 04:36:01 UTC |
9bef642 | Junio C Hamano | 09 September 2016, 04:36:00 UTC | Merge branch 'jk/tighten-alloc' into maint Small code and comment clean-up. * jk/tighten-alloc: receive-pack: use FLEX_ALLOC_MEM in queue_command() correct FLEXPTR_* example in comment | 09 September 2016, 04:36:00 UTC |
5e469ab | Junio C Hamano | 09 September 2016, 04:35:59 UTC | Merge branch 'rs/use-strbuf-add-unique-abbrev' into maint A small code clean-up. * rs/use-strbuf-add-unique-abbrev: use strbuf_add_unique_abbrev() for adding short hashes | 09 September 2016, 04:36:00 UTC |
f14883b | Junio C Hamano | 09 September 2016, 04:35:59 UTC | Merge branch 'rs/merge-recursive-string-list-init' into maint A small code clean-up. * rs/merge-recursive-string-list-init: merge-recursive: use STRING_LIST_INIT_NODUP | 09 September 2016, 04:35:59 UTC |
24c88ad | Junio C Hamano | 09 September 2016, 04:35:58 UTC | Merge branch 'rs/merge-add-strategies-simplification' into maint A small code clean-up. * rs/merge-add-strategies-simplification: merge: use string_list_split() in add_strategies() | 09 September 2016, 04:35:58 UTC |
a75341c | Junio C Hamano | 09 September 2016, 04:35:57 UTC | Merge branch 'ls/packet-line-protocol-doc-fix' into maint Correct an age-old calco (is that a typo-like word for calc) in the documentation. * ls/packet-line-protocol-doc-fix: pack-protocol: fix maximum pkt-line size | 09 September 2016, 04:35:57 UTC |
c0e8b3b | Junio C Hamano | 09 September 2016, 04:35:56 UTC | Merge branch 'bw/mingw-avoid-inheriting-fd-to-lockfile' into maint The tempfile (hence its user lockfile) API lets the caller to open a file descriptor to a temporary file, write into it and then finalize it by first closing the filehandle and then either removing or renaming the temporary file. When the process spawns a subprocess after obtaining the file descriptor, and if the subprocess has not exited when the attempt to remove or rename is made, the last step fails on Windows, because the subprocess has the file descriptor still open. Open tempfile with O_CLOEXEC flag to avoid this (on Windows, this is mapped to O_NOINHERIT). * bw/mingw-avoid-inheriting-fd-to-lockfile: mingw: ensure temporary file handles are not inherited by child processes t6026-merge-attr: child processes must not inherit index.lock handles | 09 September 2016, 04:35:56 UTC |
15a2729 | Junio C Hamano | 09 September 2016, 04:35:56 UTC | Merge branch 'dg/document-git-c-in-git-config-doc' into maint The "git -c var[=val] cmd" facility to append a configuration variable definition at the end of the search order was described in git(1) manual page, but not in git-config(1), which was more likely place for people to look for when they ask "can I make a one-shot override, and if so how?" * dg/document-git-c-in-git-config-doc: doc: mention `git -c` in git-config(1) | 09 September 2016, 04:35:56 UTC |
ba22efd | Junio C Hamano | 09 September 2016, 04:35:55 UTC | Merge branch 'js/no-html-bypass-on-windows' into maint On Windows, help.browser configuration variable used to be ignored, which has been corrected. * js/no-html-bypass-on-windows: Revert "display HTML in default browser using Windows' shell API" | 09 September 2016, 04:35:55 UTC |
bde42f0 | Junio C Hamano | 09 September 2016, 04:35:54 UTC | Merge branch 'jk/difftool-command-not-found' into maint "git difftool" by default ignores the error exit from the backend commands it spawns, because often they signal that they found differences by exiting with a non-zero status code just like "diff" does; the exit status codes 126 and above however are special in that they are used to signal that the command is not executable, does not exist, or killed by a signal. "git difftool" has been taught to notice these exit status codes. * jk/difftool-command-not-found: difftool: always honor fatal error exit codes | 09 September 2016, 04:35:54 UTC |
7c96471 | Junio C Hamano | 09 September 2016, 04:35:54 UTC | Merge branch 'sb/checkout-explit-detach-no-advice' into maint "git checkout --detach <branch>" used to give the same advice message as that is issued when "git checkout <tag>" (or anything that is not a branch name) is given, but asking with "--detach" is an explicit enough sign that the user knows what is going on. The advice message has been squelched in this case. * sb/checkout-explit-detach-no-advice: checkout: do not mention detach advice for explicit --detach option | 09 September 2016, 04:35:54 UTC |
6930731 | Junio C Hamano | 09 September 2016, 04:35:54 UTC | Merge branch 'rs/pull-signed-tag' into maint When "git merge-recursive" works on history with many criss-cross merges in "verbose" mode, the names the command assigns to the virtual merge bases could have overwritten each other by unintended reuse of the same piece of memory. * rs/pull-signed-tag: commit: use FLEX_ARRAY in struct merge_remote_desc merge-recursive: fix verbose output for multiple base trees commit: factor out set_merge_remote_desc() commit: use xstrdup() in get_merge_parent() | 09 September 2016, 04:35:54 UTC |
86df11b | Junio C Hamano | 09 September 2016, 04:35:54 UTC | Merge branch 'js/test-lint-pathname' into maint The "t/" hierarchy is prone to get an unusual pathname; "make test" has been taught to make sure they do not contain paths that cannot be checked out on Windows (and the mechanism can be reusable to catch pathnames that are not portable to other platforms as need arises). * js/test-lint-pathname: t/Makefile: ensure that paths are valid on platforms we care | 09 September 2016, 04:35:54 UTC |
8e7c580 | Junio C Hamano | 09 September 2016, 04:35:54 UTC | Merge branch 'js/mv-dir-to-new-directory' into maint "git mv dir non-existing-dir/" did not work in some environments the same way as existing mainstream platforms. The code now moves "dir" to "non-existing-dir", without relying on rename("A", "B/") that strips the trailing slash of '/'. * js/mv-dir-to-new-directory: git mv: do not keep slash in `git mv dir non-existing-dir/` | 09 September 2016, 04:35:54 UTC |
5e09f1d | Junio C Hamano | 09 September 2016, 04:35:54 UTC | Merge branch 'js/import-tars-hardlinks' into maint "import-tars" fast-import script (in contrib/) used to ignore a hardlink target and replaced it with an empty file, which has been corrected to record the same blob as the other file the hardlink is shared with. * js/import-tars-hardlinks: import-tars: support hard links | 09 September 2016, 04:35:54 UTC |
c343e49 | Junio C Hamano | 09 September 2016, 04:35:53 UTC | Merge branch 'ms/document-pack-window-memory-is-per-thread' into maint * ms/document-pack-window-memory-is-per-thread: document git-repack interaction of pack.threads and pack.windowMemory | 09 September 2016, 04:35:53 UTC |
f34d900 | Junio C Hamano | 09 September 2016, 04:35:53 UTC | Merge branch 'jk/push-force-with-lease-creation' into maint "git push --force-with-lease" already had enough logic to allow ensuring that such a push results in creation of a ref (i.e. the receiving end did not have another push from sideways that would be discarded by our force-pushing), but didn't expose this possibility to the users. It does so now. * jk/push-force-with-lease-creation: t5533: make it pass on case-sensitive filesystems push: allow pushing new branches with --force-with-lease push: add shorthand for --force-with-lease branch creation Documentation/git-push: fix placeholder formatting | 09 September 2016, 04:35:53 UTC |
f59c6e6 | Junio C Hamano | 09 September 2016, 04:35:52 UTC | Merge branch 'jk/reflog-date' into maint The reflog output format is documented better, and a new format --date=unix to report the seconds-since-epoch (without timezone) has been added. * jk/reflog-date: date: clarify --date=raw description date: add "unix" format date: document and test "raw-local" mode doc/pretty-formats: explain shortening of %gd doc/pretty-formats: describe index/time formats for %gd doc/rev-list-options: explain "-g" output formats doc/rev-list-options: clarify "commit@{Nth}" for "-g" option | 09 September 2016, 04:35:52 UTC |
7f5885a | Junio C Hamano | 09 September 2016, 04:35:51 UTC | Merge branch 'jc/renormalize-merge-kill-safer-crlf' into maint "git merge" with renormalization did not work well with merge-recursive, due to "safer crlf" conversion kicking in when it shouldn't. * jc/renormalize-merge-kill-safer-crlf: merge: avoid "safer crlf" during recording of merge results convert: unify the "auto" handling of CRLF | 09 September 2016, 04:35:52 UTC |
faacc8e | Junio C Hamano | 09 September 2016, 04:35:50 UTC | Merge branch 'jk/common-main' into maint There are certain house-keeping tasks that need to be performed at the very beginning of any Git program, and programs that are not built-in commands had to do them exactly the same way as "git" potty does. It was easy to make mistakes in one-off standalone programs (like test helpers). A common "main()" function that calls cmd_main() of individual program has been introduced to make it harder to make mistakes. * jk/common-main: mingw: declare main()'s argv as const common-main: call git_setup_gettext() common-main: call restore_sigpipe_to_default() common-main: call sanitize_stdfds() common-main: call git_extract_argv0_path() add an extra level of indirection to main() | 09 September 2016, 04:35:51 UTC |
7841c48 | Lars Schneider | 29 August 2016, 17:55:09 UTC | pack-protocol: fix maximum pkt-line size According to LARGE_PACKET_MAX in pkt-line.h the maximal length of a pkt-line packet is 65520 bytes. The pkt-line header takes 4 bytes and therefore the pkt-line data component must not exceed 65516 bytes. Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 August 2016, 18:00:29 UTC |
4369523 | Beat Bolli | 26 August 2016, 16:59:01 UTC | SubmittingPatches: use gitk's "Copy commit summary" format Update the suggestion in 175d38ca ("SubmittingPatches: document how to reference previous commits", 2016-07-28) on the format to refer to a commit to match what gitk has been giving since last year with its "Copy commit summary" command; also mention this as one of the ways to obtain a commit reference in this format. Signed-off-by: Beat Bolli <dev+git@drbeat.li> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 August 2016, 22:58:10 UTC |
ae1f709 | David Glasser | 23 August 2016, 17:33:21 UTC | doc: mention `git -c` in git-config(1) Signed-off-by: David Glasser <glasser@davidglasser.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 August 2016, 17:55:58 UTC |
05d1ed6 | Ben Wijen | 22 August 2016, 12:47:55 UTC | mingw: ensure temporary file handles are not inherited by child processes When the index is locked and child processes inherit the handle to said lock and the parent process wants to remove the lock before the child process exits, on Windows there is a problem: it won't work because files cannot be deleted if a process holds a handle on them. The symptom: Rename from 'xxx/.git/index.lock' to 'xxx/.git/index' failed. Should I try again? (y/n) Spawning child processes with bInheritHandles==FALSE would not work because no file handles would be inherited, not even the hStdXxx handles in STARTUPINFO (stdin/stdout/stderr). Opening every file with O_NOINHERIT does not work, either, as e.g. git-upload-pack expects inherited file handles. This leaves us with the only way out: creating temp files with the O_NOINHERIT flag. This flag is Windows-specific, however. For our purposes, it is equivalent to O_CLOEXEC (which does not exist on Windows), so let's just open temporary files with the O_CLOEXEC flag and map that flag to O_NOINHERIT on Windows. As Eric Wong pointed out, we need to be careful to handle the case where the Linux headers used to compile Git support O_CLOEXEC but the Linux kernel used to run Git does not: it returns an EINVAL. This fixes the test that we just introduced to demonstrate the problem. Signed-off-by: Ben Wijen <ben@wijen.net> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 August 2016, 16:09:55 UTC |
6db5967 | Johannes Schindelin | 19 August 2016, 08:39:38 UTC | Revert "display HTML in default browser using Windows' shell API" Since 4804aab (help (Windows): Display HTML in default browser using Windows' shell API, 2008-07-13), Git for Windows used to call `ShellExecute()` to launch the default Windows handler for `.html` files. The idea was to avoid going through a shell script, for performance reasons. However, this change ignores the `help.browser` config setting. Together with browsing help not being a performance-critical operation, let's just revert that patch. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 August 2016, 20:47:28 UTC |
ad65f7e | Ben Wijen | 18 August 2016, 14:51:12 UTC | t6026-merge-attr: child processes must not inherit index.lock handles On Windows, a file cannot be removed unless all file handles to it have been released. Hence it is particularly important to close handles when spawning children (which would probably not even know that they hold on to those handles). The example chosen for this test is a custom merge driver that indeed has no idea that it blocks the deletion of index.lock. The full use case is a daemon that lives on after the merge, with subsequent invocations handing off to the daemon, thereby avoiding hefty start-up costs. We simulate this behavior by simply sleeping one second. Note that the test only fails on Windows, due to the file locking issue. Since we have no way to say "expect failure with MINGW, success otherwise", we simply skip this test on Windows for now. Signed-off-by: Ben Wijen <ben@wijen.net> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 August 2016, 20:56:45 UTC |
175d38c | Heiko Voigt | 28 July 2016, 12:55:14 UTC | SubmittingPatches: document how to reference previous commits To reference previous commits people used to put just the abbreviated SHA-1 into commit messages. This is what has evolved as a more stable format for referencing commits. So lets document it for everyone to look-up when needed. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 August 2016, 17:47:33 UTC |
c2cafd3 | Johannes Schindelin | 16 August 2016, 15:13:25 UTC | t/Makefile: ensure that paths are valid on platforms we care Some pathnames that are okay on ext4 and on HFS+ cannot be checked out on Windows. Tests that want to see operations on such paths on filesystems that support them must do so behind appropriate test prerequisites, and must not include them in the source tree (instead they should create them when they run). Otherwise, the source tree cannot even be checked out. Make sure that double-quotes, asterisk, colon, greater/less-than, question-mark, backslash, tab, vertical-bar, as well as any non-ASCII characters never appear in the pathnames with a new test-lint-* target as part of a `make test`. To that end, we call `git ls-files` (ensuring that the paths are quoted properly), relying on the fact that paths containing non-ASCII characters are quoted within double-quotes. In case that the source code does not actually live in a Git repository (e.g. when extracted from a .zip file), or that the `git` executable cannot be executed, we simply ignore the error for now; In that case, our trusty Continuous Integration will be the last line of defense and catch any problematic file name. Noticed when a topic wanted to add a pathname with '>' in it. A check like this will prevent a similar problems from happening in the future. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 August 2016, 18:56:42 UTC |
45a4f5d | John Keeping | 15 August 2016, 21:54:39 UTC | difftool: always honor fatal error exit codes At the moment difftool's "trust exit code" logic always suppresses the exit status of the diff utility we invoke. This is useful because we don't want to exit just because diff returned "1" because the files differ, but it's confusing if the shell returns an error because the selected diff utility is not found. POSIX specifies 127 as the exit status for "command not found", 126 for "command found but is not executable" and values greater than 128 if the command terminated because it received a signal [1] and at least bash and dash follow this specification, while diff utilities generally use "1" for the exit status we want to ignore. Handle any value of 126 or greater as a special value indicating that some form of fatal error occurred. [1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_08_02 Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 August 2016, 22:24:05 UTC |
779b88a | Stefan Beller | 15 August 2016, 18:40:21 UTC | checkout: do not mention detach advice for explicit --detach option When a user asked for a detached HEAD specifically with `--detach`, we do not need to give advice on what a detached HEAD state entails as we can assume they know what they're getting into as they asked for it. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 August 2016, 22:01:45 UTC |
0eb75ce | SZEDER Gábor | 14 August 2016, 23:28:53 UTC | t1410: remove superfluous 'git reflog' from the 'walk past root' test The test added in 71abeb753fa8 (reflog: continue walking the reflog past root commits, 2016-06-03) contains an unnecessary 'git reflog' execution, which was part of my debug/tracing instrumentation that I somehow didn't manage to remove before submitting. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 August 2016, 16:21:39 UTC |
ddd0bfa | René Scharfe | 13 August 2016, 15:38:56 UTC | receive-pack: use FLEX_ALLOC_MEM in queue_command() Use the macro FLEX_ALLOC_MEM instead of open-coding it. This shortens and simplifies the code a bit. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 02:49:30 UTC |
5447a76 | René Scharfe | 13 August 2016, 12:21:27 UTC | commit: use FLEX_ARRAY in struct merge_remote_desc Convert the name member of struct merge_remote_desc to a FLEX_ARRAY and use FLEX_ALLOC_STR to build the struct. This halves the number of memory allocations, saves the storage for a pointer and avoids an indirection when reading the name. Suggested-by: Jeff King <peff@peff.net> Signed-off-by: Rene Scharfe <l.s.r@web.de> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 02:48:07 UTC |
a257165 | René Scharfe | 13 August 2016, 12:16:04 UTC | merge-recursive: fix verbose output for multiple base trees One of the indirect callers of make_virtual_commit() passes the result of oid_to_hex() as the name, i.e. a pointer to a static buffer. Since the function uses that string pointer directly in building a struct merge_remote_desc, multiple entries can end up sharing the same name inadvertently. Fix that by calling set_merge_remote_desc(), which creates a copy of the string, instead of building the struct by hand. Signed-off-by: Rene Scharfe <l.s.r@web.de> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 02:48:04 UTC |
beb518c | René Scharfe | 13 August 2016, 12:11:27 UTC | commit: factor out set_merge_remote_desc() Export a helper function for allocating, populating and attaching a merge_remote_desc to a commit. Signed-off-by: Rene Scharfe <l.s.r@web.de> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 02:48:00 UTC |
c089320 | René Scharfe | 13 August 2016, 12:09:49 UTC | commit: use xstrdup() in get_merge_parent() Handle allocation errors for the name member just like we already do for the struct merge_remote_desc itself. Signed-off-by: Rene Scharfe <l.s.r@web.de> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 02:47:49 UTC |
ecf30b2 | René Scharfe | 13 August 2016, 09:05:42 UTC | mailinfo: recycle strbuf in check_header() handle_message_id() duplicates the contents of the strbuf that is passed to it. Its only caller proceeds to release the strbuf immediately after that. Reuse it instead and make that change of object ownership more obvious by inlining this short function. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 02:45:24 UTC |
0bb1519 | René Scharfe | 13 August 2016, 09:01:21 UTC | correct FLEXPTR_* example in comment This section is about "The FLEXPTR_* variants", so use FLEXPTR_ALLOC_STR in the example. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 August 2016, 02:44:03 UTC |
e0c1cea | Junio C Hamano | 12 August 2016, 16:17:51 UTC | Git 2.9.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 August 2016, 16:17:51 UTC |
9b601ea | Junio C Hamano | 12 August 2016, 16:16:57 UTC | Merge branch 'jk/difftool-in-subdir' into maint "git difftool <paths>..." started in a subdirectory failed to interpret the paths relative to that directory, which has been fixed. * jk/difftool-in-subdir: difftool: use Git::* functions instead of passing around state difftool: avoid $GIT_DIR and $GIT_WORK_TREE difftool: fix argument handling in subdirs | 12 August 2016, 16:16:57 UTC |
f4fd627 | Junio C Hamano | 12 August 2016, 16:16:56 UTC | Merge branch 'jk/reset-ident-time-per-commit' into maint Not-so-recent rewrite of "git am" that started making internal calls into the commit machinery had an unintended regression, in that no matter how many seconds it took to apply many patches, the resulting committer timestamp for the resulting commits were all the same. * jk/reset-ident-time-per-commit: am: reset cached ident date for each patch | 12 August 2016, 16:16:56 UTC |
8e4b75a | Junio C Hamano | 10 August 2016, 18:56:56 UTC | Yet another batch for 2.9.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 August 2016, 18:56:56 UTC |
019d8a4 | Junio C Hamano | 10 August 2016, 18:55:34 UTC | Merge branch 'jh/clean-smudge-f-doc' into maint A minor documentation update. This was split out from a stalled jh/clean-smudge-annex topic before discarding it. * jh/clean-smudge-f-doc: clarify %f documentation | 10 August 2016, 18:55:34 UTC |
574a31b | Junio C Hamano | 10 August 2016, 18:55:33 UTC | Merge branch 'rs/use-strbuf-addstr' into maint * rs/use-strbuf-addstr: use strbuf_addstr() instead of strbuf_addf() with "%s" use strbuf_addstr() for adding constant strings to a strbuf | 10 August 2016, 18:55:34 UTC |
9a54075 | Junio C Hamano | 10 August 2016, 18:55:33 UTC | Merge branch 'cp/completion-clone-recurse-submodules' into maint * cp/completion-clone-recurse-submodules: completion: add option '--recurse-submodules' to 'git clone' | 10 August 2016, 18:55:33 UTC |
66d6511 | Junio C Hamano | 10 August 2016, 18:55:32 UTC | Merge branch 'jk/t4205-cleanup' into maint Test modernization. * jk/t4205-cleanup: t4205: indent here documents t4205: drop top-level &&-chaining | 10 August 2016, 18:55:32 UTC |
33481c1 | Junio C Hamano | 10 August 2016, 18:55:31 UTC | Merge branch 'jc/hashmap-doc-init' into maint The API documentation for hashmap was unclear if hashmap_entry can be safely discarded without any other consideration. State that it is safe to do so. * jc/hashmap-doc-init: hashmap: clarify that hashmap_entry can safely be discarded | 10 August 2016, 18:55:31 UTC |
05a6d0e | Junio C Hamano | 10 August 2016, 18:55:31 UTC | Merge branch 'js/nedmalloc-gcc6-warnings' into maint Squelch compiler warnings for netmalloc (in compat/) library. * js/nedmalloc-gcc6-warnings: nedmalloc: work around overzealous GCC 6 warning nedmalloc: fix misleading indentation | 10 August 2016, 18:55:31 UTC |
f7fb6e2 | Junio C Hamano | 10 August 2016, 18:55:30 UTC | Merge branch 'nd/fbsd-lazy-mtime' into maint FreeBSD can lie when asked mtime of a directory, which made the untracked cache code to fall back to a slow-path, which in turn caused tests in t7063 to fail because it wanted to verify the behaviour of the fast-path. * nd/fbsd-lazy-mtime: t7063: work around FreeBSD's lazy mtime update feature | 10 August 2016, 18:55:30 UTC |
1dc4aa6 | Junio C Hamano | 10 August 2016, 18:55:30 UTC | Merge branch 'ab/gitweb-link-html-escape' into maint The characters in the label shown for tags/refs for commits in "gitweb" output are now properly escaped for proper HTML output. * ab/gitweb-link-html-escape: gitweb: escape link body in format_ref_marker | 10 August 2016, 18:55:30 UTC |
85b2ea2 | Junio C Hamano | 10 August 2016, 18:55:29 UTC | Merge branch 'js/t4130-rename-without-ino' into maint Windows port was failing some tests in t4130, due to the lack of inum in the returned values by its lstat(2) emulation. * js/t4130-rename-without-ino: t4130: work around Windows limitation | 10 August 2016, 18:55:30 UTC |
7b163e9 | Junio C Hamano | 10 August 2016, 18:55:29 UTC | Merge branch 'jc/grep-commandline-vs-configuration' into maint "git -c grep.patternType=extended log --basic-regexp" misbehaved because the internal API to access the grep machinery was not designed well. * jc/grep-commandline-vs-configuration: grep: further simplify setting the pattern type | 10 August 2016, 18:55:29 UTC |
cee6c5b | Junio C Hamano | 10 August 2016, 18:55:28 UTC | Merge branch 'jk/diff-do-not-reuse-wtf-needs-cleaning' into maint There is an optimization used in "git diff $treeA $treeB" to borrow an already checked-out copy in the working tree when it is known to be the same as the blob being compared, expecting that open/mmap of such a file is faster than reading it from the object store, which involves inflating and applying delta. This however kicked in even when the checked-out copy needs to go through the convert-to-git conversion (including the clean filter), which defeats the whole point of the optimization. The optimization has been disabled when the conversion is necessary. * jk/diff-do-not-reuse-wtf-needs-cleaning: diff: do not reuse worktree files that need "clean" conversion | 10 August 2016, 18:55:28 UTC |
d1d9c3c | Junio C Hamano | 10 August 2016, 18:55:27 UTC | Merge branch 'pm/build-persistent-https-with-recent-go' into maint The build procedure for "git persistent-https" helper (in contrib/) has been updated so that it can be built with more recent versions of Go. * pm/build-persistent-https-with-recent-go: contrib/persistent-https: use Git version for build label contrib/persistent-https: update ldflags syntax for Go 1.7+ | 10 August 2016, 18:55:27 UTC |
366d2d5 | Junio C Hamano | 10 August 2016, 18:55:26 UTC | Merge branch 'da/subtree-2.9-regression' into maint "git merge" in Git v2.9 was taught to forbid merging an unrelated lines of history by default, but that is exactly the kind of thing the "--rejoin" mode of "git subtree" (in contrib/) wants to do. "git subtree" has been taught to use the "--allow-unrelated-histories" option to override the default. * da/subtree-2.9-regression: subtree: fix "git subtree split --rejoin" t7900-subtree.sh: fix quoting and broken && chains | 10 August 2016, 18:55:26 UTC |
d9d7ab3 | Junio C Hamano | 10 August 2016, 18:55:25 UTC | Merge branch 'os/no-verify-skips-commit-msg-too' into maint "git commit --help" said "--no-verify" is only about skipping the pre-commit hook, and failed to say that it also skipped the commit-msg hook. * os/no-verify-skips-commit-msg-too: commit: describe that --no-verify skips the commit-msg hook in the help text | 10 August 2016, 18:55:25 UTC |
b7fb136 | Junio C Hamano | 10 August 2016, 18:55:24 UTC | Merge branch 'rs/rm-strbuf-optim' into maint The use of strbuf in "git rm" to build filename to remove was a bit suboptimal, which has been fixed. * rs/rm-strbuf-optim: rm: reuse strbuf for all remove_dir_recursively() calls | 10 August 2016, 18:55:24 UTC |
60b84ba | Junio C Hamano | 10 August 2016, 18:55:23 UTC | Merge branch 'jk/parse-options-concat' into maint Users of the parse_options_concat() API function need to allocate extra slots in advance and fill them with OPT_END() when they want to decide the set of supported options dynamically, which makes the code error-prone and hard to read. This has been corrected by tweaking the API to allocate and return a new copy of "struct option" array. * jk/parse-options-concat: parse_options: allocate a new array when concatenating | 10 August 2016, 18:55:24 UTC |
dbc5276 | Junio C Hamano | 10 August 2016, 18:55:22 UTC | Merge branch 'ls/travis-enable-httpd-tests' into maint Allow http daemon tests in Travis CI tests. * ls/travis-enable-httpd-tests: travis-ci: enable web server tests t55xx on Linux | 10 August 2016, 18:55:23 UTC |
f98a20c | Junio C Hamano | 10 August 2016, 18:55:20 UTC | Merge branch 'ew/autoconf-pthread' into maint Existing autoconf generated test for the need to link with pthread library did not check all the functions from pthread libraries; recent FreeBSD has some functions in libc but not others, and we mistakenly thought linking with libc is enough when it is not. * ew/autoconf-pthread: configure.ac: stronger test for pthread linkage | 10 August 2016, 18:55:21 UTC |
e223c2c | Junio C Hamano | 10 August 2016, 18:55:19 UTC | Merge branch 'rs/help-c-source-with-gitattributes' into maint The .c/.h sources are marked as such in our .gitattributes file so that "git diff -W" and friends would work better. * rs/help-c-source-with-gitattributes: .gitattributes: set file type for C files | 10 August 2016, 18:55:20 UTC |
61efc5c | Junio C Hamano | 10 August 2016, 18:55:19 UTC | Merge branch 'mm/status-suggest-merge-abort' into maint "git status" learned to suggest "merge --abort" during a conflicted merge, just like it already suggests "rebase --abort" during a conflicted rebase. * mm/status-suggest-merge-abort: status: suggest 'git merge --abort' when appropriate | 10 August 2016, 18:55:19 UTC |
954176c | Michael Stahl | 10 August 2016, 10:39:35 UTC | document git-repack interaction of pack.threads and pack.windowMemory Signed-off-by: Michael Stahl <mstahl@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 August 2016, 17:55:13 UTC |
00f27fe | Junio C Hamano | 08 August 2016, 21:22:36 UTC | Hopefully final batch for 2.9.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 August 2016, 21:22:36 UTC |
593be73 | Junio C Hamano | 08 August 2016, 21:21:47 UTC | Merge branch 'sb/pack-protocol-doc-nak' into maint A doc update. * sb/pack-protocol-doc-nak: Documentation: pack-protocol correct NAK response | 08 August 2016, 21:21:47 UTC |
f7b01d3 | Junio C Hamano | 08 August 2016, 21:21:46 UTC | Merge branch 'rs/submodule-config-code-cleanup' into maint Code cleanup. * rs/submodule-config-code-cleanup: submodule-config: fix test binary crashing when no arguments given submodule-config: combine early return code into one goto submodule-config: passing name reference for .gitmodule blobs submodule-config: use explicit empty string instead of strbuf in config_from() | 08 August 2016, 21:21:46 UTC |
6a024a2 | Junio C Hamano | 08 August 2016, 21:21:46 UTC | Merge branch 'sb/submodule-deinit-all' into maint A comment update for a topic that was merged to Git v2.8. * sb/submodule-deinit-all: submodule deinit: remove outdated comment | 08 August 2016, 21:21:46 UTC |
5131967 | Junio C Hamano | 08 August 2016, 21:21:45 UTC | Merge branch 'rs/worktree-use-strbuf-absolute-path' into maint Code simplification. * rs/worktree-use-strbuf-absolute-path: worktree: use strbuf_add_absolute_path() directly | 08 August 2016, 21:21:45 UTC |
2f8c654 | Junio C Hamano | 08 August 2016, 21:21:44 UTC | Merge branch 'jc/doc-diff-filter-exclude' into maint Belated doc update for a feature added in v1.8.5. * jc/doc-diff-filter-exclude: diff: document diff-filter exclusion | 08 August 2016, 21:21:44 UTC |
970994d | Junio C Hamano | 08 August 2016, 21:21:43 UTC | Merge branch 'nd/test-helpers' into maint Build clean-up. * nd/test-helpers: t/test-lib.sh: fix running tests with --valgrind Makefile: use VCSSVN_LIB to refer to svn library Makefile: drop extra dependencies for test helpers | 08 August 2016, 21:21:43 UTC |
48aa37e | Junio C Hamano | 08 August 2016, 21:21:42 UTC | Merge branch 'rs/use-strbuf-addbuf' into maint Code cleanup. * rs/use-strbuf-addbuf: strbuf: avoid calling strbuf_grow() twice in strbuf_addbuf() use strbuf_addbuf() for appending a strbuf to another | 08 August 2016, 21:21:42 UTC |
ee7fd70 | Junio C Hamano | 08 August 2016, 21:21:41 UTC | Merge branch 'lf/recv-sideband-cleanup' into maint Code simplification. * lf/recv-sideband-cleanup: sideband.c: small optimization of strbuf usage sideband.c: refactor recv_sideband() | 08 August 2016, 21:21:41 UTC |
e69771c | Junio C Hamano | 08 August 2016, 21:21:40 UTC | Merge branch 'ah/unpack-trees-advice-messages' into maint Grammofix. * ah/unpack-trees-advice-messages: unpack-trees: fix English grammar in do-this-before-that messages | 08 August 2016, 21:21:40 UTC |
26256c0 | Junio C Hamano | 08 August 2016, 21:21:39 UTC | Merge branch 'lf/sideband-returns-void' into maint A small internal API cleanup. * lf/sideband-returns-void: upload-pack.c: make send_client_data() return void sideband.c: make send_sideband() return void | 08 August 2016, 21:21:40 UTC |
1e274ef | Junio C Hamano | 08 August 2016, 21:21:39 UTC | Merge branch 'jk/send-pack-stdio' into maint Code clean-up. * jk/send-pack-stdio: write_or_die: remove the unused write_or_whine() function send-pack: use buffered I/O to talk to pack-objects | 08 August 2016, 21:21:39 UTC |
a220e2b | Junio C Hamano | 08 August 2016, 21:21:38 UTC | Merge branch 'pb/commit-editmsg-path' into maint Code clean-up. * pb/commit-editmsg-path: builtin/commit.c: memoize git-path for COMMIT_EDITMSG | 08 August 2016, 21:21:38 UTC |
8d64216 | Junio C Hamano | 08 August 2016, 21:21:37 UTC | Merge branch 'ew/find-perl-on-freebsd-in-local' into maint Recent FreeBSD stopped making perl available at /usr/bin/perl; switch the default the built-in path to /usr/local/bin/perl on not too ancient FreeBSD releases. * ew/find-perl-on-freebsd-in-local: config.mak.uname: correct perl path on FreeBSD | 08 August 2016, 21:21:38 UTC |
172b811 | Junio C Hamano | 08 August 2016, 21:21:37 UTC | Merge branch 'ew/daemon-socket-keepalive' into maint Recent update to "git daemon" tries to enable the socket-level KEEPALIVE, but when it is spawned via inetd, the standard input file descriptor may not necessarily be connected to a socket. Suppress an ENOTSOCK error from setsockopt(). * ew/daemon-socket-keepalive: Windows: add missing definition of ENOTSOCK daemon: ignore ENOTSOCK from setsockopt | 08 August 2016, 21:21:37 UTC |
aa9136a | Junio C Hamano | 08 August 2016, 21:21:36 UTC | Merge branch 'nd/pack-ofs-4gb-limit' into maint "git pack-objects" and "git index-pack" mostly operate with off_t when talking about the offset of objects in a packfile, but there were a handful of places that used "unsigned long" to hold that value, leading to an unintended truncation. * nd/pack-ofs-4gb-limit: fsck: use streaming interface for large blobs in pack pack-objects: do not truncate result in-pack object size on 32-bit systems index-pack: correct "offset" type in unpack_entry_data() index-pack: report correct bad object offsets even if they are large index-pack: correct "len" type in unpack_data() sha1_file.c: use type off_t* for object_info->disk_sizep pack-objects: pass length to check_pack_crc() without truncation | 08 August 2016, 21:21:36 UTC |
743fba8 | Junio C Hamano | 08 August 2016, 21:21:35 UTC | Merge branch 'rs/notes-merge-no-toctou' into maint "git notes merge" had a code to see if a path exists (and fails if it does) and then open the path for writing (when it doesn't). Replace it with open with O_EXCL. * rs/notes-merge-no-toctou: notes-merge: use O_EXCL to avoid overwriting existing files | 08 August 2016, 21:21:35 UTC |
a52fb9b | Junio C Hamano | 08 August 2016, 21:21:35 UTC | Merge branch 'js/ignore-space-at-eol' into maint An age old bug that caused "git diff --ignore-space-at-eol" misbehave has been fixed. * js/ignore-space-at-eol: diff: fix a double off-by-one with --ignore-space-at-eol diff: demonstrate a bug with --patience and --ignore-space-at-eol | 08 August 2016, 21:21:35 UTC |
71076e1 | Junio C Hamano | 08 August 2016, 21:21:34 UTC | Merge branch 'jk/push-scrub-url' into maint "git fetch http://user:pass@host/repo..." scrubbed the userinfo part, but "git push" didn't. * jk/push-scrub-url: t5541: fix url scrubbing test when GPG is not set push: anonymize URL in status output | 08 August 2016, 21:21:34 UTC |
880b3fe | Junio C Hamano | 08 August 2016, 21:21:32 UTC | Merge branch 'nd/cache-tree-ita' into maint "git add -N dir/file && git write-tree" produced an incorrect tree when there are other paths in the same directory that sorts after "file". * nd/cache-tree-ita: cache-tree: do not generate empty trees as a result of all i-t-a subentries cache-tree.c: fix i-t-a entry skipping directory updates sometimes test-lib.sh: introduce and use $EMPTY_BLOB test-lib.sh: introduce and use $EMPTY_TREE | 08 August 2016, 21:21:33 UTC |
327b3f8 | Junio C Hamano | 08 August 2016, 21:21:32 UTC | Merge branch 'mh/blame-worktree' into maint "git blame file" allowed the lineage of lines in the uncommitted, unadded contents of "file" to be inspected, but it refused when "file" did not appear in the current commit. When "file" was created by renaming an existing file (but the change has not been committed), this restriction was unnecessarily tight. * mh/blame-worktree: t/t8003-blame-corner-cases.sh: Use here documents blame: allow to blame paths freshly added to the index | 08 August 2016, 21:21:32 UTC |