summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-07-12Git 2.46-rc0v2.46.0-rc0Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-07-12Merge branch 'rs/simplify-submodule-helper-super-prefix-invocation'Junio C Hamano
Code clean-up. * rs/simplify-submodule-helper-super-prefix-invocation: submodule--helper: use strvec_pushf() for --super-prefix
2024-07-12Merge branch 'as/pathspec-h-typofix'Junio C Hamano
Typofix. * as/pathspec-h-typofix: pathspec: fix typo "glossary-context.txt" -> "glossary-content.txt"
2024-07-08The ninteenth batchJunio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-07-08Merge branch 'ds/sparse-lstat-caching'Junio C Hamano
The code to deal with modified paths that are out-of-cone in a sparsely checked out working tree has been optimized. * ds/sparse-lstat-caching: sparse-index: improve lstat caching of sparse paths sparse-index: count lstat() calls sparse-index: use strbuf in path_found() sparse-index: refactor path_found() sparse-checkout: refactor skip worktree retry logic
2024-07-08Merge branch 'xx/bundie-uri-fixes'Junio C Hamano
When bundleURI interface fetches multiple bundles, Git failed to take full advantage of all bundles and ended up slurping duplicated objects. * xx/bundie-uri-fixes: unbundle: extend object verification for fetches fetch-pack: expose fsckObjects configuration logic bundle-uri: verify oid before writing refs
2024-07-08Merge branch 'ps/leakfixes-more'Junio C Hamano
More memory leaks have been plugged. * ps/leakfixes-more: (29 commits) builtin/blame: fix leaking ignore revs files builtin/blame: fix leaking prefixed paths blame: fix leaking data for blame scoreboards line-range: plug leaking find functions merge: fix leaking merge bases builtin/merge: fix leaking `struct cmdnames` in `get_strategy()` sequencer: fix memory leaks in `make_script_with_merges()` builtin/clone: plug leaking HEAD ref in `wanted_peer_refs()` apply: fix leaking string in `match_fragment()` sequencer: fix leaking string buffer in `commit_staged_changes()` commit: fix leaking parents when calling `commit_tree_extended()` config: fix leaking "core.notesref" variable rerere: fix various trivial leaks builtin/stash: fix leak in `show_stash()` revision: free diff options builtin/log: fix leaking commit list in git-cherry(1) merge-recursive: fix memory leak when finalizing merge builtin/merge-recursive: fix leaking object ID bases builtin/difftool: plug memory leaks in `run_dir_diff()` object-name: free leaking object contexts ...
2024-07-08Merge branch 'tb/path-filter-fix'Junio C Hamano
The Bloom filter used for path limited history traversal was broken on systems whose "char" is unsigned; update the implementation and bump the format version to 2. * tb/path-filter-fix: bloom: introduce `deinit_bloom_filters()` commit-graph: reuse existing Bloom filters where possible object.h: fix mis-aligned flag bits table commit-graph: new Bloom filter version that fixes murmur3 commit-graph: unconditionally load Bloom filters bloom: prepare to discard incompatible Bloom filters bloom: annotate filters with hash version repo-settings: introduce commitgraph.changedPathsVersion t4216: test changed path filters with high bit paths t/helper/test-read-graph: implement `bloom-filters` mode bloom.h: make `load_bloom_filter_from_graph()` public t/helper/test-read-graph.c: extract `dump_graph_info()` gitformat-commit-graph: describe version 2 of BDAT commit-graph: ensure Bloom filters are read with consistent settings revision.c: consult Bloom filters for root commits t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
2024-07-08Merge branch 'db/date-underflow-fix'Junio C Hamano
date parser updates to be more careful about underflowing epoch based timestamp. * db/date-underflow-fix: date: detect underflow/overflow when parsing dates with timezone offset t0006: simplify prerequisites
2024-07-08Merge branch 'rj/pager-die-upon-exec-failure'Junio C Hamano
When GIT_PAGER failed to spawn, depending on the code path taken, we failed immediately (correct) or just spew the payload to the standard output (incorrect). The code now always fail immediately when GIT_PAGER fails. * rj/pager-die-upon-exec-failure: pager: die when paging to non-existing command
2024-07-08Merge branch 'ss/doc-eol-attr-fix'Junio C Hamano
Doc update. * ss/doc-eol-attr-fix: doc: fix case error of eol attribute in example
2024-07-08Merge branch 'jc/archive-prefix-with-add-virtual-file'Junio C Hamano
"git archive --add-virtual-file=<path>:<contents>" never paid attention to the --prefix=<prefix> option but the documentation said it would. The documentation has been corrected. * jc/archive-prefix-with-add-virtual-file: archive: document that --add-virtual-file takes full path
2024-07-07Merge https://github.com/j6t/git-guiJunio C Hamano
* https://github.com/j6t/git-gui: git-gui: fix inability to quit after closing another instance git-gui: sv.po: Update Swedish translation (576t0f0u) git-gui: note the new maintainer Makefile(s): do not enforce "all indents must be done with tab" Makefile(s): avoid recipe prefix in conditional statements doc: switch links to https doc: update links to current pages git-gui: po: fix typo in French "aperçu"
2024-07-07Merge branch 'os/catch-rename'Johannes Sixt
The problem can be reproduced on Linux with this sequence: 1. Run git gui from a terminal. 2. Edit the commit message and wait for at least 2 seconds. 3. Terminate the instance from the terminal, for example with Ctrl-C, to simulate crash. This leaves the file .git/GITGUI_BCK behind. 4. Start two instances of git gui &. At this point the first instance can be closed (it renames .git/GITGUI_BCK to .git/GITGUI_MSG), but the seconds brings an error message about the absent file and cannot be closed thereafter and must be killed from the command line. The renaming that happens by the first instance is the correct action and need not be repeated by the second instance. It is the correct action to ignore the failed renaming. On the other hand, the second instance could just edit the commit message again, wait 2 seconds to write GITGUI_BCK, and then can be closed without failing. At this point, since the user has edited the message, it is again correct to preserve the edited version in GITGUI_MSG. * os/catch-rename: git-gui: fix inability to quit after closing another instance
2024-07-02Sync with 'maint'Junio C Hamano
2024-07-02The eighteenth batchJunio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-07-02Merge branch 'rs/diff-color-moved-w-no-ext-diff-fix'Junio C Hamano
"git diff --no-ext-diff" when diff.external is configured ignored the "--color-moved" option. * rs/diff-color-moved-w-no-ext-diff-fix: diff: allow --color-moved with --no-ext-diff
2024-07-02Merge branch 'ew/object-convert-leakfix'Junio C Hamano
Leakfix. * ew/object-convert-leakfix: object-file: fix leak on conversion failure
2024-07-02Merge branch 'jk/remote-wo-url'Junio C Hamano
Memory ownership rules for the in-core representation of remote.*.url configuration values have been straightened out, which resulted in a few leak fixes and code clarification. * jk/remote-wo-url: remote: drop checks for zero-url case remote: always require at least one url in a remote t5801: test remote.*.vcs config t5801: make remote-testgit GIT_DIR setup more robust remote: allow resetting url list config: document remote.*.url/pushurl interaction remote: simplify url/pushurl selection remote: use strvecs to store remote url/pushurl remote: transfer ownership of memory in add_url(), etc remote: refactor alias_url() memory ownership archive: fix check for missing url
2024-07-02Merge branch 'jc/fuzz-sans-curl'Junio C Hamano
CI job to build minimum fuzzers learned to pass NO_CURL=NoThanks to the build procedure, as its build environment does not offer, or the rest of the build needs, anything cURL. * jc/fuzz-sans-curl: fuzz: minimum fuzzers environment lacks libcURL
2024-07-02Merge branch 'rb/build-options-w-lib-versions'Junio C Hamano
"git version --build-options" reports the version information of OpenSSL and other libraries (if used) in the build. * rb/build-options-w-lib-versions: version: teach --build-options to reports zlib version information version: teach --build-options to reports libcurl version information version: --build-options reports OpenSSL version information
2024-07-02Merge branch 'ps/use-the-repository'Junio C Hamano
A CPP macro USE_THE_REPOSITORY_VARIABLE is introduced to help transition the codebase to rely less on the availability of the singleton the_repository instance. * ps/use-the-repository: hex: guard declarations with `USE_THE_REPOSITORY_VARIABLE` t/helper: remove dependency on `the_repository` in "proc-receive" t/helper: fix segfault in "oid-array" command without repository t/helper: use correct object hash in partial-clone helper compat/fsmonitor: fix socket path in networked SHA256 repos replace-object: use hash algorithm from passed-in repository protocol-caps: use hash algorithm from passed-in repository oidset: pass hash algorithm when parsing file http-fetch: don't crash when parsing packfile without a repo hash-ll: merge with "hash.h" refs: avoid include cycle with "repository.h" global: introduce `USE_THE_REPOSITORY_VARIABLE` macro hash: require hash algorithm in `empty_tree_oid_hex()` hash: require hash algorithm in `is_empty_{blob,tree}_oid()` hash: make `is_null_oid()` independent of `the_repository` hash: convert `oidcmp()` and `oideq()` to compare whole hash global: ensure that object IDs are always padded hash: require hash algorithm in `oidread()` and `oidclr()` hash: require hash algorithm in `hasheq()`, `hashcmp()` and `hashclr()` hash: drop (mostly) unused `is_empty_{blob,tree}_sha1()` functions
2024-07-02Merge branch 'ew/cat-file-unbuffered-tests'Junio C Hamano
The output from "git cat-file --batch-check" and "--batch-command (info)" should not be unbuffered, for which some tests have been added. * ew/cat-file-unbuffered-tests: t1006: ensure cat-file info isn't buffered by default Git.pm: use array in command_bidi_pipe example
2024-07-02Yet another batch of post 2.45.2 updates from the 'master' frontJunio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-07-02Merge branch 'rs/remove-unused-find-header-mem' into maint-2.45Junio C Hamano
Code clean-up. * rs/remove-unused-find-header-mem: commit: remove find_header_mem()
2024-07-02Merge branch 'jc/worktree-git-path' into maint-2.45Junio C Hamano
Code cleanup. * jc/worktree-git-path: worktree_git_path(): move the declaration to path.h
2024-07-02Merge branch 'jk/fetch-pack-fsck-wo-lock-pack' into maint-2.45Junio C Hamano
"git fetch-pack -k -k" without passing "--lock-pack" (which we never do ourselves) did not work at all, which has been corrected. * jk/fetch-pack-fsck-wo-lock-pack: fetch-pack: fix segfault when fscking without --lock-pack
2024-07-02Merge branch 'jk/t5500-typofix' into maint-2.45Junio C Hamano
A helper function shared between two tests had a copy-paste bug, which has been corrected. * jk/t5500-typofix: t5500: fix mistaken $SERVER reference in helper function
2024-07-02Merge branch 'js/mingw-remove-unused-extern-decl' into maint-2.45Junio C Hamano
An unused extern declaration for mingw has been removed to prevent it from causing build failure. * js/mingw-remove-unused-extern-decl: mingw: drop bogus (and unneeded) declaration of `_pgmptr`
2024-07-02Merge branch 'jc/no-default-attr-tree-in-bare' into maint-2.45Junio C Hamano
Earlier we stopped using the tree of HEAD as the default source of attributes in a bare repository, but failed to document it. This has been corrected. * jc/no-default-attr-tree-in-bare: attr.tree: HEAD:.gitattributes is no longer the default in a bare repo
2024-07-02Merge branch 'tb/precompose-getcwd' into maint-2.45Junio C Hamano
We forgot to normalize the result of getcwd() to NFC on macOS where all other paths are normalized, which has been corrected. This still does not address the case where core.precomposeUnicode configuration is not defined globally. * tb/precompose-getcwd: macOS: ls-files path fails if path of workdir is NFD
2024-07-02Merge branch 'pw/rebase-i-error-message' into maint-2.45Junio C Hamano
When the user adds to "git rebase -i" instruction to "pick" a merge commit, the error experience is not pleasant. Such an error is now caught earlier in the process that parses the todo list. * pw/rebase-i-error-message: rebase -i: improve error message when picking merge rebase -i: pass struct replay_opts to parse_insn_line()
2024-07-02Merge branch 'ds/format-patch-rfc-and-k' into maint-2.45Junio C Hamano
The "-k" and "--rfc" options of "format-patch" will now error out when used together, as one tells us not to add anything to the title of the commit, and the other one tells us to add "RFC" in addition to "PATCH". * ds/format-patch-rfc-and-k: format-patch: ensure that --rfc and -k are mutually exclusive
2024-07-01pathspec: fix typo "glossary-context.txt" -> "glossary-content.txt"Abhijeet Sonar
The pathspec syntax is explained in the file "glossary-content.txt". Moreover, no file named "glossary-context.txt" exists in the repository. Signed-off-by: Abhijeet Sonar <abhijeet.nkt@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-07-01submodule--helper: use strvec_pushf() for --super-prefixRené Scharfe
Use the strvec_pushf() call that already appends a slash to also produce the stuck form of the option --super-prefix instead of adding the option name in a separate call of strvec_push() or strvec_pushl(). This way we can more easily see that these parts make up a single option with its argument and save a function call. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-06-30git-gui: fix inability to quit after closing another instanceOrgad Shaneh
If you open 2 git gui instances in the same directory, then close one of them and try to close the other, an error message pops up, saying: 'error renaming ".git/GITGUI_BCK": no such file or directory', and it is no longer possible to close the window ever. Fix by catching this error, and proceeding even if the file no longer exists. Signed-off-by: Orgad Shaneh <orgads@gmail.com>
2024-06-28Sync with 'maint'Junio C Hamano
2024-06-28More post 2.45.2 updates from the 'master' frontJunio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-06-28Merge branch 'ds/ahead-behind-fix' into maint-2.45Junio C Hamano
Fix for a progress bar. * ds/ahead-behind-fix: commit-graph: increment progress indicator
2024-06-28Merge branch 'ds/doc-add-interactive-singlekey' into maint-2.45Junio C Hamano
Doc update. * ds/doc-add-interactive-singlekey: doc: interactive.singleKey is disabled by default
2024-06-28Merge branch 'jc/varargs-attributes' into maint-2.45Junio C Hamano
Varargs functions that are unannotated as printf-like or execl-like have been annotated as such. * jc/varargs-attributes: __attribute__: add a few missing format attributes __attribute__: mark some functions with LAST_ARG_MUST_BE_NULL __attribute__: remove redundant attribute declaration for git_die_config() __attribute__: trace2_region_enter_printf() is like "printf"
2024-06-28Merge branch 'ps/ci-fix-detection-of-ubuntu-20' into maint-2.45Junio C Hamano
Fix for an embarrassing typo that prevented Python2 tests from running anywhere. * ps/ci-fix-detection-of-ubuntu-20: ci: fix check for Ubuntu 20.04
2024-06-28Merge branch 'jk/cap-exclude-file-size' into maint-2.45Junio C Hamano
An overly large ".gitignore" files are now rejected silently. * jk/cap-exclude-file-size: dir.c: reduce max pattern file size to 100MB dir.c: skip .gitignore, etc larger than INT_MAX
2024-06-28Merge branch 'jc/safe-directory-leading-path' into maint-2.45Junio C Hamano
The safe.directory configuration knob has been updated to optionally allow leading path matches. * jc/safe-directory-leading-path: safe.directory: allow "lead/ing/path/*" match
2024-06-28Merge branch 'rs/difftool-env-simplify' into maint-2.45Junio C Hamano
Code simplification. * rs/difftool-env-simplify: difftool: add env vars directly in run_file_diff()
2024-06-28Merge branch 'ps/fix-reinit-includeif-onbranch' into maint-2.45Junio C Hamano
"git init" in an already created directory, when the user configuration has includeif.onbranch, started to fail recently, which has been corrected. * ps/fix-reinit-includeif-onbranch: setup: fix bug with "includeIf.onbranch" when initializing dir
2024-06-28Merge branch 'es/chainlint-ncores-fix' into maint-2.45Junio C Hamano
The chainlint script (invoked during "make test") did nothing when it failed to detect the number of available CPUs. It now falls back to 1 CPU to avoid the problem. * es/chainlint-ncores-fix: chainlint.pl: latch CPU count directly reported by /proc/cpuinfo chainlint.pl: fix incorrect CPU count on Linux SPARC chainlint.pl: make CPU count computation more robust
2024-06-28Merge branch 'jc/rev-parse-fatal-doc' into maint-2.45Junio C Hamano
Doc update. * jc/rev-parse-fatal-doc: rev-parse: document how --is-* options work outside a repository
2024-06-28Merge branch 'jc/doc-diff-name-only' into maint-2.45Junio C Hamano
The documentation for "git diff --name-only" has been clarified that it is about showing the names in the post-image tree. * jc/doc-diff-name-only: diff: document what --name-only shows
2024-06-28Merge branch 'mt/t0211-typofix' into maint-2.45Junio C Hamano
Test fix. * mt/t0211-typofix: t/t0211-trace2-perf.sh: fix typo patern -> pattern