summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-08-20Merge branch 'hn/highlight-sideband-keywords'Libravatar Junio C Hamano5-9/+235
The sideband code learned to optionally paint selected keywords at the beginning of incoming lines on the receiving end. * hn/highlight-sideband-keywords: sideband: do not read beyond the end of input sideband: highlight keywords in remote sideband output
2018-08-20Merge branch 'nd/cherry-pick-quit-fix'Libravatar Junio C Hamano2-3/+13
"git cherry-pick --quit" failed to remove CHERRY_PICK_HEAD even though we won't be in a cherry-pick session after it returns, which has been corrected. * nd/cherry-pick-quit-fix: cherry-pick: fix --quit not deleting CHERRY_PICK_HEAD
2018-08-20Merge branch 'sb/submodule-cleanup'Libravatar Junio C Hamano2-42/+58
A few preliminary minor clean-ups in the area around submodules. * sb/submodule-cleanup: builtin/submodule--helper: remove stray new line t7410: update to new style
2018-08-20Merge branch 'pw/rebase-i-merge-segv-fix'Libravatar Junio C Hamano2-12/+42
"git rebase -i", when a 'merge <branch>' insn in its todo list fails, segfaulted, which has been (minimally) corrected. * pw/rebase-i-merge-segv-fix: rebase -i: fix SIGSEGV when 'merge <branch>' fails t3430: add conflicting commit
2018-08-20Merge branch 'pw/rebase-i-squash-number-fix'Libravatar Junio C Hamano2-3/+5
When "git rebase -i" is told to squash two or more commits into one, it labeled the log message for each commit with its number. It correctly called the first one "1st commit", but the next one was "commit #1", which was off-by-one. This has been corrected. * pw/rebase-i-squash-number-fix: rebase -i: fix numbering in squash message
2018-08-20Merge branch 'sb/config-write-fix'Libravatar Junio C Hamano3-1/+119
Recent update to "git config" broke updating variable in a subsection, which has been corrected. * sb/config-write-fix: git-config: document accidental multi-line setting in deprecated syntax config: fix case sensitive subsection names on writing t1300: document current behavior of setting options
2018-08-20Merge branch 'ab/submodule-relative-url-tests'Libravatar Junio C Hamano1-0/+13
Test updates. * ab/submodule-relative-url-tests: submodule: add more exhaustive up-path testing
2018-08-20Merge branch 'en/incl-forward-decl'Libravatar Junio C Hamano61-17/+151
Code hygiene improvement for the header files. * en/incl-forward-decl: Remove forward declaration of an enum compat/precompose_utf8.h: use more common include guard style urlmatch.h: fix include guard Move definition of enum branch_track from cache.h to branch.h alloc: make allocate_alloc_state and clear_alloc_state more consistent Add missing includes and forward declarations
2018-08-20Merge branch 'jt/repack-promisor-packs'Libravatar Junio C Hamano3-59/+214
After a partial clone, repeated fetches from promisor remote would have accumulated many packfiles marked with .promisor bit without getting them coalesced into fewer packfiles, hurting performance. "git repack" now learned to repack them. * jt/repack-promisor-packs: repack: repack promisor objects if -a or -A is set repack: refactor setup of pack-objects cmd
2018-08-20Merge branch 'wc/make-funnynames-shared-lazy-prereq'Libravatar Junio C Hamano5-25/+26
A test prerequisite defined by various test scripts with slightly different semantics has been consolidated into a single copy and made into a lazily defined one. * wc/make-funnynames-shared-lazy-prereq: t: factor out FUNNYNAMES as shared lazy prereq
2018-08-20Merge branch 'jh/partial-clone-doc'Libravatar Junio C Hamano2-104/+105
Doc updates. * jh/partial-clone-doc: partial-clone: render design doc using asciidoc
2018-08-20Merge branch 'js/chain-lint-attrfix'Libravatar Junio C Hamano1-0/+1
Test fix. * js/chain-lint-attrfix: chainlint: fix for core.autocrlf=true
2018-08-20Merge branch 'sb/pull-rebase-submodule'Libravatar Junio C Hamano1-0/+3
"git pull --rebase -v" in a repository with a submodule barfed as an intermediate process did not understand what "-v(erbose)" flag meant, which has been fixed. * sb/pull-rebase-submodule: git-submodule.sh: accept verbose flag in cmd_update to be non-quiet
2018-08-20Merge branch 'js/range-diff'Libravatar Junio C Hamano19-19/+1915
"git tbdiff" that lets us compare individual patches in two iterations of a topic has been rewritten and made into a built-in command. * js/range-diff: (21 commits) range-diff: use dim/bold cues to improve dual color mode range-diff: make --dual-color the default mode range-diff: left-pad patch numbers completion: support `git range-diff` range-diff: populate the man page range-diff --dual-color: skip white-space warnings range-diff: offer to dual-color the diffs diff: add an internal option to dual-color diffs of diffs color: add the meta color GIT_COLOR_REVERSE range-diff: use color for the commit pairs range-diff: add tests range-diff: do not show "function names" in hunk headers range-diff: adjust the output of the commit pairs range-diff: suppress the diff headers range-diff: indent the diffs just like tbdiff range-diff: right-trim commit messages range-diff: also show the diff between patches range-diff: improve the order of the shown commits range-diff: first rudimentary implementation Introduce `range-diff` to compare iterations of a topic branch ...
2018-08-20Merge branch 'nd/no-the-index'Libravatar Junio C Hamano55-245/+337
The more library-ish parts of the codebase learned to work on the in-core index-state instance that is passed in by their callers, instead of always working on the singleton "the_index" instance. * nd/no-the-index: (24 commits) blame.c: remove implicit dependency on the_index apply.c: remove implicit dependency on the_index apply.c: make init_apply_state() take a struct repository apply.c: pass struct apply_state to more functions resolve-undo.c: use the right index instead of the_index archive-*.c: use the right repository archive.c: avoid access to the_index grep: use the right index instead of the_index attr: remove index from git_attr_set_direction() entry.c: use the right index instead of the_index submodule.c: use the right index instead of the_index pathspec.c: use the right index instead of the_index unpack-trees: avoid the_index in verify_absent() unpack-trees: convert clear_ce_flags* to avoid the_index unpack-trees: don't shadow global var the_index unpack-trees: add a note about path invalidation unpack-trees: remove 'extern' on function declaration ls-files: correct index argument to get_convert_attr_ascii() preload-index.c: use the right index instead of the_index dir.c: remove an implicit dependency on the_index in pathspec code ...
2018-08-20Merge branch 'es/chain-lint-more'Libravatar Junio C Hamano19-41/+213
Improve built-in facility to catch broken &&-chain in the tests. * es/chain-lint-more: chainlint: add test of pathological case which triggered false positive chainlint: recognize multi-line quoted strings more robustly chainlint: let here-doc and multi-line string commence on same line chainlint: recognize multi-line $(...) when command cuddled with "$(" chainlint: match 'quoted' here-doc tags chainlint: match arbitrary here-docs tags rather than hard-coded names
2018-08-20Merge branch 'sg/t5310-empty-input-fix'Libravatar Junio C Hamano1-3/+4
Test fix. * sg/t5310-empty-input-fix: t5310-pack-bitmaps: fix bogus 'pack-objects to file can use bitmap' test
2018-08-20Merge branch 'js/mingw-o-append'Libravatar Junio C Hamano1-2/+39
Among the three codepaths we use O_APPEND to open a file for appending, one used for writing GIT_TRACE output requires O_APPEND implementation that behaves sensibly when multiple processes are writing to the same file. POSIX emulation used in the Windows port has been updated to improve in this area. * js/mingw-o-append: mingw: enable atomic O_APPEND
2018-08-20Merge branch 'jk/for-each-object-iteration'Libravatar Junio C Hamano10-111/+218
The API to iterate over all objects learned to optionally list objects in the order they appear in packfiles, which helps locality of access if the caller accesses these objects while as objects are enumerated. * jk/for-each-object-iteration: for_each_*_object: move declarations to object-store.h cat-file: use a single strbuf for all output cat-file: split batch "buf" into two variables cat-file: use oidset check-and-insert cat-file: support "unordered" output for --batch-all-objects cat-file: rename batch_{loose,packed}_object callbacks t1006: test cat-file --batch-all-objects with duplicates for_each_packed_object: support iterating in pack-order for_each_*_object: give more comprehensive docstrings for_each_*_object: take flag arguments as enum for_each_*_object: store flag definitions in a single location
2018-08-20Merge branch 'ab/fetch-tags-noclobber'Libravatar Junio C Hamano3-22/+47
Test and doc clean-ups. * ab/fetch-tags-noclobber: pull doc: fix a long-standing grammar error fetch tests: correct a comment "remove it" -> "remove them" push tests: assert re-pushing annotated tags push tests: add more testing for forced tag pushing push tests: fix logic error in "push" test assertion push tests: remove redundant 'git push' invocation fetch tests: change "Tag" test tag to "testTag"
2018-08-20Merge branch 'ng/mergetool-lose-final-prompt'Libravatar Junio C Hamano1-3/+5
"git mergetool" stopped and gave an extra prompt to continue after the last path has been handled, which did not make much sense. * ng/mergetool-lose-final-prompt: mergetool: don't suggest to continue after last file
2018-08-20Merge branch 'jt/commit-graph-per-object-store'Libravatar Junio C Hamano1-5/+7
Test update. * jt/commit-graph-per-object-store: t5318: avoid unnecessary command substitutions
2018-08-20Merge branch 'ds/commit-graph-fsck'Libravatar Junio C Hamano1-2/+2
Test fix. * ds/commit-graph-fsck: t5318: use 'test_cmp_bin' to compare commit-graph files
2018-08-20Merge branch 'jt/fetch-negotiator-skipping'Libravatar Junio C Hamano1-5/+18
Test fix. * jt/fetch-negotiator-skipping: t5552: suppress upload-pack trace output
2018-08-20Merge branch 'jc/gpg-status'Libravatar Junio C Hamano1-1/+2
"git verify-tag" and "git verify-commit" have been taught to use the exit status of underlying "gpg --verify" to signal bad or untrusted signature they found. * jc/gpg-status: gpg-interface: propagate exit status from gpg back to the callers
2018-08-20Merge branch 'jc/update-index-doc'Libravatar Junio C Hamano1-9/+6
Doc update. * jc/update-index-doc: update-index: there no longer is `apply --index-info`
2018-08-20Merge branch 'en/update-index-doc'Libravatar Junio C Hamano1-2/+2
Doc update. * en/update-index-doc: git-update-index.txt: reword possibly confusing example
2018-08-20Merge branch 'js/typofixes'Libravatar Junio C Hamano2-2/+2
Comment update. * js/typofixes: remote-curl: remove spurious period git-compat-util.h: fix typo
2018-08-20Merge branch 'sk/instaweb-rh-update'Libravatar Junio C Hamano1-8/+12
"git instaweb" has been adjusted to run better with newer Apache on RedHat based distros. * sk/instaweb-rh-update: git-instaweb: fix apache2 config with apache >= 2.4 git-instaweb: support Fedora/Red Hat apache module path
2018-08-20Merge branch 'en/t7406-fixes'Libravatar Junio C Hamano2-14/+31
Test fixes. * en/t7406-fixes: t7406: avoid using test_must_fail for commands other than git t7406: prefer test_* helper functions to test -[feds] t7406: avoid having git commands upstream of a pipe t7406: simplify by using diff --name-only instead of diff --raw t7406: fix call that was failing for the wrong reason
2018-08-20Merge branch 'js/rebase-merges-exec-fix'Libravatar Junio C Hamano2-11/+48
The "--exec" option to "git rebase --rebase-merges" placed the exec commands at wrong places, which has been corrected. * js/rebase-merges-exec-fix: rebase --exec: make it work with --rebase-merges t3430: demonstrate what -r, --autosquash & --exec should do
2018-08-20Merge branch 'ab/test-must-be-empty-for-master'Libravatar Junio C Hamano45-205/+111
Test updates. * ab/test-must-be-empty-for-master: tests: make use of the test_must_be_empty function
2018-08-20Merge branch 'ab/newhash-is-sha256'Libravatar Junio C Hamano1-98/+104
Documentation update. * ab/newhash-is-sha256: doc hash-function-transition: pick SHA-256 as NewHash doc hash-function-transition: note the lack of a changelog
2018-08-18sideband: do not read beyond the end of inputLibravatar Junio C Hamano2-2/+20
The caller of maybe_colorize_sideband() gives a counted buffer <src, n>, but the callee checked src[] as if it were a NUL terminated buffer. If src[] had all isspace() bytes in it, we would have made n negative, and then (1) made number of strncasecmp() calls to see if the remaining bytes in src[] matched keywords, reading beyond the end of the array (this actually happens even if n does not go negative), and/or (2) called strbuf_add() with negative count, most likely triggering the "you want to use way too much memory" error due to unsigned integer overflow. Fix both issues by making sure we do not go beyond &src[n]. In the longer term we may want to accept size_t as parameter for clarity (even though we know that a sideband message we are painting typically would fit on a line on a terminal and int is sufficient). Write it down as a NEEDSWORK comment. Helped-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-08-17Seventh batch for 2.19 cycleLibravatar Junio C Hamano1-0/+64
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-08-17Merge branch 'nd/complete-config-vars'Libravatar Junio C Hamano1-1/+1
Build fix. * nd/complete-config-vars: Makefile: add missing dependency for command-list.h
2018-08-17Merge branch 'ar/t4150-am-scissors-test-fix'Libravatar Junio C Hamano1-19/+20
Test fix. * ar/t4150-am-scissors-test-fix: t4150: fix broken test for am --scissors
2018-08-17Merge branch 'js/pull-rebase-type-shorthand'Libravatar Junio C Hamano2-3/+15
"git pull --rebase=interactive" learned "i" as a short-hand for "interactive". * js/pull-rebase-type-shorthand: pull --rebase=<type>: allow single-letter abbreviations for the type
2018-08-17Merge branch 'jk/diff-rendered-docs'Libravatar Junio C Hamano2-0/+110
The end result of documentation update has been made to be inspected more easily to help developers. * jk/diff-rendered-docs: add a script to diff rendered documentation
2018-08-17Merge branch 'hn/config-in-code-comment'Libravatar Junio C Hamano1-1/+6
Header update. * hn/config-in-code-comment: config: document git config getter return value
2018-08-17Merge branch 'nd/config-blame-sort'Libravatar Junio C Hamano1-34/+34
Doc fix. * nd/config-blame-sort: config.txt: reorder blame stuff to keep config keys sorted
2018-08-17Merge branch 'en/t3031-title-fix'Libravatar Junio C Hamano1-1/+1
Test fix. * en/t3031-title-fix: t3031: update test description to mention desired behavior
2018-08-17Merge branch 'sb/indent-heuristic-optim'Libravatar Junio C Hamano1-1/+11
"git diff --indent-heuristic" had a bad corner case performance. * sb/indent-heuristic-optim: xdiff: reduce indent heuristic overhead
2018-08-17Merge branch 'en/abort-df-conflict-fixes'Libravatar Junio C Hamano4-9/+131
"git merge --abort" etc. did not clean things up properly when there were conflicted entries in the index in certain order that are involved in D/F conflicts. This has been corrected. * en/abort-df-conflict-fixes: read-cache: fix directory/file conflict handling in read_index_unmerged() t1015: demonstrate directory/file conflict recovery failures
2018-08-17Merge branch 'mk/http-backend-content-length'Libravatar Junio C Hamano6-15/+282
The http-backend (used for smart-http transport) used to slurp the whole input until EOF, without paying attention to CONTENT_LENGTH that is supplied in the environment and instead expecting the Web server to close the input stream. This has been fixed. * mk/http-backend-content-length: t5562: avoid non-portable "export FOO=bar" construct http-backend: respect CONTENT_LENGTH for receive-pack http-backend: respect CONTENT_LENGTH as specified by rfc3875 http-backend: cleanup writing to child process
2018-08-17Merge branch 'ot/ref-filter-object-info'Libravatar Junio C Hamano1-88/+138
A few atoms like %(objecttype) and %(objectsize) in the format specifier of "for-each-ref --format=<format>" can be filled without getting the full contents of the object, but just with the object header. These cases have been optimized by calling oid_object_info() API (instead of reading and inspecting the data). * ot/ref-filter-object-info: ref-filter: use oid_object_info() to get object ref-filter: merge get_obj and get_object ref-filter: initialize eaten variable ref-filter: fill empty fields with empty values ref-filter: add info_source to valid_atom
2018-08-17Merge branch 'nd/no-extern'Libravatar Junio C Hamano12-266/+269
Noiseword "extern" has been removed from function decls in the header files. * nd/no-extern: submodule.h: drop extern from function declaration revision.h: drop extern from function declaration repository.h: drop extern from function declaration rerere.h: drop extern from function declaration line-range.h: drop extern from function declaration diff.h: remove extern from function declaration diffcore.h: drop extern from function declaration convert.h: drop 'extern' from function declaration cache-tree.h: drop extern from function declaration blame.h: drop extern on func declaration attr.h: drop extern from function declaration apply.h: drop extern on func declaration
2018-08-17Merge branch 'es/want-color-fd-defensive'Libravatar Junio C Hamano1-0/+3
Futureproofing a helper function that can easily be misused. * es/want-color-fd-defensive: color: protect against out-of-bounds reads and writes
2018-08-17Merge branch 'ab/sha1dc'Libravatar Junio C Hamano2-1/+11
AIX portability update for the SHA1DC hash, imported from upstream. * ab/sha1dc: sha1dc: update from upstream
2018-08-17Merge branch 'rs/parse-opt-lithelp'Libravatar Junio C Hamano11-17/+19
The parse-options machinery learned to refrain from enclosing placeholder string inside a "<bra" and "ket>" pair automatically without PARSE_OPT_LITERAL_ARGHELP. Existing help text for option arguments that are not formatted correctly have been identified and fixed. * rs/parse-opt-lithelp: parse-options: automatically infer PARSE_OPT_LITERAL_ARGHELP shortlog: correct option help for -w send-pack: specify --force-with-lease argument help explicitly pack-objects: specify --index-version argument help explicitly difftool: remove angular brackets from argument help add, update-index: fix --chmod argument help push: use PARSE_OPT_LITERAL_ARGHELP instead of unbalanced brackets