summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-03-14pkt-line: allow peeking a packet line without consuming itLibravatar Brandon Williams2-0/+108
Sometimes it is advantageous to be able to peek the next packet line without consuming it (e.g. to be able to determine the protocol version a server is speaking). In order to do that introduce 'struct packet_reader' which is an abstraction around the normal packet reading logic. This enables a caller to be able to peek a single line at a time using 'packet_reader_peek()' and having a caller consume a line by calling 'packet_reader_read()'. Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-03-14pkt-line: introduce packet_read_with_statusLibravatar Brandon Williams2-14/+53
The current pkt-line API encodes the status of a pkt-line read in the length of the read content. An error is indicated with '-1', a flush with '0' (which can be confusing since a return value of '0' can also indicate an empty pkt-line), and a positive integer for the length of the read content otherwise. This doesn't leave much room for allowing the addition of additional special packets in the future. To solve this introduce 'packet_read_with_status()' which reads a packet and returns the status of the read encoded as an 'enum packet_status' type. This allows for easily identifying between special and normal packets as well as errors. It also enables easily adding a new special packet in the future. Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-12-28Git 2.16-rc0Libravatar Junio C Hamano2-1/+32
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-12-28Merge branch 'sb/describe-blob'Libravatar Junio C Hamano8-52/+277
"git describe" was taught to dig trees deeper to find a <commit-ish>:<path> that refers to a given blob object. * sb/describe-blob: builtin/describe.c: describe a blob builtin/describe.c: factor out describe_commit builtin/describe.c: print debug statements earlier builtin/describe.c: rename `oid` to avoid variable shadowing revision.h: introduce blob/tree walking in order of the commits list-objects.c: factor out traverse_trees_and_blobs t6120: fix typo in test name
2017-12-28Merge branch 'hi/merge-verify-sig-config'Libravatar Junio C Hamano4-0/+132
"git merge" learned to pay attention to merge.verifySignatures configuration variable and pretend as if '--verify-signatures' option was given from the command line. * hi/merge-verify-sig-config: t5573, t7612: clean up after unexpected success of 'pull' and 'merge' t: add tests for pull --verify-signatures merge: add config option for verifySignatures
2017-12-28Merge branch 'ws/curl-http-proxy-over-https'Libravatar Junio C Hamano1-0/+5
Git has been taught to support an https:// URL used for http.proxy when using recent versions of libcurl. * ws/curl-http-proxy-over-https: http: support CURLPROXY_HTTPS
2017-12-28Merge branch 'ks/doc-previous-checkout'Libravatar Junio C Hamano1-7/+12
Doc update. * ks/doc-previous-checkout: Doc/check-ref-format: clarify information about @{-N} syntax
2017-12-28Merge branch 'ks/rebase-error-messages'Libravatar Junio C Hamano1-10/+25
Error messages from "git rebase" have been somewhat cleaned up. * ks/rebase-error-messages: rebase: rebasing can also be done when HEAD is detached rebase: distinguish user input by quoting it rebase: consistently use branch_name variable
2017-12-28Merge branch 'sr/http-sslverify-config-doc'Libravatar Junio C Hamano1-2/+2
Docfix. * sr/http-sslverify-config-doc: config: document default value of http.sslVerify
2017-12-28Merge branch 'nm/imap-send-quote-server-folder-name'Libravatar Junio C Hamano1-1/+7
"git imap-send" did not correctly quote the folder name when making a request to the server, which has been corrected. * nm/imap-send-quote-server-folder-name: imap-send: URI encode server folder
2017-12-28Merge branch 'bp/fsmonitor'Libravatar Junio C Hamano1-2/+1
Test fix. * bp/fsmonitor: p7519: improve check for prerequisite WATCHMAN
2017-12-28Merge branch 'jh/partial-clone-doc'Libravatar Junio C Hamano1-0/+324
* jh/partial-clone-doc: partial-clone: design doc
2017-12-28Merge branch 'jt/transport-hide-vtable'Libravatar Junio C Hamano6-93/+120
Code clean-up. * jt/transport-hide-vtable: transport: make transport vtable more private clone, fetch: remove redundant transport check
2017-12-28Merge branch 'js/enhanced-version-info'Libravatar Junio C Hamano4-1/+20
"git version --build-options" learned to report the host CPU and the exact commit object name the binary was built from. * js/enhanced-version-info: version --build-options: report commit, too, if possible version --build-options: also report host CPU
2017-12-28Merge branch 'tz/lib-git-svn-svnserve-tests'Libravatar Junio C Hamano1-11/+13
* tz/lib-git-svn-svnserve-tests: t/lib-git-svn.sh: improve svnserve tests with parallel make test t/lib-git-svn: cleanup inconsistent tab/space usage
2017-12-28Merge branch 'ew/svn-crlf'Libravatar Junio C Hamano2-0/+28
"git svn" has been updated to strip CRs in the commit messages, as recent versions of Subversion rejects them. * ew/svn-crlf: git-svn: convert CRLF to LF in commit message to SVN
2017-12-28Merge branch 'cc/skip-to-optional-val'Libravatar Junio C Hamano5-90/+126
Introduce a helper to simplify code to parse a common pattern that expects either "--key" or "--key=<something>". * cc/skip-to-optional-val: t4045: reindent to make helpers readable diff: add tests for --relative without optional prefix value diff: use skip_to_optional_arg_default() in parsing --relative diff: use skip_to_optional_arg_default() diff: use skip_to_optional_arg() index-pack: use skip_to_optional_arg() git-compat-util: introduce skip_to_optional_arg()
2017-12-28Merge branch 'ra/prompt-eread-fix'Libravatar Junio C Hamano1-3/+4
Update the shell prompt script (in contrib/) to strip trailing CR from strings read from various "state" files. * ra/prompt-eread-fix: git-prompt: fix reading files with windows line endings git-prompt: make __git_eread intended use explicit
2017-12-28Merge branch 'bw/path-doc'Libravatar Junio C Hamano1-21/+112
Doc updates. * bw/path-doc: path: document path functions
2017-12-27RelNotes: the eleventh batchLibravatar Junio C Hamano1-0/+41
Hopefully the last one before -rc0 Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-12-27Merge branch 'rb/quick-install-doc'Libravatar Junio C Hamano2-6/+8
The build procedure now allows not just the repositories but also the refs to be used to take pre-formatted manpages and html documents to install. * rb/quick-install-doc: install-doc-quick: allow specifying what ref to install
2017-12-27Merge branch 'jt/transport-no-more-rsync'Libravatar Junio C Hamano2-9/+1
Code clean-up. * jt/transport-no-more-rsync: transport: remove unused "push" in vtable
2017-12-27Merge branch 'sg/travis-fixes'Libravatar Junio C Hamano3-29/+39
Assorted updates for TravisCI integration. * sg/travis-fixes: travis-ci: use 'set -x' in 'ci/*' scripts for extra tracing output travis-ci: set GIT_TEST_HTTPD in 'ci/lib-travisci.sh' travis-ci: move setting environment variables to 'ci/lib-travisci.sh' travis-ci: introduce a $jobname variable for 'ci/*' scripts
2017-12-27Merge branch 'sb/test-helper-excludes'Libravatar Junio C Hamano1-41/+5
Simplify the ignore rules for t/helper directory. * sb/test-helper-excludes: t/helper: ignore everything but sources
2017-12-27Merge branch 'ot/pretty'Libravatar Junio C Hamano6-84/+136
Code clean-up. * ot/pretty: format: create docs for pretty.h format: create pretty.h file
2017-12-27Merge branch 'bw/submodule-sans-cache-compat'Libravatar Junio C Hamano5-23/+31
Code clean-up. * bw/submodule-sans-cache-compat: submodule: convert get_next_submodule to not rely on the_index submodule: used correct index in is_staging_gitmodules_ok submodule: convert stage_updated_gitmodules to take a struct index_state
2017-12-27Merge branch 'es/clone-shared-worktree'Libravatar Junio C Hamano2-1/+8
"git clone --shared" to borrow from a (secondary) worktree did not work, even though "git clone --local" did. Both are now accepted. * es/clone-shared-worktree: clone: support 'clone --shared' from a worktree
2017-12-27Merge branch 'tb/delimit-pretty-trailers-args-with-comma'Libravatar Junio C Hamano1-5/+7
Doc updates. * tb/delimit-pretty-trailers-args-with-comma: docs/pretty-formats: mention commas in %(trailers) syntax
2017-12-27Merge branch 'rs/fmt-merge-msg-leakfix'Libravatar Junio C Hamano1-2/+5
Leakfix. * rs/fmt-merge-msg-leakfix: transport-helper: plug strbuf and string_list leaks
2017-12-27Merge branch 'jt/decorate-api'Libravatar Junio C Hamano8-25/+146
A few structures and variables that are implementation details of the decorate API have been renamed and then the API got documented better. * jt/decorate-api: decorate: clean up and document API
2017-12-27Merge branch 'jk/cvsimport-quoting'Libravatar Junio C Hamano1-1/+1
Typo/Logico fix. * jk/cvsimport-quoting: cvsimport: apply shell-quoting regex globally
2017-12-27Merge branch 'db/doc-workflows-neuter-the-maintainer'Libravatar Junio C Hamano1-2/+2
Docfix. * db/doc-workflows-neuter-the-maintainer: doc: reword gitworkflows.txt for neutrality
2017-12-27Merge branch 'ks/branch-cleanup'Libravatar Junio C Hamano4-11/+24
Code clean-up. * ks/branch-cleanup: builtin/branch: strip refs/heads/ using skip_prefix branch: update warning message shown when copying a misnamed branch branch: group related arguments of create_branch() branch: improve documentation and naming of create_branch() parameters
2017-12-27Merge branch 'rs/strbuf-read-once-reset-length'Libravatar Junio C Hamano1-0/+3
Leakfix. * rs/strbuf-read-once-reset-length: strbuf: release memory on read error in strbuf_read_once()
2017-12-27Merge branch 'rs/fmt-merge-msg-string-leak-fix'Libravatar Junio C Hamano1-1/+2
Leakfix. * rs/fmt-merge-msg-string-leak-fix: fmt-merge-msg: avoid leaking strbuf in shortlog()
2017-12-27Merge branch 'rs/am-builtin-leakfix'Libravatar Junio C Hamano1-3/+7
Leakfix. * rs/am-builtin-leakfix: am: release strbuf after use in split_mail_mbox()
2017-12-27Merge branch 'es/worktree-checkout-hook'Libravatar Junio C Hamano3-7/+47
"git worktree add" learned to run the post-checkout hook, just like "git checkout" does, after the initial checkout. * es/worktree-checkout-hook: worktree: invoke post-checkout hook (unless --no-checkout)
2017-12-27Merge branch 'lb/rebase-i-short-command-names'Libravatar Junio C Hamano8-126/+186
With a configuration variable rebase.abbreviateCommands set, "git rebase -i" produces the todo list with a single-letter command names. * lb/rebase-i-short-command-names: sequencer.c: drop 'const' from function return type t3404: add test case for abbreviated commands rebase -i: learn to abbreviate command names rebase -i -x: add exec commands via the rebase--helper rebase -i: update functions to use a flags parameter rebase -i: replace reference to sha1 with oid rebase -i: refactor transform_todo_ids rebase -i: set commit to null in exec commands Documentation: use preferred name for the 'todo list' script Documentation: move rebase.* configs to new file
2017-12-27Merge branch 'tb/check-crlf-for-safe-crlf'Libravatar Junio C Hamano2-10/+86
The "safe crlf" check incorrectly triggered for contents that does not use CRLF as line endings, which has been corrected. * tb/check-crlf-for-safe-crlf: t0027: Adapt the new MIX tests to Windows convert: tighten the safe autocrlf handling
2017-12-27Merge branch 'jh/object-filtering'Libravatar Junio C Hamano20-53/+1735
In preparation for implementing narrow/partial clone, the object walking machinery has been taught a way to tell it to "filter" some objects from enumeration. * jh/object-filtering: rev-list: support --no-filter argument list-objects-filter-options: support --no-filter list-objects-filter-options: fix 'keword' typo in comment pack-objects: add list-objects filtering rev-list: add list-objects filtering support list-objects: filter objects in traverse_commit_list oidset: add iterator methods to oidset oidmap: add oidmap iterator methods dir: allow exclusions from blob in addition to file
2017-12-27sequencer.c: drop 'const' from function return typeLibravatar Junio C Hamano1-1/+1
With -Werror=ignored-qualifiers, a function that claims to return "const char" gets this error: CC sequencer.o sequencer.c:798:19: error: type qualifiers ignored on function return type [-Werror=ignored-qualifiers] static const char command_to_char(const enum todo_command command) ^ Reported-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-12-19t5573, t7612: clean up after unexpected success of 'pull' and 'merge'Libravatar Junio C Hamano2-8/+17
The previous steps added test_when_finished to tests that run 'git pull' or 'git merge' with expectation of success, so that the test after them can start from a known state even when their 'git pull' invocation unexpectedly fails. However, tests that run 'git pull' or 'git merge' expecting it not to succeed forgot to protect later tests the same way---if they unexpectedly succeed, the test after them would start from an unexpected state. Reset and checkout the initial commit after all these tests, whether they expect their invocations to succeed or fail. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-12-19RelNotes: the tenth batchLibravatar Junio C Hamano1-0/+46
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-12-19Merge branch 'ls/editor-waiting-message'Libravatar Junio C Hamano7-7/+41
Git shows a message to tell the user that it is waiting for the user to finish editing when spawning an editor, in case the editor opens to a hidden window or somewhere obscure and the user gets lost. * ls/editor-waiting-message: launch_editor(): indicate that Git waits for user input refactor "dumb" terminal determination
2017-12-19Merge branch 'sg/setup-doc-update'Libravatar Junio C Hamano1-1/+1
Comment update. * sg/setup-doc-update: setup.c: fix comment about order of .git directory discovery
2017-12-19Merge branch 'ar/unconfuse-three-dots'Libravatar Junio C Hamano25-24/+458
Ancient part of codebase still shows dots after an abbreviated object name just to show that it is not a full object name, but these ellipses are confusing to people who newly discovered Git who are used to seeing abbreviated object names and find them confusing with the range syntax. * ar/unconfuse-three-dots: t2020: test variations that matter t4013: test new output from diff --abbrev --raw diff: diff_aligned_abbrev: remove ellipsis after abbreviated SHA-1 value t4013: prepare for upcoming "diff --raw --abbrev" output format change checkout: describe_detached_head: remove ellipsis after committish print_sha1_ellipsis: introduce helper Documentation: user-manual: limit usage of ellipsis Documentation: revisions: fix typo: "three dot" ---> "three-dot" (in line with "two-dot").
2017-12-19Merge branch 'tg/worktree-create-tracking'Libravatar Junio C Hamano8-51/+277
The way "git worktree add" determines what branch to create from where and checkout in the new worktree has been updated a bit. * tg/worktree-create-tracking: add worktree.guessRemote config option worktree: add --guess-remote flag to add subcommand worktree: make add <path> <branch> dwim worktree: add --[no-]track option to the add subcommand worktree: add can be created from any commit-ish checkout: factor out functions to new lib file
2017-12-19Merge branch 'gk/tracing-optimization'Libravatar Junio C Hamano2-40/+48
The tracing infrastructure has been optimized for cases where no tracing is requested. * gk/tracing-optimization: trace: improve performance while category is disabled trace: remove trace key normalization
2017-12-19Merge branch 'bw/submodule-config-cleanup'Libravatar Junio C Hamano2-0/+19
Recent update to the submodule configuration code broke "diff-tree" by accidentally stopping to read from the index upfront. * bw/submodule-config-cleanup: diff-tree: read the index so attribute checks work in bare repositories
2017-12-19Merge branch 'sb/clone-recursive-submodule-doc'Libravatar Junio C Hamano1-8/+11
Doc update. * sb/clone-recursive-submodule-doc: Documentation/git-clone: improve description for submodule recursing