Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-01-23Merge branch 'jx/remote-archive-over-smart-http' into nextnextJunio C Hamano
"git archive --remote=<remote>" learned to talk over the smart http (aka stateless) transport. * jx/remote-archive-over-smart-http: transport-helper: call do_take_over() in process_connect transport-helper: call do_take_over() in connect_helper http-backend: new rpc-service for git-upload-archive transport-helper: protocol v2 supports upload-archive remote-curl: supports git-upload-archive service transport-helper: no connection restriction in connect_helper
2024-01-23Merge branch 'rj/advice-disable-how-to-disable' into nextJunio C Hamano
All conditional "advice" messages show how to turn them off, which becomes repetitive. Add a configuration variable to omit the instruction. * rj/advice-disable-how-to-disable: advice: allow disabling the automatic hint in advise_if_enabled()
2024-01-23Merge branch 'rs/parse-options-with-keep-unknown-abbrev-fix' into nextJunio C Hamano
"git diff --no-rename A B" did not disable rename detection but did not trigger an error from the command line parser. * rs/parse-options-with-keep-unknown-abbrev-fix: parse-options: simplify positivation handling parse-options: fully disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN
2024-01-23Merge branch 'pb/ci-github-skip-logs-for-broken-tests' into nextJunio C Hamano
GitHub CI update. * pb/ci-github-skip-logs-for-broken-tests: ci(github): also skip logs of broken test cases
2024-01-23Merge branch 'ps/reftable-optimize-io' into nextJunio C Hamano
Low-level I/O optimization for reftable. * ps/reftable-optimize-io: reftable/stack: fix race in up-to-date check reftable/stack: unconditionally reload stack after commit
2024-01-23ci(github): also skip logs of broken test casesPhilippe Blain
When a test fails in the GitHub Actions CI pipeline, we mark it up using special GitHub syntax so it stands out when looking at the run log. We also mark up "fixed" test cases, and skip passing tests since we want to concentrate on the failures. The finalize_test_case_output function in test-lib-github-workflow-markup.sh which performs this markup is however missing a fourth case: "broken" tests, i.e. tests using 'test_expect_failure' to document a known bug. This leads to these "broken" tests appearing along with any failed tests, potentially confusing the reader who might not be aware that "broken" is the status for 'test_expect_failure' tests that indeed failed, and wondering what their commits "broke". Also skip these "broken" tests so that only failures and fixed tests stand out. Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com> Acked-by: Victoria Dye <vdye@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-22Merge branch 'al/t2400-depipe' into nextJunio C Hamano
Coding style fix. * al/t2400-depipe: t2400: avoid losing exit status to pipes
2024-01-22Merge branch 'gt/t0024-style-fixes' into nextJunio C Hamano
Coding style fix. * gt/t0024-style-fixes: t0024: style fix t0024: avoid losing exit status to pipes
2024-01-22Merge branch 'en/diffcore-delta-final-line-fix' into nextJunio C Hamano
Rename detection logic ignored the final line of a file if it is an incomplete line. * en/diffcore-delta-final-line-fix: diffcore-delta: avoid ignoring final 'line' of file
2024-01-22Merge branch 'ps/not-so-many-refs-are-special' into nextJunio C Hamano
Define "special ref" as a very narrow set that consists of FETCH_HEAD and MERGE_HEAD, and clarify everything else that used to be classified as such are actually just pseudorefs. * ps/not-so-many-refs-are-special: Documentation: add "special refs" to the glossary refs: redefine special refs refs: convert MERGE_AUTOSTASH to become a normal pseudo-ref sequencer: introduce functions to handle autostashes via refs refs: convert AUTO_MERGE to become a normal pseudo-ref sequencer: delete REBASE_HEAD in correct repo when picking commits sequencer: clean up pseudo refs with REF_NO_DEREF
2024-01-22Merge branch 'js/oss-fuzz-build-in-ci' into nextJunio C Hamano
oss-fuzz tests are built and run in CI. * js/oss-fuzz-build-in-ci: ci: build and run minimal fuzzers in GitHub CI fuzz: fix fuzz test build rules
2024-01-22Merge branch 'jc/majordomo-to-subspace' into nextJunio C Hamano
Doc update. * jc/majordomo-to-subspace: Docs: majordomo@vger.kernel.org has been decomissioned
2024-01-22Merge branch 'nb/rebase-x-shell-docfix' into nextJunio C Hamano
Doc update. * nb/rebase-x-shell-docfix: rebase: fix documentation about used shell in -x
2024-01-22Merge branch 'tc/show-ref-exists-fix' into nextJunio C Hamano
Update to a new feature recently added, "git show-ref --exists". * tc/show-ref-exists-fix: builtin/show-ref: treat directory as non-existing in --exists
2024-01-22transport-helper: call do_take_over() in process_connectJiang Xin
The existing pattern among all callers of process_connect() seems to be if (process_connect(...)) { do_take_over(); ... dispatch to the underlying method ... } ... otherwise implement the fallback ... where the return value from process_connect() is the return value of the call it makes to process_connect_service(). Move the call of do_take_over() inside process_connect(), so that calling the process_connect() function is more concise and will not miss do_take_over(). Suggested-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-22transport-helper: call do_take_over() in connect_helperJiang Xin
After successfully connecting to the smart transport by calling process_connect_service() in connect_helper(), run do_take_over() to replace the old vtable with a new one which has methods ready for the smart transport connection. This fixes the exit code of git-archive in test case "archive remote http repository" of t5003. The connect_helper() function is used as the connect method of the vtable in "transport-helper.c", and it is called by transport_connect() in "transport.c" to setup a connection. The only place that we call transport_connect() so far is in "builtin/archive.c". Without running do_take_over(), it may fail to call transport_disconnect() in run_remote_archiver() of "builtin/archive.c". This is because for a stateless connection and a service like "git-upload-archive", the remote helper may receive a SIGPIPE signal and exit early. Call do_take_over() to have a graceful disconnect method, so that we still call transport_disconnect() even if the remote helper exits early. Helped-by: Linus Arver <linusa@google.com> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-22http-backend: new rpc-service for git-upload-archiveJiang Xin
Add new rpc-service "upload-archive" in http-backend to add server side support for remote archive over HTTP/HTTPS protocols. Also add new test cases in t5003. In the test case "archive remote http repository", git-archive exits with a non-0 exit code even though we create the archive correctly. It will be fixed in a later commit. Helped-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-22transport-helper: protocol v2 supports upload-archiveJiang Xin
We used to support only git-upload-pack service for protocol v2. In order to support remote archive over HTTP/HTTPS protocols, add new service support for git-upload-archive in protocol v2. Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-22remote-curl: supports git-upload-archive serviceJiang Xin
Add new service (git-upload-archive) support in remote-curl, so we can support remote archive over HTTP/HTTPS protocols. Differences between git-upload-archive and other services: 1. The git-archive program does not expect to see protocol version and capabilities when connecting to remote-helper, so do not send them in remote-curl for the git-upload-archive service. 2. We need to detect protocol version by calling discover_refs(). Fallback to use the git-upload-pack service (which, like git-upload-archive, is a read-only operation) to discover protocol version. Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-22transport-helper: no connection restriction in connect_helperJiang Xin
When commit b236752a (Support remote archive from all smart transports, 2009-12-09) added "remote archive" support for "smart transports", it was for transport that supports the ".connect" method. The "connect_helper()" function protected itself from getting called for a transport without the method before calling process_connect_service(), which only worked with the ".connect" method. Later, commit edc9caf7 (transport-helper: introduce stateless-connect, 2018-03-15) added a way for a transport without the ".connect" method to establish a "stateless" connection in protocol v2, where process_connect_service() was taught to handle the ".stateless_connect" method, making the old protection too strict. But commit edc9caf7 forgot to adjust this protection accordingly. Even at the time of commit b236752a, this protection seemed redundant, since process_connect_service() would return 0 if the connection could not be established, and connect_helper() would still die() early. Remove the restriction in connect_helper() and give the function process_connect_service() the opportunity to establish a connection using ".connect" or ".stateless_connect" for protocol v2. So we can connect with a stateless-rpc and do something useful. E.g., in a later commit, implements remote archive for a repository over HTTP protocol. Helped-by: Junio C Hamano <gitster@pobox.com> Helped-by: Linus Arver <linusa@google.com> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-22parse-options: simplify positivation handlingRené Scharfe
We accept the positive version of options whose long name starts with "no-" and are defined without the flag PARSE_OPT_NONEG. E.g. git clone has an explicitly defined --no-checkout option and also implicitly accepts --checkout to override it. parse_long_opt() handles that by restarting the option matching with the positive version when it finds that only the current option definition starts with "no-", but not the user-supplied argument. This code is located almost at the end of the matching logic. Avoid the need for a restart by moving the code up. We don't have to check the positive arg against the negative long_name at all -- the "no-" prefix of the latter makes a match impossible. Skip it and toggle OPT_UNSET right away to simplify the control flow. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-20t2400: avoid losing exit status to pipesAchu Luma
The exit code of the preceding command in a pipe is disregarded. So if that preceding command is a Git command that fails, the test would not fail. Instead, by saving the output of that Git command to a file, and removing the pipe, we make sure the test will fail if that Git command fails. Signed-off-by: Achu Luma <ach.lumap@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-20Docs: majordomo@vger.kernel.org has been decomissionedJunio C Hamano
Update the instruction for subscribing to the Git mailing list we have on a few documentation pages. Reported-by: Kyle Lippincott <spectral@google.com> Helped-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-20parse-options: fully disable option abbreviation with PARSE_OPT_KEEP_UNKNOWNRené Scharfe
baa4adc66a (parse-options: disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN, 2019-01-27) turned off support for abbreviated options when the flag PARSE_OPT_KEEP_UNKNOWN is given, as any shortened option could also be an abbreviation for one of the unknown options. The code for handling abbreviated options is guarded by an if, but it can also be reached via goto. baa4adc66a only blocked the first way. Add the condition to the other ones as well. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-20t0024: style fixGhanshyam Thakkar
t0024 has multiple command invocations on a single line, which goes against the style described in CodingGuidelines, thus fix that. Also, use the -C flag to give the destination when using $TAR, therefore, not requiring a subshell. Signed-off-by: Ghanshyam Thakkar <shyamthakkar001@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-20t0024: avoid losing exit status to pipesGhanshyam Thakkar
Replace pipe with redirection operator '>' to store the output to a temporary file after 'git archive' command since the pipe will swallow the command's exit code and a crash won't necessarily be noticed. Also fix an unwanted space after redirection '>' to match the style described in CodingGuidelines. Signed-off-by: Ghanshyam Thakkar <shyamthakkar001@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-20Sync with 'master'Junio C Hamano
2024-01-20Merge branch 'vd/fsck-submodule-url-test' into nextJunio C Hamano
Tighten URL checks fsck makes in a URL recorded for submodules. * vd/fsck-submodule-url-test: submodule-config.c: strengthen URL fsck check t7450: test submodule urls test-submodule: remove command line handling for check-name submodule-config.h: move check_submodule_url
2024-01-20Merge branch 'kh/maintenance-use-xdg-when-it-should' into nextJunio C Hamano
When $HOME/.gitignore is missing but XDG config file available, we should write into the latter, not former. "git gc" and "git maintenance" wrote into a wrong "global config" file, which have been corrected. * kh/maintenance-use-xdg-when-it-should: maintenance: use XDG config if it exists config: factor out global config file retrieval config: rename global config function config: format newlines
2024-01-20Merge branch 'gt/test-commit-o-i-options' into nextJunio C Hamano
A few tests to "git commit -o <pathspec>" and "git commit -i <pathspec>" has been added. * gt/test-commit-o-i-options: t7501: add tests for --amend --signoff t7501: add tests for --include and --only
2024-01-20Merge branch 'ps/gitlab-ci-macos' into nextJunio C Hamano
CI for GitLab learned to drive macOS jobs. * ps/gitlab-ci-macos: ci: add macOS jobs to GitLab CI ci: make p4 setup on macOS more robust ci: handle TEST_OUTPUT_DIRECTORY when printing test failures Makefile: detect new Homebrew location for ARM-based Macs t7527: decrease likelihood of racing with fsmonitor daemon
2024-01-20Merge branch 'ps/completion-with-reftable-fix' into nextJunio C Hamano
Completion update to prepare for reftable * ps/completion-with-reftable-fix: completion: treat dangling symrefs as existing pseudorefs completion: silence pseudoref existence check completion: improve existence check for pseudo-refs t9902: verify that completion does not print anything completion: discover repo path in `__git_pseudoref_exists ()`
2024-01-20Merge branch 'jt/tests-with-reftable' into nextJunio C Hamano
Tweak a few tests not to manually modify the reference database (hence easier to work with other backends like reftable). * jt/tests-with-reftable: t5541: remove lockfile creation t1401: remove lockfile creation
2024-01-20Merge branch 'la/strvec-comment-fix' into nextJunio C Hamano
Comment fix. * la/strvec-comment-fix: strvec: use correct member name in comments
2024-01-20Merge branch 'mj/gitweb-unreadable-config-error' into nextJunio C Hamano
When given an existing but unreadable file as a configuration file, gitweb behaved as if the file did not exist at all, but now it errors out. This is a change that may break backward compatibility. * mj/gitweb-unreadable-config-error: gitweb: die when a configuration file cannot be read
2024-01-20Merge branch 'ps/worktree-refdb-initialization' into nextJunio C Hamano
Instead of manually creating refs/ hierarchy on disk upon a creation of a secondary worktree, which is only usable via the files backend, use the refs API to populate it. * ps/worktree-refdb-initialization: builtin/worktree: create refdb via ref backend worktree: expose interface to look up worktree by name builtin/worktree: move setup of commondir file earlier refs/files: skip creation of "refs/{heads,tags}" for worktrees setup: move creation of "refs/" into the files backend refs: prepare `refs_init_db()` for initializing worktree refs
2024-01-20Merge branch 'ps/commit-graph-write-leakfix' into nextJunio C Hamano
Leakfix. * ps/commit-graph-write-leakfix: commit-graph: fix memory leak when not writing graph
2024-01-20Merge branch 'al/unit-test-ctype' into nextJunio C Hamano
Move test-ctype helper to the unit-test framework. * al/unit-test-ctype: unit-tests: rewrite t/helper/test-ctype.c as a unit test
2024-01-20Merge branch 'ne/doc-filter-blob-limit-fix' into nextJunio C Hamano
Docfix. * ne/doc-filter-blob-limit-fix: rev-list-options: fix off-by-one in '--filter=blob:limit=<n>' explainer
2024-01-20Merge branch 'rj/advice-delete-branch-not-fully-merged' into nextJunio C Hamano
The error message given when "git branch -d branch" fails due to commits unique to the branch has been split into an error and a new conditional advice message. * rj/advice-delete-branch-not-fully-merged: branch: make the advice to force-deleting a conditional one advice: fix an unexpected leading space advice: sort the advice related lists
2024-01-20The ninth batchHEADmastermainJunio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-20Merge branch 'ps/p4-use-ref-api'Junio C Hamano
"git p4" update to prepare for reftable * ps/p4-use-ref-api: git-p4: stop reaching into the refdb
2024-01-20Merge branch 'cp/t4129-pipefix'Junio C Hamano
Test update. * cp/t4129-pipefix: t4129: prevent loss of exit code due to the use of pipes
2024-01-20Merge branch 'sk/mingw-owner-check-error-message-improvement'Junio C Hamano
In addition to (rather cryptic) Security Identifiers, show username and domain in the error message when we barf on mismatch between the Git directory and the current user on Windows. * sk/mingw-owner-check-error-message-improvement: mingw: give more details about unsafe directory's ownership
2024-01-20Merge branch 'bk/bisect-doc-fix'Junio C Hamano
Synopsis fix. * bk/bisect-doc-fix: doc: refer to pathspec instead of path doc: use singular form of repeatable path arg
2024-01-20Merge branch 'tb/fetch-all-configuration'Junio C Hamano
"git fetch" learned to pay attention to "fetch.all" configuration variable, which pretends as if "--all" was passed from the command line when no remote parameter was given. * tb/fetch-all-configuration: fetch: add new config option fetch.all
2024-01-20Merge branch 'rj/clarify-branch-doc-m'Junio C Hamano
Doc update. * rj/clarify-branch-doc-m: branch: clarify <oldbranch> term
2024-01-20Merge branch 'ps/gitlab-ci-static-analysis'Junio C Hamano
GitLab CI update. * ps/gitlab-ci-static-analysis: ci: add job performing static analysis on GitLab CI
2024-01-20Merge branch 'ps/prompt-parse-HEAD-futureproof'Junio C Hamano
Futureproof command line prompt support (in contrib/). * ps/prompt-parse-HEAD-futureproof: git-prompt: stop manually parsing HEAD with unknown ref formats
2024-01-20ci: build and run minimal fuzzers in GitHub CIJosh Steadmon
To prevent bitrot, we would like to regularly exercise the fuzz tests in order to make sure they still link & run properly. We already compile the fuzz test objects as part of the default `make` target, but we do not link the executables due to the fuzz tests needing specific compilers and compiler features. This has lead to frequent build breakages for the fuzz tests. To remedy this, we can add a CI step to actually link the fuzz executables, and run them (with finite input rather than the default infinite random input mode) to verify that they execute properly. Since the main use of the fuzz tests is via OSS-Fuzz [1], and OSS-Fuzz only runs tests on Linux [2], we only set up a CI test for the fuzzers on Linux. [1] https://github.com/google/oss-fuzz [2] https://google.github.io/oss-fuzz/further-reading/fuzzer-environment/ Signed-off-by: Josh Steadmon <steadmon@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>