860b05b | Junio C Hamano | 17 March 2015, 23:01:28 UTC | Merge branch 'ak/git-done-help-cleanup' Code simplification. * ak/git-done-help-cleanup: git: make was_alias and done_help non-static | 17 March 2015, 23:01:28 UTC |
f0b7ab3 | Junio C Hamano | 17 March 2015, 23:01:27 UTC | Merge branch 'rs/zip-text' "git archive" can now be told to set the 'text' attribute in the resulting zip archive. * rs/zip-text: archive-zip: mark text files in archives | 17 March 2015, 23:01:27 UTC |
6902c4d | Junio C Hamano | 17 March 2015, 23:01:26 UTC | Merge branch 'rs/deflate-init-cleanup' Code simplification. * rs/deflate-init-cleanup: zlib: initialize git_zstream in git_deflate_init{,_gzip,_raw} | 17 March 2015, 23:01:26 UTC |
52cae64 | Junio C Hamano | 14 March 2015, 06:11:50 UTC | Sync with 2.3.3 | 14 March 2015, 06:11:50 UTC |
bb85775 | Junio C Hamano | 14 March 2015, 05:57:25 UTC | Git 2.3.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 March 2015, 05:57:25 UTC |
4b23b5d | Junio C Hamano | 14 March 2015, 05:56:12 UTC | Merge branch 'mr/doc-clean-f-f' into maint Documentation update. * mr/doc-clean-f-f: Documentation/git-clean.txt: document that -f may need to be given twice | 14 March 2015, 05:56:12 UTC |
113bc16 | Junio C Hamano | 14 March 2015, 05:56:11 UTC | Merge branch 'ak/t5516-typofix' into maint * ak/t5516-typofix: t5516: correct misspelled pushInsteadOf | 14 March 2015, 05:56:11 UTC |
bb8f6de | Junio C Hamano | 14 March 2015, 05:56:09 UTC | Merge branch 'jc/diff-test-updates' into maint Test clean-up. * jc/diff-test-updates: test_ln_s_add: refresh stat info of fake symbolic links t4008: modernise style t/diff-lib: check exact object names in compare_diff_raw tests: do not borrow from COPYING and README from the real source t4010: correct expected object names t9300: correct expected object names t4008: correct stale comments | 14 March 2015, 05:56:10 UTC |
3aab60b | Junio C Hamano | 14 March 2015, 05:56:08 UTC | Merge branch 'jk/diffcore-rename-duplicate' into maint A corrupt input to "git diff -M" can cause us to segfault. * jk/diffcore-rename-duplicate: diffcore-rename: avoid processing duplicate destinations diffcore-rename: split locate_rename_dst into two functions | 14 March 2015, 05:56:08 UTC |
ae8ada4 | Junio C Hamano | 14 March 2015, 05:56:07 UTC | Merge branch 'bw/kwset-use-unsigned' into maint The borrowed code in kwset API did not follow our usual convention to use "unsigned char" to store values that range from 0-255. * bw/kwset-use-unsigned: kwset: use unsigned char to store values with high-bit set | 14 March 2015, 05:56:07 UTC |
2408f3b | Junio C Hamano | 14 March 2015, 05:56:06 UTC | Merge branch 'nd/grep-exclude-standard-help-fix' into maint Description given by "grep -h" for its --exclude-standard option was phrased poorly. * nd/grep-exclude-standard-help-fix: grep: correct help string for --exclude-standard | 14 March 2015, 05:56:06 UTC |
3af1bca | Junio C Hamano | 14 March 2015, 05:56:05 UTC | Merge branch 'mg/doc-remote-tags-or-not' into maint "git remote add" mentioned "--tags" and "--no-tags" and was not clear that fetch from the remote in the future will use the default behaviour when neither is given to override it. * mg/doc-remote-tags-or-not: git-remote.txt: describe behavior without --tags and --no-tags | 14 March 2015, 05:56:05 UTC |
a4b4f9b | Junio C Hamano | 14 March 2015, 05:56:04 UTC | Merge branch 'mk/diff-shortstat-dirstat-fix' into maint "git diff --shortstat --dirstat=changes" showed a dirstat based on lines that was never asked by the end user in addition to the dirstat that the user asked for. * mk/diff-shortstat-dirstat-fix: diff --shortstat --dirstat: remove duplicate output | 14 March 2015, 05:56:04 UTC |
30a52c1 | Junio C Hamano | 14 March 2015, 05:56:03 UTC | Merge branch 'ms/submodule-update-config-doc' into maint The interaction between "git submodule update" and the submodule.*.update configuration was not clearly documented. * ms/submodule-update-config-doc: submodule: improve documentation of update subcommand | 14 March 2015, 05:56:03 UTC |
5244a31 | Junio C Hamano | 14 March 2015, 05:56:02 UTC | Merge branch 'jc/apply-beyond-symlink' into maint "git apply" was not very careful about reading from, removing, updating and creating paths outside the working tree (under --index/--cached) or the current directory (when used as a replacement for GNU patch). * jc/apply-beyond-symlink: apply: do not touch a file beyond a symbolic link apply: do not read from beyond a symbolic link apply: do not read from the filesystem under --index apply: reject input that touches outside the working area | 14 March 2015, 05:56:02 UTC |
1469d99 | Junio C Hamano | 14 March 2015, 05:56:00 UTC | Merge branch 'rs/daemon-interpolate' into maint "git daemon" looked up the hostname even when "%CH" and "%IP" interpolations are not requested, which was unnecessary. * rs/daemon-interpolate: daemon: use callback to build interpolated path daemon: look up client-supplied hostname lazily | 14 March 2015, 05:56:01 UTC |
c722ba4 | Junio C Hamano | 14 March 2015, 05:55:59 UTC | Merge branch 'jk/daemon-interpolate' into maint The "interpolated-path" option of "git daemon" inserted any string client declared on the "host=" capability request without checking. Sanitize and limit %H and %CH to a saner and a valid DNS name. * jk/daemon-interpolate: daemon: sanitize incoming virtual hostname t5570: test git-daemon's --interpolated-path option git_connect: let user override virtual-host we send to daemon | 14 March 2015, 05:55:59 UTC |
7a9409c | Junio C Hamano | 10 March 2015, 20:53:49 UTC | Post 2.3 cycle (batch #9) Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 March 2015, 20:53:49 UTC |
82b7e65 | Junio C Hamano | 10 March 2015, 20:52:39 UTC | Merge branch 'mh/expire-updateref-fixes' Various issues around "reflog expire", e.g. using --updateref when expiring a reflog for a symbolic reference, have been corrected and/or made saner. * mh/expire-updateref-fixes: reflog_expire(): never update a reference to null_sha1 reflog_expire(): ignore --updateref for symbolic references reflog: improve and update documentation struct ref_lock: delete the force_write member lock_ref_sha1_basic(): do not set force_write for missing references write_ref_sha1(): move write elision test to callers write_ref_sha1(): remove check for lock == NULL | 10 March 2015, 20:52:40 UTC |
2d659f7 | Junio C Hamano | 10 March 2015, 20:52:38 UTC | Merge branch 'jk/diffcore-rename-duplicate' A corrupt input to "git diff -M" can cause us to segfault. * jk/diffcore-rename-duplicate: diffcore-rename: avoid processing duplicate destinations diffcore-rename: split locate_rename_dst into two functions | 10 March 2015, 20:52:39 UTC |
d67f9d5 | Junio C Hamano | 06 March 2015, 23:05:39 UTC | Post 2.3 cycle (batch #8) Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 March 2015, 23:05:39 UTC |
52d5bf7 | Junio C Hamano | 06 March 2015, 23:02:33 UTC | Merge branch 'bw/kwset-use-unsigned' The borrowed code in kwset API did not follow our usual convention to use "unsigned char" to store values that range from 0-255. * bw/kwset-use-unsigned: kwset: use unsigned char to store values with high-bit set | 06 March 2015, 23:02:33 UTC |
36ab768 | Junio C Hamano | 06 March 2015, 23:02:32 UTC | Merge branch 'ak/t5516-typofix' * ak/t5516-typofix: t5516: correct misspelled pushInsteadOf | 06 March 2015, 23:02:32 UTC |
a11c508 | Junio C Hamano | 06 March 2015, 23:02:31 UTC | Merge branch 'ms/submodule-update-config-doc' The interaction between "git submodule update" and the submodule.*.update configuration was not clearly documented. * ms/submodule-update-config-doc: submodule: improve documentation of update subcommand | 06 March 2015, 23:02:31 UTC |
83ac11f | Junio C Hamano | 06 March 2015, 23:02:29 UTC | Merge branch 'ja/clean-confirm-i18n' The prompt string "remove?" used when "git clean -i" asks the user if a path should be removed was localizable, but the code always expects a substring of "yes" to tell it to go ahead. Always show [y/N] as part of this prompt to hint that the answer is not (yet) localized. * ja/clean-confirm-i18n: Add hint interactive cleaning | 06 March 2015, 23:02:30 UTC |
b6488fe | Junio C Hamano | 06 March 2015, 23:02:28 UTC | Merge branch 'mk/diff-shortstat-dirstat-fix' "git diff --shortstat --dirstat=changes" showed a dirstat based on lines that was never asked by the end user in addition to the dirstat that the user asked for. * mk/diff-shortstat-dirstat-fix: diff --shortstat --dirstat: remove duplicate output | 06 March 2015, 23:02:29 UTC |
79de649 | Junio C Hamano | 06 March 2015, 23:02:27 UTC | Merge branch 'mg/doc-remote-tags-or-not' "git remote add" mentioned "--tags" and "--no-tags" and was not clear that fetch from the remote in the future will use the default behaviour when neither is given to override it. * mg/doc-remote-tags-or-not: git-remote.txt: describe behavior without --tags and --no-tags | 06 March 2015, 23:02:28 UTC |
a3eea73 | Junio C Hamano | 06 March 2015, 23:02:27 UTC | Merge branch 'nd/grep-exclude-standard-help-fix' Description given by "grep -h" for its --exclude-standard option was phrased poorly. * nd/grep-exclude-standard-help-fix: grep: correct help string for --exclude-standard | 06 March 2015, 23:02:27 UTC |
34e4e05 | Junio C Hamano | 06 March 2015, 23:02:26 UTC | Merge branch 'mr/doc-clean-f-f' Documentation update. * mr/doc-clean-f-f: Documentation/git-clean.txt: document that -f may need to be given twice | 06 March 2015, 23:02:26 UTC |
74c91d1 | Junio C Hamano | 06 March 2015, 23:02:24 UTC | Merge branch 'ye/http-accept-language' Compilation fix for a recent topic in 'master'. * ye/http-accept-language: gettext.c: move get_preferred_languages() from http.c | 06 March 2015, 23:02:25 UTC |
2588882 | Junio C Hamano | 06 March 2015, 22:59:12 UTC | Sync with 2.3.2 * maint: Git 2.3.2 | 06 March 2015, 22:59:12 UTC |
1165ae6 | Junio C Hamano | 06 March 2015, 22:58:14 UTC | Git 2.3.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 March 2015, 22:58:14 UTC |
f69f5f1 | Junio C Hamano | 06 March 2015, 22:57:58 UTC | Merge branch 'rj/no-xopen-source-for-cygwin' into maint Code cleanups. * rj/no-xopen-source-for-cygwin: git-compat-util.h: remove redundant code | 06 March 2015, 22:57:58 UTC |
f56a5f4 | Junio C Hamano | 06 March 2015, 22:57:57 UTC | Merge branch 'rs/simple-cleanups' into maint Code cleanups. * rs/simple-cleanups: sha1_name: use strlcpy() to copy strings pretty: use starts_with() to check for a prefix for-each-ref: use skip_prefix() to avoid duplicate string comparison connect: use strcmp() for string comparison | 06 March 2015, 22:57:57 UTC |
d86679f | Junio C Hamano | 06 March 2015, 22:57:56 UTC | Merge branch 'mm/am-c-doc' into maint The configuration variable 'mailinfo.scissors' was hard to discover in the documentation. * mm/am-c-doc: Documentation/git-am.txt: mention mailinfo.scissors config variable Documentation/config.txt: document mailinfo.scissors | 06 March 2015, 22:57:56 UTC |
2e7ca27 | Junio C Hamano | 06 March 2015, 22:57:55 UTC | Merge branch 'ew/svn-maint-fixes' into maint Correct a breakage to git-svn around v2.2 era that triggers premature closing of FileHandle. * ew/svn-maint-fixes: Git::SVN::*: avoid premature FileHandle closure git-svn: fix localtime=true on non-glibc environments | 06 March 2015, 22:57:55 UTC |
e1db59e | Junio C Hamano | 06 March 2015, 22:57:54 UTC | Merge branch 'km/send-email-getopt-long-workarounds' into maint Even though we officially haven't dropped Perl 5.8 support, the Getopt::Long package that came with it does not support "--no-" prefix to negate a boolean option; manually add support to help people with older Getopt::Long package. * km/send-email-getopt-long-workarounds: git-send-email.perl: support no- prefix with older GetOptions | 06 March 2015, 22:57:54 UTC |
8fa7975 | Alexander Kuleshov | 02 March 2015, 12:02:37 UTC | git: make was_alias and done_help non-static 'was_alias' variable does not need to store it's value on each iteration in the loop; this variable gets assigned the result of run_argv() every time in the loop before being used. 'done_help' variable does not need to be static variable too if we move it out the loop. Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com> Helped-by: Eric Sunshine <sunshine@sunshineco.com> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 March 2015, 20:03:30 UTC |
9a6f128 | René Scharfe | 05 March 2015, 22:49:46 UTC | zlib: initialize git_zstream in git_deflate_init{,_gzip,_raw} Clear the git_zstream variable at the start of git_deflate_init() etc. so that callers don't have to do that. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 March 2015, 23:46:03 UTC |
4aff646 | René Scharfe | 05 March 2015, 19:06:02 UTC | archive-zip: mark text files in archives Set the text flag for ZIP archive entries that look like text files so that unzip -a can be used to perform end-of-line conversions. Info-ZIP zip does the same. Detect binary files the same way as git diff and git grep do, namely by checking for the attribute "diff" and its negation "-diff", and if none is found by falling back to checking for the presence of NUL bytes in the first few bytes of the file contents. 7-Zip, Windows' built-in ZIP functionality and Info-ZIP unzip without the switch -a are not affected by the change and still extract text files without doing any end-of-line conversions. NB: The actual end-of-line style used in the archive entries doesn't matter to unzip -a, as it converts any CR, CRLF and LF to the line end characters appropriate for the platform it is running on. Suggested-by: Ulrike Fischer <luatex@nililand.de> Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 March 2015, 23:27:48 UTC |
83036f8 | Junio C Hamano | 05 March 2015, 21:16:27 UTC | Sync with maint * maint: Prepare for 2.3.2 | 05 March 2015, 21:16:27 UTC |
3ebda3e | Junio C Hamano | 05 March 2015, 21:15:53 UTC | Prepare for 2.3.2 | 05 March 2015, 21:15:53 UTC |
1e299f5 | Junio C Hamano | 05 March 2015, 21:13:13 UTC | Merge branch 'sb/plug-leak-in-make-cache-entry' into maint "update-index --refresh" used to leak when an entry cannot be refreshed for whatever reason. * sb/plug-leak-in-make-cache-entry: read-cache.c: free cache entry when refreshing fails | 05 March 2015, 21:13:14 UTC |
4e0d620 | Junio C Hamano | 05 March 2015, 21:13:12 UTC | Merge branch 'jk/fast-import-die-nicely-fix' into maint "git fast-import" used to crash when it could not close and conclude the resulting packfile cleanly. * jk/fast-import-die-nicely-fix: fast-import: avoid running end_packfile recursively | 05 March 2015, 21:13:13 UTC |
007f7f6 | Junio C Hamano | 05 March 2015, 21:13:12 UTC | Merge branch 'es/blame-commit-info-fix' into maint "git blame" died, trying to free an uninitialized piece of memory. * es/blame-commit-info-fix: builtin/blame: destroy initialized commit_info only | 05 March 2015, 21:13:12 UTC |
3336757 | Junio C Hamano | 05 March 2015, 21:13:10 UTC | Merge branch 'ab/merge-file-prefix' into maint "git merge-file" did not work correctly in a subdirectory. * ab/merge-file-prefix: merge-file: correctly open files when in a subdir | 05 March 2015, 21:13:11 UTC |
3630be2 | Junio C Hamano | 05 March 2015, 21:13:09 UTC | Merge branch 'ps/submodule-sanitize-path-upon-add' into maint "git submodule add" failed to squash "path/to/././submodule" to "path/to/submodule". * ps/submodule-sanitize-path-upon-add: git-submodule.sh: fix '/././' path normalization | 05 March 2015, 21:13:10 UTC |
cbc8d6d | Junio C Hamano | 05 March 2015, 21:13:08 UTC | Merge branch 'jk/prune-mtime' into maint In v2.2.0, we broke "git prune" that runs in a repository that borrows from an alternate object store. * jk/prune-mtime: sha1_file: fix iterating loose alternate objects for_each_loose_file_in_objdir: take an optional strbuf path | 05 March 2015, 21:13:08 UTC |
f5a191d | Junio C Hamano | 05 March 2015, 21:13:07 UTC | Merge branch 'tc/curl-vernum-output-broken-in-7.11' into maint Certain older vintages of cURL give irregular output from "curl-config --vernum", which confused our build system. * tc/curl-vernum-output-broken-in-7.11: Makefile: handle broken curl version number in version check | 05 March 2015, 21:13:07 UTC |
e591339 | Junio C Hamano | 05 March 2015, 21:13:06 UTC | Merge branch 'es/squelch-openssl-warnings-on-macosx' into maint An earlier workaround to squelch unhelpful deprecation warnings from the complier on Mac OSX unnecessarily set minimum required version of the OS, which the user might want to raise (or lower) for other reasons. * es/squelch-openssl-warnings-on-macosx: git-compat-util: do not step on MAC_OS_X_VERSION_MIN_REQUIRED | 05 March 2015, 21:13:07 UTC |
c11c154 | Junio C Hamano | 05 March 2015, 21:13:05 UTC | Merge branch 'jc/conf-var-doc' into maint Longstanding configuration variable naming rules has been added to the documentation. * jc/conf-var-doc: CodingGuidelines: describe naming rules for configuration variables config.txt: mark deprecated variables more prominently config.txt: clarify that add.ignore-errors is deprecated | 05 March 2015, 21:13:05 UTC |
518d1c3 | Junio C Hamano | 05 March 2015, 21:13:04 UTC | Merge branch 'av/wincred-with-at-in-username-fix' into maint The credential helper for Windows (in contrib/) used to mishandle a user name with an at-sign in it. * av/wincred-with-at-in-username-fix: wincred: fix get credential if username has "@" | 05 March 2015, 21:13:04 UTC |
ab09f58 | Junio C Hamano | 05 March 2015, 21:13:03 UTC | Merge branch 'ch/new-gpg-drops-rfc-1991' into maint Older GnuPG implementations may not correctly import the keyring material we prepare for the tests to use. * ch/new-gpg-drops-rfc-1991: t/lib-gpg: sanity-check that we can actually sign t/lib-gpg: include separate public keys in keyring.gpg | 05 March 2015, 21:13:04 UTC |
069dea8 | Junio C Hamano | 05 March 2015, 21:13:03 UTC | Merge branch 'jc/remote-set-url-doc' into maint Clarify in the documentation that "remote.<nick>.pushURL" and "remote.<nick>.URL" are there to name the same repository accessed via different transports, not two separate repositories. * jc/remote-set-url-doc: Documentation/git-remote.txt: stress that set-url is not for triangular | 05 March 2015, 21:13:03 UTC |
abfed73 | Junio C Hamano | 05 March 2015, 21:13:02 UTC | Merge branch 'jk/pack-bitmap' into maint The pack bitmap support did not build with older versions of GCC. * jk/pack-bitmap: ewah: fix building with gcc < 3.4.0 | 05 March 2015, 21:13:02 UTC |
2250406 | Junio C Hamano | 05 March 2015, 21:13:00 UTC | Merge branch 'jk/config-no-ungetc-eof' into maint Reading configuration from a blob object, when it ends with a lone CR, use to confuse the configuration parser. * jk/config-no-ungetc-eof: config_buf_ungetc: warn when pushing back a random character config: do not ungetc EOF | 05 March 2015, 21:13:00 UTC |
3bef3c1 | Junio C Hamano | 05 March 2015, 21:12:59 UTC | Merge branch 'jk/decimal-width-for-uintmax' into maint We didn't format an integer that wouldn't fit in "int" but in "uintmax_t" correctly. * jk/decimal-width-for-uintmax: decimal_width: avoid integer overflow | 05 March 2015, 21:12:59 UTC |
b1cffbf | Junio C Hamano | 05 March 2015, 21:12:58 UTC | Merge branch 'jc/push-cert' into maint "git push --signed" gave an incorrectly worded error message when the other side did not support the capability. * jc/push-cert: transport-helper: fix typo in error message when --signed is not supported | 05 March 2015, 21:12:58 UTC |
6db0497 | Junio C Hamano | 05 March 2015, 21:12:57 UTC | Merge branch 'mh/deref-symref-over-helper-transport' into maint "git fetch" over a remote-helper that cannot respond to "list" command could not fetch from a symbolic reference e.g. HEAD. * mh/deref-symref-over-helper-transport: transport-helper: do not request symbolic refs to remote helpers | 05 March 2015, 21:12:57 UTC |
aaa90f5 | Junio C Hamano | 05 March 2015, 21:12:56 UTC | Merge branch 'ks/rebase-i-abbrev' into maint The insn sheet "git rebase -i" creates did not fully honor core.abbrev settings. * ks/rebase-i-abbrev: rebase -i: use full object name internally throughout the script | 05 March 2015, 21:12:56 UTC |
be2804c | Junio C Hamano | 05 March 2015, 21:12:55 UTC | Merge branch 'dp/remove-duplicated-header-inclusion' into maint Code clean-up. * dp/remove-duplicated-header-inclusion: do not include the same header twice | 05 March 2015, 21:12:55 UTC |
552f699 | Junio C Hamano | 05 March 2015, 21:12:54 UTC | Merge branch 'sb/hex-object-name-is-at-most-41-bytes-long' into maint Code clean-up. * sb/hex-object-name-is-at-most-41-bytes-long: hex.c: reduce memory footprint of sha1_to_hex static buffers | 05 March 2015, 21:12:55 UTC |
a628d50 | Junio C Hamano | 05 March 2015, 21:12:53 UTC | Merge branch 'ak/git-pm-typofix' into maint Typofix in comments. * ak/git-pm-typofix: Git.pm: two minor typo fixes | 05 March 2015, 21:12:53 UTC |
8fd37b3 | Junio C Hamano | 05 March 2015, 21:12:52 UTC | Merge branch 'jk/sanity' into maint The tests that wanted to see that file becomes unreadable after running "chmod a-r file", and the tests that wanted to make sure it is not run as root, we used "can we write into the / directory?" as a cheap substitute, but on some platforms that is not a good heuristics. The tests and their prerequisites have been updated to check what they really require. * jk/sanity: test-lib.sh: set prerequisite SANITY by testing what we really need tests: correct misuses of POSIXPERM t/lib-httpd: switch SANITY check for NOT_ROOT | 05 March 2015, 21:12:52 UTC |
5135fef | Junio C Hamano | 05 March 2015, 20:48:18 UTC | Post 2.3 cycle (batch #7) Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 March 2015, 20:48:18 UTC |
fcf04ee | Junio C Hamano | 05 March 2015, 20:45:45 UTC | Merge branch 'ew/svn-fixes' * ew/svn-fixes: git-svn: lazy load some modules | 05 March 2015, 20:45:46 UTC |
a6f9dec | Junio C Hamano | 05 March 2015, 20:45:45 UTC | Merge branch 'ew/svn-maint-fixes' Correct a breakage to git-svn around v2.2 era that triggers premature closing of FileHandle. * ew/svn-maint-fixes: Git::SVN::*: avoid premature FileHandle closure git-svn: fix localtime=true on non-glibc environments | 05 March 2015, 20:45:45 UTC |
42da484 | Junio C Hamano | 05 March 2015, 20:45:44 UTC | Merge branch 'tb/connect-ipv6-parse-fix' We did not parse username followed by literal IPv6 address in SSH transport URLs, e.g. ssh://user@[2001:db8::1]:22/repo.git correctly. * tb/connect-ipv6-parse-fix: t5500: show user name and host in diag-url t5601: add more test cases for IPV6 connect.c: allow ssh://user@[2001:db8::1]/repo.git | 05 March 2015, 20:45:44 UTC |
fa8baa4 | Junio C Hamano | 05 March 2015, 20:45:43 UTC | Merge branch 'jc/diff-test-updates' Test clean-up. * jc/diff-test-updates: test_ln_s_add: refresh stat info of fake symbolic links t4008: modernise style t/diff-lib: check exact object names in compare_diff_raw tests: do not borrow from COPYING and README from the real source t4010: correct expected object names t9300: correct expected object names t4008: correct stale comments | 05 March 2015, 20:45:43 UTC |
8a6444d | Junio C Hamano | 05 March 2015, 20:45:42 UTC | Merge branch 'rs/simple-cleanups' Code cleanups. * rs/simple-cleanups: sha1_name: use strlcpy() to copy strings pretty: use starts_with() to check for a prefix for-each-ref: use skip_prefix() to avoid duplicate string comparison connect: use strcmp() for string comparison | 05 March 2015, 20:45:42 UTC |
ca70473 | Junio C Hamano | 05 March 2015, 20:45:41 UTC | Merge branch 'rj/no-xopen-source-for-cygwin' Code cleanups. * rj/no-xopen-source-for-cygwin: git-compat-util.h: remove redundant code | 05 March 2015, 20:45:41 UTC |
fec7b79 | Junio C Hamano | 05 March 2015, 20:45:40 UTC | Merge branch 'mm/am-c-doc' The configuration variable 'mailinfo.scissors' was hard to discover in the documentation. * mm/am-c-doc: Documentation/git-am.txt: mention mailinfo.scissors config variable Documentation/config.txt: document mailinfo.scissors | 05 March 2015, 20:45:40 UTC |
fd9de86 | Junio C Hamano | 05 March 2015, 20:45:39 UTC | Merge branch 'mh/refs-have-new' Simplify the ref transaction API around how "the ref should be pointing at this object" is specified. * mh/refs-have-new: refs.h: remove duplication in function docstrings update_ref(): improve documentation ref_transaction_verify(): new function to check a reference's value ref_transaction_delete(): check that old_sha1 is not null_sha1 ref_transaction_create(): check that new_sha1 is valid commit: avoid race when creating orphan commits commit: add tests of commit races ref_transaction_delete(): remove "have_old" parameter ref_transaction_update(): remove "have_old" parameter struct ref_update: move "have_old" into "flags" refs.c: change some "flags" to "unsigned int" refs: remove the gap in the REF_* constant values refs: move REF_DELETING to refs.c | 05 March 2015, 20:45:39 UTC |
423c688 | Michael Haggerty | 03 March 2015, 11:43:17 UTC | reflog_expire(): never update a reference to null_sha1 Currently, if --updateref is specified and the very last reflog entry is expired or deleted, the reference's value is set to 0{40}. This is an invalid state of the repository, and breaks, for example, "git fsck" and "git for-each-ref". The only place we use --updateref in our own code is when dropping stash entries. In that code, the very next step is to check if the reflog has been made empty, and if so, delete the "refs/stash" reference entirely. Thus that code path ultimately leaves the repository in a valid state. But we don't want to the repository in an invalid state even temporarily, and we don't want to leave an invalid state if other callers of "git reflog expire|delete --updateref" don't think to do the extra cleanup step. So, if "git reflog expire|delete" leaves no more entries in the reflog, just leave the reference unchanged. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Reviewed-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 March 2015, 20:35:37 UTC |
5e6f003 | Michael Haggerty | 03 March 2015, 11:43:16 UTC | reflog_expire(): ignore --updateref for symbolic references If we are expiring reflog entries for a symbolic reference, then how should --updateref be handled if the newest reflog entry is expired? Option 1: Update the referred-to reference. (This is what the current code does.) This doesn't make sense, because the referred-to reference has its own reflog, which hasn't been rewritten. Option 2: Update the symbolic reference itself (as in, REF_NODEREF). This would convert the symbolic reference into a non-symbolic reference (e.g., detaching HEAD), which is surely not what a user would expect. Option 3: Error out. This is plausible, but it would make the following usage impossible: git reflog expire ... --updateref --all Option 4: Ignore --updateref for symbolic references. We choose to implement option 4. Note: another problem in this code will be fixed in a moment. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Reviewed-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 March 2015, 20:35:37 UTC |
fe2a181 | Michael Haggerty | 03 March 2015, 11:43:15 UTC | reflog: improve and update documentation Revamp the "git reflog" usage documentation in the manpage and the command help to match the current reality and improve its clarity: * Add documentation for some options that had been left out. * Group the subcommands and options more logically and move more common subcommands/options higher. * Improve some explanations. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Reviewed-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 March 2015, 20:35:36 UTC |
5a6f470 | Stefan Beller | 03 March 2015, 11:43:14 UTC | struct ref_lock: delete the force_write member Instead, compute the value when it is needed. Signed-off-by: Stefan Beller <sbeller@google.com> Edited-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Reviewed-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 March 2015, 20:35:36 UTC |
074336e | Michael Haggerty | 02 March 2015, 09:29:53 UTC | lock_ref_sha1_basic(): do not set force_write for missing references If a reference is missing, its SHA-1 will be null_sha1, which can't possibly match a new value that ref_transaction_commit() is trying to update it to. So there is no need to set force_write in this scenario. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Reviewed-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 March 2015, 20:35:36 UTC |
706d5f8 | Michael Haggerty | 02 March 2015, 09:29:52 UTC | write_ref_sha1(): move write elision test to callers write_ref_sha1() previously skipped the write if the reference already had the desired value, unless lock->force_write was set. Instead, perform that test at the callers. Two of the callers (in rename_ref()) unconditionally set force_write just before calling write_ref_sha1(), so they don't need the extra check at all. Nor do they need to set force_write anymore. The last caller, in ref_transaction_commit(), still needs the test. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Reviewed-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 March 2015, 20:35:36 UTC |
8280bbe | Michael Haggerty | 02 March 2015, 09:29:51 UTC | write_ref_sha1(): remove check for lock == NULL None of the callers pass NULL to this function, and there doesn't seem to be any usefulness to allowing them to do so. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Reviewed-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 05 March 2015, 20:35:36 UTC |
97c12a8 | Junio C Hamano | 03 March 2015, 22:39:10 UTC | Post 2.3 cycle (batch #6) Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 March 2015, 22:39:10 UTC |
4c3dbbf | Junio C Hamano | 03 March 2015, 22:37:05 UTC | Merge branch 'jk/daemon-interpolate' The "interpolated-path" option of "git daemon" inserted any string client declared on the "host=" capability request without checking. Sanitize and limit %H and %CH to a saner and a valid DNS name. * jk/daemon-interpolate: daemon: sanitize incoming virtual hostname t5570: test git-daemon's --interpolated-path option git_connect: let user override virtual-host we send to daemon | 03 March 2015, 22:37:06 UTC |
ef4cdb8 | Junio C Hamano | 03 March 2015, 22:37:04 UTC | Merge branch 'rs/daemon-interpolate' "git daemon" looked up the hostname even when "%CH" and "%IP" interpolations are not requested, which was unnecessary. * rs/daemon-interpolate: daemon: use callback to build interpolated path daemon: look up client-supplied hostname lazily | 03 March 2015, 22:37:04 UTC |
0278b3f | Junio C Hamano | 03 March 2015, 22:37:03 UTC | Merge branch 'km/send-email-getopt-long-workarounds' Even though we officially haven't dropped Perl 5.8 support, the Getopt::Long package that came with it does not support "--no-" prefix to negate a boolean option; manually add support to help people with older Getopt::Long package. * km/send-email-getopt-long-workarounds: git-send-email.perl: support no- prefix with older GetOptions | 03 March 2015, 22:37:03 UTC |
73b690a | Junio C Hamano | 03 March 2015, 22:37:02 UTC | Merge branch 'jc/apply-ws-fix-expands-report' "git apply --whitespace=fix" fixed whitespace errors in the common context lines but did so without reporting. * jc/apply-ws-fix-expands-report: apply: detect and mark whitespace errors in context lines when fixing | 03 March 2015, 22:37:02 UTC |
71f19cc | Junio C Hamano | 03 March 2015, 22:37:01 UTC | Merge branch 'jc/apply-beyond-symlink' "git apply" was not very careful about reading from, removing, updating and creating paths outside the working tree (under --index/--cached) or the current directory (when used as a replacement for GNU patch). * jc/apply-beyond-symlink: apply: do not touch a file beyond a symbolic link apply: do not read from beyond a symbolic link apply: do not read from the filesystem under --index apply: reject input that touches outside the working area | 03 March 2015, 22:37:01 UTC |
eb32c66 | Anders Kaseorg | 01 March 2015, 04:18:14 UTC | t5516: correct misspelled pushInsteadOf A future breakage to "git push" to make it incorrectly pay attention to pushInsteadOf when it should not will be left uncaught without this change. Signed-off-by: Anders Kaseorg <andersk@mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 March 2015, 20:07:18 UTC |
5c31acf | Michal Sojka | 02 March 2015, 22:57:58 UTC | submodule: improve documentation of update subcommand The documentation of 'git submodule update' has several problems: 1) It mentions that value 'none' of submodule.$name.update can be overridden by --checkout, but other combinations of configuration values and command line options are not mentioned. 2) The documentation of submodule.$name.update is scattered across three places, which is confusing. 3) The documentation of submodule.$name.update in gitmodules.txt is incorrect, because the code always uses the value from .git/config and never from .gitmodules. 4) Documentation of --force was incomplete, because it is only effective in case of checkout method of update. Fix all these problems by documenting submodule.*.update in git-submodule.txt and make everybody else refer to it. Helped-by: Junio C Hamano <gitster@pobox.com> Helped-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 March 2015, 22:59:55 UTC |
aaba0ab | Michael J Gruber | 02 March 2015, 13:08:09 UTC | git-remote.txt: describe behavior without --tags and --no-tags Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 March 2015, 20:48:23 UTC |
189c860 | Ben Walton | 02 March 2015, 19:22:31 UTC | kwset: use unsigned char to store values with high-bit set Sun Studio on Solaris issues warnings about improper initialization values being used when defining tolower_trans_tbl[] in ctype.c. The array wants to store values with high-bit set and treat them as values between 128 to 255. Unlike the rest of the Git codebase where we explicitly specify 'unsigned char' for such variables and arrays, however, kwset code we borrowed from elsewhere uses 'char' for this and other variables. Fix the declarations to explicitly use 'unsigned char' where necessary to bring it in line with the rest of the Git. Signed-off-by: Ben Walton <bdwalton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 March 2015, 20:32:24 UTC |
d913022 | Jean-Noel Avila | 01 March 2015, 11:58:25 UTC | Add hint interactive cleaning For translators, specify that a [y/N] reply is needed. Also capitalize the first word in the prompt, as all the other interactive prompts from this command are capitalized. Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 March 2015, 19:49:35 UTC |
ab27389 | Mårten Kongstad | 02 March 2015, 15:05:39 UTC | diff --shortstat --dirstat: remove duplicate output When --shortstat is used in conjunction with --dirstat=changes, git diff will output the dirstat information twice: first as calculated by the 'lines' algorithm, then as calculated by the 'changes' algorithm: $ git diff --dirstat=changes,10 --shortstat v2.2.0..v2.2.1 23 files changed, 453 insertions(+), 54 deletions(-) 33.5% Documentation/RelNotes/ 26.2% t/ 46.6% Documentation/RelNotes/ 16.6% t/ The same duplication happens for --shortstat together with --dirstat=files, but not for --shortstat together with --dirstat=lines. Limit output to only include one dirstat part, calculated as specified by the --dirstat parameter. Also, add test for this. Signed-off-by: Mårten Kongstad <marten.kongstad@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 March 2015, 19:31:27 UTC |
4d6be03 | Jeff King | 27 February 2015, 01:42:27 UTC | diffcore-rename: avoid processing duplicate destinations The rename code cannot handle an input where we have duplicate destinations (i.e., more than one diff_filepair in the queue with the same string in its pair->two->path). We end up allocating only one slot in the rename_dst mapping. If we fill in the diff_filepair for that slot, when we re-queue the results, we may queue that filepair multiple times. When the diff is finally flushed, the filepair is processed and free()d multiple times, leading to heap corruption. This situation should only happen when a tree diff sees duplicates in one of the trees (see the added test for a detailed example). Rather than handle it, the sanest thing is just to turn off rename detection altogether for the diff. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2015, 21:41:29 UTC |
f98c2f7 | Jeff King | 27 February 2015, 01:39:48 UTC | diffcore-rename: split locate_rename_dst into two functions This function manages the mapping of destination pathnames to filepairs, and it handles both insertion and lookup. This makes the return value a bit confusing, as we return a newly created entry (even though no caller cares), and have no room to indicate to the caller that an entry already existed. Instead, let's break this up into two distinct functions, both backed by a common binary search. The binary search will use our normal "return the index if we found something, or negative index minus one to show where it would have gone" semantics. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2015, 21:41:21 UTC |
77fdb8a | Nguyễn Thái Ngọc Duy | 27 February 2015, 14:01:58 UTC | grep: correct help string for --exclude-standard The current help string is about --no-exclude-standard. But "git grep -h" would show --exclude-standard instead. Flip the string. See 0a93fb8 (grep: teach --untracked and --exclude-standard options - 2011-09-27) for more info about these options. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 February 2015, 20:22:41 UTC |
93f7d91 | Jeff King | 26 February 2015, 03:04:16 UTC | gettext.c: move get_preferred_languages() from http.c Calling setlocale(LC_MESSAGES, ...) directly from http.c, without including <locale.h>, was causing compilation warnings. Move the helper function to gettext.c that already includes the header and where locale-related issues are handled. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 February 2015, 22:09:20 UTC |
28ed7b0 | Junio C Hamano | 26 February 2015, 22:03:57 UTC | Merge branch 'svn-maint-fixes' into svn-fixes * svn-maint-fixes: Git::SVN::*: avoid premature FileHandle closure git-svn: fix localtime=true on non-glibc environments | 26 February 2015, 22:03:57 UTC |
e426311 | Kyle J. McKay | 26 February 2015, 13:49:34 UTC | Git::SVN::*: avoid premature FileHandle closure Since b19138b (git-svn: Make it incrementally faster by minimizing temp files, v1.6.0), git-svn has been using the Git.pm temp_acquire and temp_release mechanism to avoid unnecessary temp file churn and provide a speed boost. However, that change introduced a call to temp_acquire inside the Git::SVN::Fetcher::close_file function for an 'svn_hash' temp file. Because an SVN::Pool is active at the time this function is called, if the Git::temp_acquire function ends up actually creating a new FileHandle for the temp file (which it will the first time it's called with the name 'svn_hash') that FileHandle will end up in the SVN::Pool and should that pool have SVN::Pool::clear called on it that FileHandle will be closed out from under Git::temp_acquire. Since the only call site to Git::temp_acquire with the name 'svn_hash' is inside the close_file function, if an 'svn_hash' temp file is ever created its FileHandle is guaranteed to be created in the active SVN::Pool. This has not been a problem in the past because the SVN::Pool was not being cleared. However, since dfa72fdb (git-svn: reload RA every log-window-size, v2.2.0) the pool has been getting cleared periodically at which point the FileHandle for the 'svn_hash' temp file gets closed. Any subsequent calls to Git::temp_acquire for 'svn_hash', however, succeed without creating/opening a new temporary file since it still has the now invalid FileHandle in its cache. Callers that then attempt to use that FileHandle fail with an error. We avoid this problem by making sure the 'svn_hash' temp file is created in the same place the 'svn_delta_...' and 'git_blob_...' temp files are (and then temp_release'd) so that it can be safely used inside the close_file function without having its FileHandle end up in an SVN::Pool that gets cleared. Additionally the Git.pm cat_blob function creates a bidirectional pipe FileHandle using the IPC::Open2::open2 function. If that handle is created too late, it also gets caught up in the SVN::Pool and incorrectly closed by the SVN::Pool::clear call. But this only seems to happen with more recent versions of Perl and svn. To avoid this problem we add an explicit call to _open_cat_blob_if_needed before the first call to SVN::Pool->new_default to make sure the open2 handle does not end up in the SVN::Pool. Signed-off-by: Kyle J. McKay <mackyle@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 February 2015, 22:02:34 UTC |
45c956b | Ryuichi Kokubo | 25 February 2015, 16:04:41 UTC | git-svn: fix localtime=true on non-glibc environments git svn uses POSIX::strftime('%s', $sec, $min, ...) to make unix epoch time. But lowercase %s formatting character is a GNU extention. This causes problem in git svn fetch --localtime on non-glibc systems, such as msys or cygwin. Using Time::Local::timelocal($sec, $min, ...) fixes it. Signed-off-by: Ryuichi Kokubo <ryu1kkb@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> Notes: lowercase %s format character in strftime is a GNU extension and not widely supported. POSIX::strftime affected by underlying crt's strftime because POSIX::strftime just calls crt's one. Time::Local is good function to replace POSIX::strftime because it's a perl core module function. Document about Time::Local. http://perldoc.perl.org/Time/Local.html These are specifications of strftime. The GNU C Library Reference Manual. http://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html perl POSIX module's strftime document. It does not have '%s'. http://perldoc.perl.org/POSIX.html strftime document of Microsort Windows C Run-Time library. https://msdn.microsoft.com/en-us/library/fe06s4ak.aspx The Open Group's old specification does not have '%s' too. http://pubs.opengroup.org/onlinepubs/007908799/xsh/strftime.html On my environment, following problems happened. - msys : git svn fetch does not progress at all with perl.exe consuming CPU. - cygwin : git svn fetch progresses but time stamp information is dropped. Every commits have unix epoch timestamp. I would like to thank git developer and contibutors. git helps me so much everyday. Thank you. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 February 2015, 22:02:34 UTC |
bcd57cb | Mikko Rapeli | 26 February 2015, 13:16:49 UTC | Documentation/git-clean.txt: document that -f may need to be given twice This is needed in build automation where the tree really needs to be reset to known state. Signed-off-by: Mikko Rapeli <mikko.rapeli@iki.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 26 February 2015, 21:10:40 UTC |