swh:1:snp:87728f882295b5ba27035837248a04c5be121c53

sort by:
Revision Author Date Message Commit Date
0f8e831 Git 2.8.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 May 2016, 22:32:41 UTC
6610669 Merge branch 'sb/misc-cleanups' into HEAD * sb/misc-cleanups: submodule-config: don't shadow `cache` config.c: drop local variable credential-cache, send_request: close fd when done bundle: don't leak an fd in case of early return abbrev_sha1_in_line: don't leak memory notes: don't leak memory in git_config_get_notes_strategy 18 May 2016, 21:40:15 UTC
989cbd4 Merge branch 'ew/doc-split-pack-disables-bitmap' into HEAD Doc update. * ew/doc-split-pack-disables-bitmap: pack-objects: warn on split packs disabling bitmaps 18 May 2016, 21:40:15 UTC
10b6646 Merge branch 'sb/clean-test-fix' into HEAD * sb/clean-test-fix: t7300: mark test with SANITY 18 May 2016, 21:40:14 UTC
8d61f0f Merge branch 'rn/glossary-typofix' into HEAD * rn/glossary-typofix: Documentation: fix typo 'In such these cases' 18 May 2016, 21:40:14 UTC
977cb3e Merge branch 'ew/normal-to-e' into HEAD * ew/normal-to-e: .mailmap: update to my shorter email address 18 May 2016, 21:40:12 UTC
258b862 Merge branch 'sb/config-exit-status-list' into HEAD Doc update. * sb/config-exit-status-list: config doc: improve exit code listing 18 May 2016, 21:40:12 UTC
87c5944 Merge branch 'rt/string-list-lookup-cleanup' into HEAD Code cleanup. * rt/string-list-lookup-cleanup: string_list: use string-list API in unsorted_string_list_lookup() 18 May 2016, 21:40:12 UTC
9ba3b14 Merge branch 'jk/fix-attribute-macro-in-2.5' into HEAD Code fixup. * jk/fix-attribute-macro-in-2.5: remote.c: spell __attribute__ correctly 18 May 2016, 21:40:12 UTC
777dec6 Merge branch 'sg/test-lib-simplify-expr-away' into HEAD Code cleanup. * sg/test-lib-simplify-expr-away: test-lib: simplify '--option=value' parsing 18 May 2016, 21:40:11 UTC
14af79b Merge branch 'nd/remove-unused' into HEAD Code cleanup. * nd/remove-unused: wrapper.c: delete dead function git_mkstemps() dir.c: remove dead function fnmatch_icase() 18 May 2016, 21:40:11 UTC
13af774 Merge branch 'sk/gitweb-highlight-encoding' into HEAD Some multi-byte encoding can have a backslash byte as a later part of one letter, which would confuse "highlight" filter used in gitweb. * sk/gitweb-highlight-encoding: gitweb: apply fallback encoding before highlight 18 May 2016, 21:40:10 UTC
0968758 Merge branch 'ls/travis-submitting-patches' into HEAD * ls/travis-submitting-patches: Documentation: add setup instructions for Travis CI 18 May 2016, 21:40:09 UTC
1cfb225 Merge branch 'js/close-packs-before-gc' into HEAD * js/close-packs-before-gc: t5510: run auto-gc in the foreground 18 May 2016, 21:40:09 UTC
803fd70 Merge branch 'ls/p4-lfs' into HEAD Recent update to Git LFS broke "git p4" by changing the output from its "lfs pointer" subcommand. * ls/p4-lfs: git-p4: fix Git LFS pointer parsing travis-ci: express Linux/OS X dependency versions more clearly travis-ci: update Git-LFS and P4 to the latest version 18 May 2016, 21:40:08 UTC
7ab6da3 Merge branch 'ls/p4-lfs-test-fix-2.7.0' into HEAD Fix a broken test. * ls/p4-lfs-test-fix-2.7.0: t9824: fix wrong reference value t9824: fix broken &&-chain in a subshell 18 May 2016, 21:40:08 UTC
f735a50 Merge branch 'nf/mergetool-prompt' into HEAD UI consistency improvements. * nf/mergetool-prompt: difftool/mergetool: make the form of yes/no questions consistent 18 May 2016, 21:40:07 UTC
1f7b196 Merge branch 'jd/send-email-to-whom' into HEAD A question by "git send-email" to ask the identity of the sender has been updated. * jd/send-email-to-whom: send-email: fix grammo in the prompt that asks e-mail recipients 18 May 2016, 21:40:07 UTC
f12fffd Merge branch 'js/win32-mmap' into HEAD mmap emulation on Windows has been optimized and work better without consuming paging store when not needed. * js/win32-mmap: mmap(win32): avoid expensive fstat() call mmap(win32): avoid copy-on-write when it is unnecessary win32mmap: set errno appropriately 18 May 2016, 21:40:06 UTC
c555e52 Merge branch 'jk/push-client-deadlock-fix' into HEAD Some Windows SDK lacks pthread_sigmask() implementation and fails to compile the recently updated "git push" codepath that uses it. * jk/push-client-deadlock-fix: Windows: only add a no-op pthread_sigmask() when needed Windows: add pthread_sigmask() that does nothing t5504: drop sigpipe=ok from push tests fetch-pack: isolate sigpipe in demuxer thread send-pack: isolate sigpipe in demuxer thread run-command: teach async threads to ignore SIGPIPE send-pack: close demux pipe before finishing async process 18 May 2016, 21:40:06 UTC
920f2ea Merge branch 'sb/mv-submodule-fix' into HEAD "git mv old new" did not adjust the path for a submodule that lives as a subdirectory inside old/ directory correctly. * sb/mv-submodule-fix: mv: allow moving nested submodules 18 May 2016, 21:40:05 UTC
e9ef83a Merge branch 'da/user-useconfigonly' into HEAD The "user.useConfigOnly" configuration variable makes it an error if users do not explicitly set user.name and user.email. However, its check was not done early enough and allowed another error to trigger, reporting that the default value we guessed from the system setting was unusable. This was a suboptimal end-user experience as we want the users to set user.name/user.email without relying on the auto-detection at all. * da/user-useconfigonly: ident: give "please tell me" message upon useConfigOnly error ident: check for useConfigOnly before auto-detection of name/email 18 May 2016, 21:40:05 UTC
787a490 Merge branch 'ld/p4-test-py3' into HEAD The test scripts for "git p4" (but not "git p4" implementation itself) has been updated so that they would work even on a system where the installed version of Python is python 3. * ld/p4-test-py3: git-p4 tests: time_in_seconds should use $PYTHON_PATH git-p4 tests: work with python3 as well as python2 git-p4 tests: cd to / before running python 18 May 2016, 21:40:04 UTC
ed84387 Windows: only add a no-op pthread_sigmask() when needed In f924b52 (Windows: add pthread_sigmask() that does nothing, 2016-05-01), we introduced a no-op for Windows. However, this breaks building Git in Git for Windows' SDK because pthread_sigmask() is already a no-op there, #define'd in the pthread_signal.h header in /mingw64/x86_64-w64-mingw32/include/. Let's wrap the definition of pthread_sigmask() in a guard that skips it when compiling with MinGW-w64' headers. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 11 May 2016, 21:02:10 UTC
d92347f Almost ready for 2.8.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 May 2016, 21:53:36 UTC
cc60190 Merge branch 'sb/submodule-path-misc-bugs' into maint "git submodule" reports the paths of submodules the command recurses into, but this was incorrect when the command was not run from the root level of the superproject. * sb/submodule-path-misc-bugs: t7407: make expectation as clear as possible submodule update: test recursive path reporting from subdirectory submodule update: align reporting path for custom command execution submodule status: correct path handling in recursive submodules submodule update --init: correct path handling in recursive submodules submodule foreach: correct path display in recursive submodules 06 May 2016, 21:53:25 UTC
a0c9cf5 Merge branch 'ky/imap-send-openssl-1.1.0' into maint Upcoming OpenSSL 1.1.0 will break compilation b updating a few APIs we use in imap-send, which has been adjusted for the change. * ky/imap-send-openssl-1.1.0: configure: remove checking for HMAC_CTX_cleanup imap-send: avoid deprecated TLSv1_method() imap-send: check NULL return of SSL_CTX_new() imap-send: use HMAC() function provided by OpenSSL 06 May 2016, 21:53:24 UTC
8854ded Merge branch 'js/replace-edit-use-editor-configuration' into maint "git replace -e" did not honour "core.editor" configuration. * js/replace-edit-use-editor-configuration: replace --edit: respect core.editor 06 May 2016, 21:53:24 UTC
b450a39 Merge branch 'cc/apply' into maint Minor code clean-up. * cc/apply: builtin/apply: free patch when parse_chunk() fails builtin/apply: handle parse_binary() failure apply: remove unused call to free() in gitdiff_{old,new}name() builtin/apply: get rid of useless 'name' variable 06 May 2016, 21:53:23 UTC
c75fb77 Merge branch 'kn/for-each-tag-branch' into maint A minor documentation update. * kn/for-each-tag-branch: for-each-ref: fix description of '--contains' in manpage 06 May 2016, 21:53:23 UTC
4453d76 git-multimail: update to release 1.3.0 The changes are described in CHANGES. Contributions-by: Matthieu Moy <Matthieu.Moy@imag.fr> Contributions-by: Stefan Tatschner <rumpelsepp@sevenbyte.org> Contributions-by: Simon P <simon.git@le-huit.fr> Contributions-by: Leander Hasty <leander@1stplayable.com> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 03 May 2016, 21:04:27 UTC
cadfbef t7300: mark test with SANITY The test runs `chmod 0` on a file to test a case where Git fails to read it, but that would not work if it is run as root. Reported-by: Jan Keromnes <janx@linux.com> Fix-proposed-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 03 May 2016, 20:20:27 UTC
029f372 gitweb: apply fallback encoding before highlight Some multi-byte character encodings (such as Shift_JIS and GBK) have characters whose final bytes is an ASCII '\' (0x5c), and they will be displayed as funny-characters even if $fallback_encoding is correct. This is because `highlight` command always expects UTF-8 encoded strings from STDIN. $ echo 'my $v = "申";' | highlight --syntax perl | w3m -T text/html -dump my $v = "申"; $ echo 'my $v = "申";' | iconv -f UTF-8 -t Shift_JIS | highlight \ --syntax perl | iconv -f Shift_JIS -t UTF-8 | w3m -T text/html -dump iconv: (stdin):9:135: cannot convert my $v = " This patch prepare git blob objects to be encoded into UTF-8 before highlighting in the manner of `to_utf8` subroutine. Signed-off-by: Shin Kojima <shin@kojima.org> Reviewed-by: Jakub Narębski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 03 May 2016, 18:32:31 UTC
5b618c1 Start preparing for 2.8.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> 02 May 2016, 21:24:36 UTC
6671346 Merge branch 'jk/use-write-script-more' into maint Code clean-up. * jk/use-write-script-more: t3404: use write_script t1020: do not overuse printf and use write_script t5532: use write_script 02 May 2016, 21:24:14 UTC
97d5165 Merge branch 'jc/xstrfmt-null-with-prec-0' into maint Code cleanup. * jc/xstrfmt-null-with-prec-0: setup.c: do not feed NULL to "%.*s" even with precision 0 02 May 2016, 21:24:14 UTC
037438a Merge branch 'ew/send-email-drop-data-dumper' into maint Code clean-up. * ew/send-email-drop-data-dumper: send-email: do not load Data::Dumper 02 May 2016, 21:24:13 UTC
1c07e3e Merge branch 'ad/cygwin-wants-rename' into maint On Cygwin, object creation uses the "create a temporary and then rename it to the final name" pattern, not "create a temporary, hardlink it to the final name and then unlink the temporary" pattern. This is necessary to use Git on Windows shared directories, and is already enabled for the MinGW and plain Windows builds. It also has been used in Cygwin packaged versions of Git for quite a while. See http://thread.gmane.org/gmane.comp.version-control.git/291853 ($gmane/275680, $gmane/291853). * ad/cygwin-wants-rename: config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES 02 May 2016, 21:24:12 UTC
d406f68 Merge branch 'jk/do-not-printf-NULL' into maint "git config" had a codepath that tried to pass a NULL to printf("%s"), which nobody seems to have noticed. * jk/do-not-printf-NULL: git_config_set_multivar_in_file: handle "unset" errors git_config_set_multivar_in_file: all non-zero returns are errors config: lower-case first word of error strings 02 May 2016, 21:24:10 UTC
6b9eee2 Merge branch 'jc/http-socks5h' into maint The socks5:// proxy support added back in 2.6.4 days was not aware that socks5h:// proxies behave differently. * jc/http-socks5h: http: differentiate socks5:// and socks5h:// 02 May 2016, 21:24:10 UTC
e18ace0 Merge branch 'ky/imap-send' into maint Support for CRAM-MD5 authentication method in "git imap-send" did not work well. * ky/imap-send: imap-send: fix CRAM-MD5 response calculation imap-send: check for NOLOGIN capability only when using LOGIN command 02 May 2016, 21:24:10 UTC
12c5cd7 Merge branch 'ad/commit-have-m-option' into maint "git commit" misbehaved in a few minor ways when an empty message is given via -m '', all of which has been corrected. * ad/commit-have-m-option: commit: do not ignore an empty message given by -m '' commit: --amend -m '' silently fails to wipe message 02 May 2016, 21:24:09 UTC
f5e16b2 Merge branch 'sb/submodule-helper-clone-regression-fix' into maint A partial rewrite of "git submodule" in the 2.7 timeframe changed the way the gitdir: pointer in the submodules point at the real repository location to use absolute paths by accident. This has been corrected. * sb/submodule-helper-clone-regression-fix: submodule--helper, module_clone: catch fprintf failure submodule--helper: do not borrow absolute_path() result for too long submodule--helper, module_clone: always operate on absolute paths submodule--helper clone: create the submodule path just once submodule--helper: fix potential NULL-dereference recursive submodules: test for relative paths 02 May 2016, 21:24:08 UTC
75375ea Merge branch 'jk/branch-shortening-funny-symrefs' into maint A change back in version 2.7 to "git branch" broke display of a symbolic ref in a non-standard place in the refs/ hierarchy (we expect symbolic refs to appear in refs/remotes/*/HEAD to point at the primary branch the remote has, and as .git/HEAD to point at the branch we locally checked out). * jk/branch-shortening-funny-symrefs: branch: fix shortening of non-remote symrefs 02 May 2016, 21:24:07 UTC
a3fa565 Merge branch 'es/format-patch-doc-hide-no-patch' into maint "git format-patch --help" showed `-s` and `--no-patch` as if these are valid options to the command. We already hide `--patch` option from the documentation, because format-patch is about showing the diff, and the documentation now hides these options as well. * es/format-patch-doc-hide-no-patch: git-format-patch.txt: don't show -s as shorthand for multiple options 02 May 2016, 21:24:06 UTC
3c383a3 Merge branch 'ky/branch-m-worktree' into maint When "git worktree" feature is in use, "git branch -m" renamed a branch that is checked out in another worktree without adjusting the HEAD symbolic ref for the worktree. * ky/branch-m-worktree: set_worktree_head_symref(): fix error message branch -m: update all per-worktree HEADs refs: add a new function set_worktree_head_symref 02 May 2016, 21:24:05 UTC
a412714 Merge branch 'ky/branch-d-worktree' into maint When "git worktree" feature is in use, "git branch -d" allowed deletion of a branch that is checked out in another worktree * ky/branch-d-worktree: branch -d: refuse deleting a branch which is currently checked out 02 May 2016, 21:24:05 UTC
8591654 Merge branch 'jk/check-repository-format' into maint The repository set-up sequence has been streamlined (the biggest change is that there is no longer git_config_early()), so that we do not attempt to look into refs/* when we know we do not have a Git repository. * jk/check-repository-format: verify_repository_format: mark messages for translation setup: drop repository_format_version global setup: unify repository version callbacks init: use setup.c's repo version verification setup: refactor repo format reading and verification config: drop git_config_early check_repository_format_gently: stop using git_config_early lazily load core.sharedrepository wrap shared_repository global in get/set accessors setup: document check_repository_format() 02 May 2016, 21:24:04 UTC
ffaa7c5 Merge branch 'ew/send-email-readable-message-id' into maint "git send-email" now uses a more readable timestamps when formulating a message ID. * ew/send-email-readable-message-id: send-email: more meaningful Message-ID 02 May 2016, 21:24:04 UTC
fa72245 .mailmap: update to my shorter email address Following f916ab0ccc ("send-email: more meaningful Message-ID"), my own email address is too long :x While I could have an even shorter address by one character with "yhbt.net", "80x24.org" is more representative of my hacking-related pursuits. Signed-off-by: Eric Wong <e@80x24.org> Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 02 May 2016, 20:29:42 UTC
2e39a24 Documentation: fix typo 'In such these cases' Signed-off-by: René Nyffenegger <mail@renenyffenegger.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> 02 May 2016, 19:45:02 UTC
0e5d028 Documentation: add setup instructions for Travis CI Also change UK english "behaviour" to US english "behavior". Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 02 May 2016, 18:31:44 UTC
bb05510 t5510: run auto-gc in the foreground The last test added to 't5510-fetch' in 0898c9628104 (fetch: release pack files before garbage-collecting, 2016-01-13) may sporadically trigger following error message from the test harness: rm: cannot remove 'trash directory.t5510-fetch/auto-gc/.git': Directory not empty The test in question forces an auto-gc, which, if the system supports it, runs in the background by default, and occasionally takes long enough for the test to finish and for 'test_done' to start housekeeping. This can lead to the test's 'git gc --auto' in the background and 'test_done's 'rm -rf $trash' in the foreground racing each other to create and delete files and directories. It might just happen that 'git gc' re-creates a directory that 'rm -rf' already visited and removed, which ultimately triggers the above error. Disable detaching the auto-gc process to ensure that it finishes before the test can continue, thus avoiding this racy situation. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Reviewed-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 02 May 2016, 18:28:04 UTC
f924b52 Windows: add pthread_sigmask() that does nothing A previous change introduced a call to pthread_sigmask() in order to block SIGPIPE in a thread. Since there are no signal facilities on Windows that are similar to POSIX signals, just ignore the request to block the signal. In the particular case, the effect of blocking SIGPIPE on POSIX is that write() calls return EPIPE when the reader closes the pipe. This is how write() behaves on Windows. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 02 May 2016, 18:22:24 UTC
60115f5 Git 2.8.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 April 2016, 21:19:11 UTC
0c1a8ec Merge branch 'js/mingw-tests-2.8' into maint Code clean-up. * js/mingw-tests-2.8: Windows: shorten code by re-using convert_slashes() 29 April 2016, 21:16:01 UTC
4dda133 Merge branch 'ep/trace-doc-sample-fix' into maint Fix a typo in an example in the trace API documentation. * ep/trace-doc-sample-fix: api-trace.txt: fix typo 29 April 2016, 21:16:00 UTC
98eef48 Merge branch 'jc/makefile-redirection-stderr' into maint A minor fix in the Makefile. * jc/makefile-redirection-stderr: Makefile: fix misdirected redirections 29 April 2016, 21:15:59 UTC
a470839 Merge branch 'ak/use-hashmap-iter-first-in-submodule-config' into maint Minor code cleanup. * ak/use-hashmap-iter-first-in-submodule-config: submodule-config: use hashmap_iter_first() 29 April 2016, 21:15:58 UTC
002dd77 Merge branch 'tb/blame-force-read-cache-to-workaround-safe-crlf' into maint When running "git blame $path" with unnormalized data in the index for the path, the data in the working tree was blamed, even though "git add" would not have changed what is already in the index, due to "safe crlf" that disables the line-end conversion. It has been corrected. * tb/blame-force-read-cache-to-workaround-safe-crlf: correct blame for files commited with CRLF 29 April 2016, 21:15:58 UTC
18c554b Merge branch 'sk/send-pack-all-fix' into maint "git send-pack --all <there>" was broken when its command line option parsing was written in the 2.6 timeframe. * sk/send-pack-all-fix: git-send-pack: fix --all option when used with directory 29 April 2016, 21:15:57 UTC
b96c396 Merge branch 'sg/diff-multiple-identical-renames' into maint "git diff -M" used to work better when two originally identical files A and B got renamed to X/A and X/B by pairing A to X/A and B to X/B, but this was broken in the 2.0 timeframe. * sg/diff-multiple-identical-renames: diffcore: fix iteration order of identical files during rename detection 29 April 2016, 21:15:55 UTC
3bb56a9 Merge branch 'ss/msvc' into maint Build updates for MSVC. * ss/msvc: MSVC: use shipped headers instead of fallback definitions MSVC: vsnprintf in Visual Studio 2015 doesn't need SNPRINTF_SIZE_CORR any more 29 April 2016, 21:15:54 UTC
9e220fe t9824: fix wrong reference value 0492eb48 (t9824: fix broken &&-chain in a subshell, 2016-04-24) revealed a test that was broken from the beginning, as it expected a wrong size. The expected size of the file under test is 39 bytes. The test checked that the size is 13 bytes, but this was not noticed because it was breaking the &&-chain. Fix the reference value to make the test pass. Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 April 2016, 17:34:32 UTC
82f2567 git-p4: fix Git LFS pointer parsing Git LFS 1.2.0 removed a preamble from the output of the 'git lfs pointer' command [1] which broke the parsing of this output. Adjust the parser to support the old and the new format. Please note that this patch slightly changes the second return parameter from a list of LF terminated strings to a single string that contains a number of LF characters. [1] https://github.com/github/git-lfs/commit/da2935d9a739592bc775c98d8ef4df9c72ea3b43 Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Helped-by: Sebastian Schuberth <sschuberth@gmail.com> Helped-by: Ben Woosley <ben.woosley@gmail.com> Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 April 2016, 17:03:13 UTC
3d319f2 travis-ci: express Linux/OS X dependency versions more clearly The Git Travis CI OSX build always installs the latest versions of Git LFS and Perforce via brew and the Linux build installs fixed versions. Consequently new LFS/Perforce versions can break the OS X build even if there is no change in Git. Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 April 2016, 17:03:09 UTC
9cea46c pack-objects: warn on split packs disabling bitmaps It can be tempting for a server admin to want a stable set of long-lived packs for dumb clients; but also want to enable bitmaps to serve smart clients more quickly. Unfortunately, such a configuration is impossible; so at least warn users of this incompatibility since commit 21134714 (pack-objects: turn off bitmaps when we split packs, 2014-10-16). Tested the warning by inspecting the output of: make -C t t5310-pack-bitmaps.sh GIT_TEST_OPTS=-v Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 April 2016, 16:58:14 UTC
99dab16 submodule-config: don't shadow `cache` Lots of internal functions in submodule-confic.c have a first parameter `struct submodule_cache *cache`, which currently always refers to the global variable `cache` in the file. To avoid confusion rename the global `cache` variable. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 April 2016, 16:56:16 UTC
270cd9e config.c: drop local variable As `ret` is not used for anything except determining an early return, we don't need a variable for that. Drop it. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 April 2016, 16:56:14 UTC
376eb60 config doc: improve exit code listing The possible reasons for exiting are now ordered by the exit code value. While at it, rewrite the `can not write to the config file` to `the config file cannot be written` to be grammatically correct and a proper sentence. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 April 2016, 18:32:24 UTC
1fb3fb4 git-p4 tests: time_in_seconds should use $PYTHON_PATH The time_in_seconds script should use $PYTHON_PATH, rather than just hard-coded python, so that users can override which version gets used, as is done for other python invocations. Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 April 2016, 17:48:32 UTC
8409681 git-p4 tests: work with python3 as well as python2 Update the git-p4 tests so that they work with both Python2 and Python3. We have to be explicit about the difference between Unicode text strings (Python3 default) and raw binary strings which will be exchanged with Perforce. Additionally, print always takes parentheses in Python3. Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 April 2016, 17:48:13 UTC
d1deaf4 git-p4 tests: cd to / before running python The python one-liner for getting the current time prints out error messages if the current directory is deleted while it is running if using python3. Avoid these messages by switching to "/" before running it. This problem does not arise if using python2. Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 April 2016, 17:47:02 UTC
060e776 remote.c: spell __attribute__ correctly We want to tell the compiler that error_buf() uses printf()-style arguments via the __attribute__ mechanism, but the original commit (3a429d0), forgot the trailing "__". This happens to work with real GNUC-compatible compilers like gcc and clang, but confuses our fallback macro in git-compat-util.h, which only matches the official name (and thus the build fails on compilers like Visual Studio). Reported-by: Philip Oakley <philipoakley@iee.org> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 25 April 2016, 22:32:23 UTC
cce076e difftool/mergetool: make the form of yes/no questions consistent Every yes/no question in difftool/mergetool scripts has slightly different form, and none of them is consistent with the form git itself uses. Make the form of all the questions consistent with the form used by git. Reviewed-by: John Keeping <john@keeping.me.uk> Signed-off-by: Nikola Forró <nforro@redhat.com> Acked-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 25 April 2016, 22:15:17 UTC
625efa9 Merge tag 'l10n-2.8.0-rnd3-fr' of git://github.com/git-l10n/git-po into maint l10n-2.8.0-rnd3-fr * tag 'l10n-2.8.0-rnd3-fr' of git://github.com/git-l10n/git-po: l10n: fr: don't translate "merge" as a parameter l10n: fr: change "id de clé" to match "id-clé" l10n: fr: fix wrongly translated option name l10n: fr: fix transcation of "dir" 25 April 2016, 20:36:26 UTC
0d6b21e send-email: fix grammo in the prompt that asks e-mail recipients The message, which dates back to the very original version 83b24437 made in 2005, sounds clumsy, grammatically incorrect, and is hard to understand. Reported-by: John Darrington <john@darrington.wattle.id.au> Signed-off-by: Junio C Hamano <gitster@pobox.com> 25 April 2016, 20:35:38 UTC
d16df0c string_list: use string-list API in unsorted_string_list_lookup() Using the string-list API in function unsorted_string_list_lookup() makes the code more readable. Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 25 April 2016, 18:48:27 UTC
0492eb4 t9824: fix broken &&-chain in a subshell Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Acked-by: Lars Shneider Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 April 2016, 19:36:19 UTC
2ee0fca Merge branch 'fr_v2.8.0_r3' of git://github.com/jnavila/git into maint * 'fr_v2.8.0_r3' of git://github.com/jnavila/git: l10n: fr: don't translate "merge" as a parameter l10n: fr: change "id de clé" to match "id-clé" l10n: fr: fix wrongly translated option name l10n: fr: fix transcation of "dir" 24 April 2016, 12:36:34 UTC
d5425d1 mmap(win32): avoid expensive fstat() call On Windows, we have to emulate the fstat() call to fill out information that takes extra effort to obtain, such as the file permissions/type. If all we want is the file size, we can use the much cheaper GetFileSizeEx() function (available since Windows XP). Suggested by Philip Kelley. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 April 2016, 22:01:16 UTC
7ce7ee2 mmap(win32): avoid copy-on-write when it is unnecessary Often we are mmap()ing read-only. In those cases, it is wasteful to map in copy-on-write mode. Even worse: it can cause errors where we run out of space in the page file. So let's be extra careful to map files in read-only mode whenever possible. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 April 2016, 22:01:15 UTC
6a730e1 win32mmap: set errno appropriately It is not really helpful when a `git fetch` fails with the message: fatal: mmap failed: No error In the particular instance encountered by a colleague of yours truly, the Win32 error code was ERROR_COMMITMENT_LIMIT which means that the page file is not big enough. Let's make the message fatal: mmap failed: File too large instead, which is only marginally better, but which can be associated with the appropriate work-around: setting `core.packedGitWindowSize` to a relatively small value. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 April 2016, 22:01:14 UTC
6594883 wrapper.c: delete dead function git_mkstemps() Its last call site was replaced by mks_tempfile_ts() in 284098f (diff: use tempfile module - 2015-08-12) and there's a good chance mks_tempfile_ts will continue to successfully handle this job. Delete it. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 April 2016, 21:07:55 UTC
423b592 dir.c: remove dead function fnmatch_icase() It was largely replaced by fnmatch_icase_mem() and its last use was in 84b8b5d (remove match_pathspec() in favor of match_pathspec_depth() - 2013-07-14). Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 April 2016, 21:07:45 UTC
0ff7410 test-lib: simplify '--option=value' parsing To get the 'value' from '--option=value', test-lib.sh parses said option running 'expr' with a regexp. This involves a subshell, an external process, and a lot of non-alphanumeric characters in the regexp. Use a much simpler POSIX-defined shell parameter expansion instead to do the same. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 22 April 2016, 20:55:28 UTC
c4b2751 t5504: drop sigpipe=ok from push tests These were added by 8bf4bec (add "ok=sigpipe" to test_must_fail and use it to fix flaky tests, 2015-11-27) because we would racily die via SIGPIPE when the pack was rejected by the other side. But since we have recently de-flaked send-pack, we should be able to tighten up these tests (including re-adding the expected output checks). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 April 2016, 20:33:59 UTC
df85757 fetch-pack: isolate sigpipe in demuxer thread In commit 9ff18fa (fetch-pack: ignore SIGPIPE in sideband demuxer, 2016-02-24), we started using sigchain_push() to ignore SIGPIPE in the async demuxer thread. However, this is rather clumsy, as it ignores SIGPIPE for the entire process, including the main thread. At the time we didn't have any per-thread signal support, but we now we do. Let's use it. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 April 2016, 20:33:56 UTC
3e8b06d send-pack: isolate sigpipe in demuxer thread If we get an error from pack-objects, we may exit send_pack() early, before reading the server's status response. In such a case, we may racily see SIGPIPE from our async demuxer (which is trying to write that status back to us), and we'd prefer to continue pushing the error up the call stack, rather than taking down the whole process with signal death. This is safe to do because our demuxer just calls recv_sideband, whose data writes are all done with write_or_die(), which will notice SIGPIPE. We do also write sideband 2 to stderr, and we would no longer die on SIGPIPE there (if it were piped in the first place, and if the piped program went away). But that's probably a good thing, as it likewise should not abort the push process at all (neither immediately by signal, nor eventually by reporting failure back to the main thread). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 April 2016, 20:33:53 UTC
c792d7b run-command: teach async threads to ignore SIGPIPE Async processes can be implemented as separate forked processes, or as threads (depending on the NO_PTHREADS setting). In the latter case, if an async thread gets SIGPIPE, it takes down the whole process. This is obviously bad if the main process was not otherwise going to die, but even if we were going to die, it means the main process does not have a chance to report a useful error message. There's also the small matter that forked async processes will not take the main process down on a signal, meaning git will behave differently depending on the NO_PTHREADS setting. This patch fixes it by adding a new flag to "struct async" to block SIGPIPE just in the async thread. In theory, this should always be on (which makes async threads behave more like async processes), but we would first want to make sure that each async process we spawn is careful about checking return codes from write() and would not spew endlessly into a dead pipe. So let's start with it as optional, and we can enable it for specific sites in future patches. The natural name for this option would be "ignore_sigpipe", since that's what it does for the threaded case. But since that name might imply that we are ignoring it in all cases (including the separate-process one), let's call it "isolate_sigpipe". What we are really asking for is isolation. I.e., not to have our main process taken down by signals spawned by the async process. How that is implemented is up to the run-command code. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 April 2016, 20:33:53 UTC
739cf49 send-pack: close demux pipe before finishing async process This fixes a deadlock on the client side when pushing a large number of refs from a corrupted repo. There's a reproduction script below, but let's start with a human-readable explanation. The client side of a push goes something like this: 1. Start an async process to demux sideband coming from the server. 2. Run pack-objects to send the actual pack, and wait for its status via finish_command(). 3. If pack-objects failed, abort immediately. 4. If pack-objects succeeded, read the per-ref status from the server, which is actually coming over a pipe from the demux process started in step 1. We run finish_async() to wait for and clean up the demux process in two places. In step 3, if we see an error, we want it to end early. And after step 4, it should be done writing any data and we are just cleaning it up. Let's focus on the error case first. We hand the output descriptor to the server over to pack-objects. So by the time it has returned an error to us, it has closed the descriptor and the server has gotten EOF. The server will mark all refs as failed with "unpacker error" and send us back the status for each (followed by EOF). This status goes to the demuxer thread, which relays it over a pipe to the main thread. But the main thread never even tries reading the status. It's trying to bail because of the pack-objects error, and is waiting for the demuxer thread to finish. If there are a small number of refs, that's OK; the demuxer thread writes into the pipe buffer, sees EOF from the server, and quits. But if there are a large number of refs, it may block on write() back to the main thread, leading to a deadlock (the main thread is waiting for the demuxer to finish, the demuxer is waiting for the main thread to read). We can break this deadlock by closing the pipe between the demuxer and the main thread before calling finish_async(). Then the demuxer gets a write() error and exits. The non-error case usually just works, because we will have read all of the data from the other side. We do close demux.out already, but we only do so _after_ calling finish_async(). This is OK because there shouldn't be any more data coming from the server. But technically we've only read to a flush packet, and a broken or malicious server could be sending more cruft. In such a case, we would hit the same deadlock. Closing the pipe first doesn't affect the normal case, and means that for a cruft-sending server, we'll notice a write() error rather than deadlocking. Note that when write() sees this error, we'll actually deliver SIGPIPE to the thread, which will take down the whole process (unless we're compiled with NO_PTHREADS). This isn't ideal, but it's an improvement over the status quo, which is deadlocking. And SIGPIPE handling in async threads is a bigger problem that we can deal with separately. A simple reproduction for the error case is below. It's technically racy (we could exit the main process and take down the async thread with us before it even reads the status), though in practice it seems to fail pretty consistently. git init repo && cd repo && # make some commits; we need two so we can simulate corruption # in the history later. git commit --allow-empty -m one && one=$(git rev-parse HEAD) && git commit --allow-empty -m two && two=$(git rev-parse HEAD) && # now make a ton of refs; our goal here is to overflow the pipe buffer # when reporting the ref status, which will cause the demuxer to block # on write() for i in $(seq 20000); do echo "create refs/heads/this-is-a-really-long-branch-name-$i $two" done | git update-ref --stdin && # now make a corruption in the history such that pack-objects will fail rm -vf .git/objects/$(echo $one | sed 's}..}&/}') && # and then push the result git init --bare dst.git && git push --mirror dst.git Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 April 2016, 20:33:53 UTC
36b1437 replace --edit: respect core.editor We simply need to read the config, is all. This fixes https://github.com/git-for-windows/git/issues/733 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 20 April 2016, 16:11:36 UTC
31f3c86 travis-ci: update Git-LFS and P4 to the latest version Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 April 2016, 20:39:36 UTC
a127331 mv: allow moving nested submodules When directories are moved using `git mv` all files in the directory have been just moved, but no further action was taken on them. This was done by assigning the mode = WORKING_DIRECTORY to the files inside a moved directory. submodules however need to update their link to the git directory as well as updates to the .gitmodules file. By removing the condition of `mode != INDEX` (the remaining modes are BOTH and WORKING_DIRECTORY) for the required submodule actions, we perform these for submodules in a moved directory. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 April 2016, 18:54:50 UTC
6a66362 Prepare for 2.8.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 April 2016, 01:58:11 UTC
a5953f6 Merge branch 'jv/merge-nothing-into-void' into maint "git merge FETCH_HEAD" dereferenced NULL pointer when merging nothing into an unborn history (which is arguably unusual usage, which perhaps was the reason why nobody noticed it). * jv/merge-nothing-into-void: merge: fix NULL pointer dereference when merging nothing into void 15 April 2016, 01:57:49 UTC
ea7fefb Merge branch 'ss/commit-squash-msg' into maint When "git merge --squash" stopped due to conflict, the concluding "git commit" failed to read in the SQUASH_MSG that shows the log messages from all the squashed commits. * ss/commit-squash-msg: commit: do not lose SQUASH_MSG contents 15 April 2016, 01:57:48 UTC
8cad7fc Merge branch 'jk/send-email-rtrim-mailrc-alias' into maint "git send-email" had trouble parsing alias file in mailrc format when lines in it had trailing whitespaces on them. * jk/send-email-rtrim-mailrc-alias: send-email: ignore trailing whitespace in mailrc alias file 15 April 2016, 01:57:47 UTC
517736f Merge branch 'da/mergetool-delete-delete-conflict' into maint "git mergetool" did not work well with conflicts that both sides deleted. * da/mergetool-delete-delete-conflict: mergetool: honor tempfile configuration when resolving delete conflicts mergetool: support delete/delete conflicts 15 April 2016, 01:57:47 UTC
237e6db Merge branch 'jk/startup-info' into maint The startup_info data, which records if we are working inside a repository (among other things), are now uniformly available to Git subcommand implementations, and Git avoids attempting to touch references when we are not in a repository. * jk/startup-info: use setup_git_directory() in test-* programs grep: turn off gitlink detection for --no-index mailmap: do not resolve blobs in a non-repository remote: don't resolve HEAD in non-repository setup: set startup_info->have_repository more reliably setup: make startup_info available everywhere 15 April 2016, 01:57:46 UTC
back to top