summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-08-23recs_match(): take two xrecord_t pointers as argumentsLibravatar Michael Haggerty1-7/+7
There is no reason for it to take an array and two indexes as argument, as it only accesses two elements of the array. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-23is_blank_line(): take a single xrecord_t as argumentLibravatar Michael Haggerty1-4/+4
There is no reason for it to take an array and index as argument, as it only accesses a single element of the array. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-23xdl_change_compact(): only use heuristic if group can't be matchedLibravatar Michael Haggerty1-19/+19
If the changed group of lines can be matched to a group in the other file, then that positioning should take precedence over the compaction heuristic. The old code tried the heuristic unconditionally, which cost redundant effort and also was broken if the matching code had already shifted the group higher than the blank line. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-23xdl_change_compact(): fix compaction heuristic to adjust ixoLibravatar Michael Haggerty1-0/+1
The code branch used for the compaction heuristic forgot to keep ixo in sync while the group was shifted. This is certainly wrong, as it causes the two counters to get out of sync. I *think* that this bug could also have caused the function to read past the end of the rchgo array, though I haven't done the work to prove it for sure. Here is my reasoning: If ixo is not decremented correctly during one iteration of the outer while loop, then it will loose sync with the ix counter. In particular, ixo will be too large. Suppose that the next iterations of the outer while loop (i.e., processing the next block of add/delete lines) don't have any sliders. Then the ixo counter would be incremented by the number of non-changed lines in xdf, which is the same as the number of non-changed lines in xdfo that *should have* followed the group that experienced the malfunction. But since ixo was too large at the end of that iteration, it will be incremented past the end of the xdfo->rchg array, and will try to read that memory illegally. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-07-06Merge branch 'jk/add-i-diff-compact-heuristics'Libravatar Junio C Hamano1-0/+4
"git add -i/-p" learned to honor diff.compactionHeuristic experimental knob, so that the user can work on the same hunk split as "git diff" output. * jk/add-i-diff-compact-heuristics: add--interactive: respect diff.compactionHeuristic
2016-07-06Merge branch 'km/fetch-do-not-free-remote-name'Libravatar Junio C Hamano1-4/+2
The ownership rule for the piece of memory that hold references to be fetched in "git fetch" was screwy, which has been cleaned up. * km/fetch-do-not-free-remote-name: builtin/fetch.c: don't free remote->name after fetch
2016-07-06Merge branch 'nd/test-lib-httpd-show-error-log-in-verbose'Libravatar Junio C Hamano1-0/+1
HTTPd tests learned to show the server error log to help diagnosing a failing tests. * nd/test-lib-httpd-show-error-log-in-verbose: lib-httpd.sh: print error.log on error
2016-07-06Merge branch 'jk/string-list-static-init'Libravatar Junio C Hamano11-21/+24
Instead of taking advantage of a struct string_list that is allocated with all NULs happens to be STRING_LIST_INIT_NODUP kind, initialize them explicitly as such, to document their behaviour better. * jk/string-list-static-init: use string_list initializer consistently blame,shortlog: don't make local option variables static interpret-trailers: don't duplicate option strings parse_opt_string_list: stop allocating new strings
2016-07-06Merge branch 'jk/send-pack-stdio'Libravatar Junio C Hamano3-29/+16
Code clean-up. * jk/send-pack-stdio: write_or_die: remove the unused write_or_whine() function send-pack: use buffered I/O to talk to pack-objects
2016-07-06Merge branch 'pb/commit-editmsg-path'Libravatar Junio C Hamano1-7/+8
Code clean-up. * pb/commit-editmsg-path: builtin/commit.c: memoize git-path for COMMIT_EDITMSG
2016-07-06Merge branch 'ep/http-curl-trace'Libravatar Junio C Hamano4-2/+133
HTTP transport gained an option to produce more detailed debugging trace. * ep/http-curl-trace: imap-send.c: introduce the GIT_TRACE_CURL enviroment variable http.c: implement the GIT_TRACE_CURL environment variable
2016-06-27Second batch of topics for 2.10Libravatar Junio C Hamano1-0/+65
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-06-27Sync with maintLibravatar Junio C Hamano1-0/+28
* maint: Start preparing for 2.9.1
2016-06-27Start preparing for 2.9.1Libravatar Junio C Hamano2-1/+29
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-06-27Merge branch 'tb/complete-status'Libravatar Junio C Hamano1-1/+97
The completion script (in contrib/) learned to complete "git status" options. * tb/complete-status: completion: add git status completion: add __git_get_option_value helper completion: factor out untracked file modes into a variable
2016-06-27Merge branch 'mg/cherry-pick-multi-on-unborn'Libravatar Junio C Hamano1-5/+6
"git cherry-pick A" worked on an unborn branch, but "git cherry-pick A..B" didn't. * mg/cherry-pick-multi-on-unborn: cherry-pick: allow to pick to unborn branches
2016-06-27Merge branch 'lf/receive-pack-auto-gc-to-client'Libravatar Junio C Hamano1-2/+13
Allow messages that are generated by auto gc during "git push" on the receiving end to be explicitly passed back to the sending end over sideband, so that they are shown with "remote: " prefix to avoid confusing the users. * lf/receive-pack-auto-gc-to-client: receive-pack: send auto-gc output over sideband 2
2016-06-27Merge branch 'em/newer-freebsd-shells-are-fine-with-returns'Libravatar Junio C Hamano3-6/+6
Comments about misbehaving FreeBSD shells have been clarified with the version number (9.x and before are broken, newer ones are OK). * em/newer-freebsd-shells-are-fine-with-returns: rebase: update comment about FreeBSD /bin/sh
2016-06-27Merge branch 'lv/status-say-working-tree-not-directory'Libravatar Junio C Hamano1-1/+1
"git status" used to say "working directory" when it meant "working tree". * lv/status-say-working-tree-not-directory: Use "working tree" instead of "working directory" for git status
2016-06-27Merge branch 'nb/gnome-keyring-build'Libravatar Junio C Hamano1-2/+3
Build improvements for gnome-keyring (in contrib/) * nb/gnome-keyring-build: gnome-keyring: Don't hard-code pkg-config executable
2016-06-27Merge branch 'jc/deref-tag'Libravatar Junio C Hamano2-6/+3
Code clean-up. * jc/deref-tag: blame, line-log: do not loop around deref_tag()
2016-06-27Merge branch 'et/add-chmod-x'Libravatar Junio C Hamano6-20/+68
"git update-index --add --chmod=+x file" may be usable as an escape hatch, but not a friendly thing to force for people who do need to use it regularly. "git add --chmod=+x file" can be used instead. * et/add-chmod-x: add: add --chmod=+x / --chmod=-x options
2016-06-27Merge branch 'jk/avoid-unbounded-alloca'Libravatar Junio C Hamano1-6/+16
* jk/avoid-unbounded-alloca: tree-diff: avoid alloca for large allocations
2016-06-27Merge branch 'rj/compat-regex-size-max-fix'Libravatar Junio C Hamano2-2/+1
A compilation fix. * rj/compat-regex-size-max-fix: regex: fix a SIZE_MAX macro redefinition warning
2016-06-27Merge branch 'vs/prompt-avoid-unset-variable'Libravatar Junio C Hamano1-3/+3
The git-prompt scriptlet (in contrib/) was not friendly with those who uses "set -u", which has been fixed. * vs/prompt-avoid-unset-variable: git-prompt.sh: Don't error on null ${ZSH,BASH}_VERSION, $short_sha
2016-06-27Merge branch 'sg/reflog-past-root'Libravatar Junio C Hamano3-1/+29
"git reflog" stopped upon seeing an entry that denotes a branch creation event (aka "unborn"), which made it appear as if the reflog was truncated. * sg/reflog-past-root: reflog: continue walking the reflog past root commits
2016-06-27Merge branch 'pb/strbuf-read-file-doc'Libravatar Junio C Hamano1-0/+2
* pb/strbuf-read-file-doc: strbuf: describe the return value of strbuf_read_file
2016-06-27Merge branch 'dn/gpg-doc'Libravatar Junio C Hamano2-2/+2
The documentation tries to consistently spell "GPG"; when referring to the specific program name, "gpg" is used. * dn/gpg-doc: Documentation: GPG capitalization
2016-06-27Merge branch 'jk/fetch-prune-doc'Libravatar Junio C Hamano1-1/+1
* jk/fetch-prune-doc: fetch: document that pruning happens before fetching
2016-06-27Merge branch 'ap/git-svn-propset-doc'Libravatar Junio C Hamano1-0/+14
"git svn propset" subcommand that was added in 2.3 days is documented now. * ap/git-svn-propset-doc: git-svn: document the 'git svn propset' command
2016-06-27Merge branch 'tr/doc-tt'Libravatar Junio C Hamano36-217/+224
The documentation set has been updated so that literal commands, configuration variables and environment variables are consistently typeset in fixed-width font and bold in manpages. * tr/doc-tt: doc: change configuration variables format doc: more consistency in environment variables format doc: change environment variables format doc: clearer rule about formatting literals
2016-06-27Merge branch 'pc/occurred'Libravatar Junio C Hamano2-2/+2
* pc/occurred: config.c: fix misspelt "occurred" in an error message refs.h: fix misspelt "occurred" in a comment
2016-06-27Merge branch 'cc/apply-introduce-state'Libravatar Junio C Hamano1-609/+820
The "git apply" standalone program is being libified; this is the first step to move many state variables into a structure that can be explicitly (re)initialized to make the machinery callable more than once. The next step that moves some remaining state variables into the structure and turns die()s into an error return that propagates up to the caller is not queued yet but in flight. It would be good to review the above first and give the remainder of the series a solid base to build on. * cc/apply-introduce-state: (50 commits) builtin/apply: remove misleading comment on lock_file field builtin/apply: move 'newfd' global into 'struct apply_state' builtin/apply: add 'lock_file' pointer into 'struct apply_state' builtin/apply: move applying patches into apply_all_patches() builtin/apply: move 'state' check into check_apply_state() builtin/apply: move 'symlink_changes' global into 'struct apply_state' builtin/apply: move 'fn_table' global into 'struct apply_state' builtin/apply: move 'state_linenr' global into 'struct apply_state' builtin/apply: move 'max_change' and 'max_len' into 'struct apply_state' builtin/apply: move 'ws_ignore_action' into 'struct apply_state' builtin/apply: move 'ws_error_action' into 'struct apply_state' builtin/apply: move 'applied_after_fixing_ws' into 'struct apply_state' builtin/apply: move 'squelch_whitespace_errors' into 'struct apply_state' builtin/apply: remove whitespace_option arg from set_default_whitespace_mode() builtin/apply: move 'whitespace_option' into 'struct apply_state' builtin/apply: move 'whitespace_error' global into 'struct apply_state' builtin/apply: move 'root' global into 'struct apply_state' builtin/apply: move 'p_value_known' global into 'struct apply_state' builtin/apply: move 'p_value' global into 'struct apply_state' builtin/apply: move 'has_include' global into 'struct apply_state' ...
2016-06-27Merge branch 'rs/xdiff-hunk-with-func-line' into maintLibravatar Junio C Hamano10-93/+365
"git show -W" (extend hunks to cover the entire function, delimited by lines that match the "funcname" pattern) used to show the entire file when a change added an entire function at the end of the file, which has been fixed. * rs/xdiff-hunk-with-func-line: xdiff: fix merging of appended hunk with -W grep: -W: don't extend context to trailing empty lines t7810: add test for grep -W and trailing empty context lines xdiff: don't trim common tail with -W xdiff: -W: don't include common trailing empty lines in context xdiff: ignore empty lines before added functions with -W xdiff: handle appended chunks better with -W xdiff: factor out match_func_rec() t4051: rewrite, add more tests
2016-06-27Merge branch 'jk/rev-list-count-with-bitmap' into maintLibravatar Junio C Hamano2-1/+11
"git rev-list --count" whose walk-length is limited with "-n" option did not work well with the counting optimized to look at the bitmap index. * jk/rev-list-count-with-bitmap: rev-list: disable bitmaps when "-n" is used with listing objects rev-list: "adjust" results of "--count --use-bitmap-index -n"
2016-06-27Merge branch 'et/pretty-format-c-auto' into maintLibravatar Junio C Hamano2-8/+20
The commands in `git log` family take %C(auto) in a custom format string. This unconditionally turned the color on, ignoring --no-color or with --color=auto when the output is not connected to a tty; this was corrected to make the format truly behave as "auto". * et/pretty-format-c-auto: format_commit_message: honor `color=auto` for `%C(auto)`
2016-06-27Merge branch 'ew/daemon-socket-keepalive' into maintLibravatar Junio C Hamano1-0/+14
When "git daemon" is run without --[init-]timeout specified, a connection from a client that silently goes offline can hang around for a long time, wasting resources. The socket-level KEEPALIVE has been enabled to allow the OS to notice such failed connections. * ew/daemon-socket-keepalive: daemon: enable SO_KEEPALIVE for all sockets
2016-06-22git-svn: skip mergeinfo handling with --no-follow-parentLibravatar Eric Wong1-9/+16
For repositories without parent following enabled, finding git parents through svn:mergeinfo or svk::parents can be expensive and pointless. Reported-by: Александр Овчинников <proff@proff.email> http://mid.gmane.org/4094761466408188@web24o.yandex.ru Signed-off-by: Eric Wong <e@80x24.org>
2016-06-20Start the post-2.9 cycleLibravatar Junio C Hamano3-2/+70
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-06-20Merge branch 'rs/xdiff-hunk-with-func-line'Libravatar Junio C Hamano10-93/+365
"git show -W" (extend hunks to cover the entire function, delimited by lines that match the "funcname" pattern) used to show the entire file when a change added an entire function at the end of the file, which has been fixed. * rs/xdiff-hunk-with-func-line: xdiff: fix merging of appended hunk with -W grep: -W: don't extend context to trailing empty lines t7810: add test for grep -W and trailing empty context lines xdiff: don't trim common tail with -W xdiff: -W: don't include common trailing empty lines in context xdiff: ignore empty lines before added functions with -W xdiff: handle appended chunks better with -W xdiff: factor out match_func_rec() t4051: rewrite, add more tests
2016-06-20Merge branch 'jk/rev-list-count-with-bitmap'Libravatar Junio C Hamano2-1/+11
"git rev-list --count" whose walk-length is limited with "-n" option did not work well with the counting optimized to look at the bitmap index. * jk/rev-list-count-with-bitmap: rev-list: disable bitmaps when "-n" is used with listing objects rev-list: "adjust" results of "--count --use-bitmap-index -n"
2016-06-20Merge branch 'wd/userdiff-css'Libravatar Junio C Hamano15-0/+90
Update the funcname definition to support css files. * wd/userdiff-css: userdiff: add built-in pattern for CSS
2016-06-20Merge branch 'jc/clear-pathspec'Libravatar Junio C Hamano10-15/+15
We usually call a function that clears the contents a data structure X without freeing the structure itself clear_X(), and call a function that does clear_X() and also frees it free_X(). free_pathspec() function has been renamed to clear_pathspec() to avoid confusion. * jc/clear-pathspec: pathspec: rename free_pathspec() to clear_pathspec()
2016-06-20Merge branch 'aq/upload-pack-use-parse-options'Libravatar Junio C Hamano2-36/+37
"git upload-pack" command has been updated to use the parse-options API. * aq/upload-pack-use-parse-options: upload-pack.c: use parse-options API
2016-06-20Merge branch 'jg/dash-is-last-branch-in-worktree-add'Libravatar Junio C Hamano3-1/+21
"git worktree add" learned that '-' can be used as a short-hand for "@{-1}", the previous branch. * jg/dash-is-last-branch-in-worktree-add: worktree: allow "-" short-hand for @{-1} in add command
2016-06-20Merge branch 'et/pretty-format-c-auto'Libravatar Junio C Hamano2-8/+20
The commands in `git log` family take %C(auto) in a custom format string. This unconditionally turned the color on, ignoring --no-color or with --color=auto when the output is not connected to a tty; this was corrected to make the format truly behave as "auto". * et/pretty-format-c-auto: format_commit_message: honor `color=auto` for `%C(auto)`
2016-06-20Merge branch 'sb/submodule-recommend-shallowness'Libravatar Junio C Hamano6-4/+85
An upstream project can make a recommendation to shallowly clone some submodules in the .gitmodules file it ships. * sb/submodule-recommend-shallowness: submodule update: learn `--[no-]recommend-shallow` option submodule-config: keep shallow recommendation around
2016-06-20Merge branch 'sb/submodule-misc-cleanups'Libravatar Junio C Hamano1-1/+1
Minor simplification. * sb/submodule-misc-cleanups: submodule update: make use of the existing fetch_in_submodule function
2016-06-20Merge branch 'ew/daemon-socket-keepalive'Libravatar Junio C Hamano1-0/+14
When "git daemon" is run without --[init-]timeout specified, a connection from a client that silently goes offline can hang around for a long time, wasting resources. The socket-level KEEPALIVE has been enabled to allow the OS to notice such failed connections. * ew/daemon-socket-keepalive: daemon: enable SO_KEEPALIVE for all sockets
2016-06-20Merge branch 'ah/no-verify-signature-with-pull-rebase'Libravatar Junio C Hamano2-0/+19
"git pull --rebase --verify-signature" learned to warn the user that "--verify-signature" is a no-op when rebasing. * ah/no-verify-signature-with-pull-rebase: pull: warn on --verify-signatures with --rebase