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
2023-02-24treewide: replace cache.h with more direct headers, where possibleElijah Newren
Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-24replace-object.h: move read_replace_refs declaration from cache.h to hereElijah Newren
Adjust several files to be more explicit about their dependency on replace-objects to accommodate this change. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-24object-store.h: move struct object_info from cache.hElijah Newren
Move struct object_info, and a few related #define's from cache.h to object-store.h. A surprising effect of this change is that replace-object.h, which includes object-store.h, now needs to directly include cache.h since that is where read_replace_refs is declared and that variable is used in one of its inline functions. The next commit will move that declaration and fix that unfortunate new direct inclusion of cache.h. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-24dir.h: refactor to no longer need to include cache.hElijah Newren
Moving a few functions around allows us to make dir.h no longer need to include cache.h. This commit is best viewed with: git log -1 -p --color-moved Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-24object.h: stop depending on cache.h; make cache.h depend on object.hElijah Newren
Things should be able to depend on object.h without pulling in all of cache.h. Move an enum to allow this. Note that a couple files previously depended on things brought in through cache.h indirectly (revision.h -> commit.h -> object.h -> cache.h). As such, this change requires making existing dependencies more explicit in half a dozen files. The inclusion of strbuf.h in some headers if of particular note: these headers directly embedded a strbuf in some new structs, meaning they should have been including strbuf.h all along but were indirectly getting the necessary definitions. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-24ident.h: move ident-related declarations out of cache.hElijah Newren
These functions were all defined in a separate ident.c already, so create ident.h and move the declarations into that file. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-24pretty.h: move has_non_ascii() declaration from commit.hElijah Newren
The function is defined in pretty.c, so this moves the declaration to a more logical place. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-24cache.h: remove dependence on hex.h; make other files include it explicitlyElijah Newren
Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-24hex.h: move some hex-related declarations from cache.hElijah Newren
hex.c contains code for hex-related functions, but for some reason these functions were declared in the catch-all cache.h. Move the function declarations into a hex.h header instead. This also allows us to remove includes of cache.h from a few C files. For now, we make cache.h include hex.h, so that it is easier to review the direct changes being made by this patch. In the next patch, we will remove that, and add the necessary direct '#include "hex.h"' in the hundreds of C files that need it. Note that reviewing the header changes in this commit might be simplified via git log --no-walk -p --color-moved $COMMIT -- '*.h'` In particular, it highlights the simple movement of code in .h files rather nicely. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-24hash.h: move some oid-related declarations from cache.hElijah Newren
These defines and enum are all oid-related and as such seem to make more sense being included in hash.h. Further, moving them there allows us to remove some includes of cache.h in other files. The change to line-log.h might look unrelated, but line-log.h includes diffcore.h, which previously included cache.h, which included the kitchen sink. Since this patch makes diffcore.h no longer include cache.h, the compiler complains about the 'struct string_list *' function parameter. Add a forward declaration for struct string_list to address this. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-24alloc.h: move ALLOC_GROW() functions from cache.hElijah Newren
This allows us to replace includes of cache.h with includes of the much smaller alloc.h in many places. It does mean that we also need to add includes of alloc.h in a number of C files. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-24treewide: remove unnecessary cache.h includes in source filesElijah Newren
We had several C files include cache.h unnecessarily. Replace those with an include of "git-compat-util.h" instead. Much like the previous commit, these have all been verified via both ensuring that gcc -E $SOURCE_FILE | grep '"cache.h"' found no hits and that make DEVELOPER=1 ${OBJECT_FILE_FOR_SOURCE_FILE} successfully compiles without warnings. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-24treewide: remove unnecessary cache.h includesElijah Newren
We had several header files include cache.h unnecessarily. Remove those. These have all been verified via both ensuring that gcc -E $HEADER | grep '"cache.h"' found no hits and that cat >temp.c <<EOF && #include "git-compat-util.h" #include "$HEADER" int main() {} EOF gcc -c temp.c successfully compiles without warnings. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-24treewide: remove unnecessary git-compat-util.h includes in headersElijah Newren
For sanity, we should probably do one of the following: (a) make C and header files both depend upon everything they need (b) consistently exclude git-compat-util.h from headers and require it be the first include in C files Currently, we have some of the headers following (a) and others following (b), which makes things messy. In the past I was pushed towards (b), as per [1] and [2]. Further, during this series I discovered that this mixture empirically will mean that we end up with C files that do not directly include git-compat-util.h, and do include headers that don't include git-compat-util.h, with the result that we likely have headers included before an indirect inclusion of git-compat-util.h. Since git-compat-util.h has tricky platform-specific stuff that is meant to be included before everything else, this state of affairs is risky and may lead to things breaking in subtle ways (and only on some platforms) as per [1] and [2]. Since including git-compat-util.h in existing header files makes it harder for us to catch C files that are missing that include, let's switch to (b) to make the enforcement of this rule easier. Remove the inclusion of git-compat-util.h from header files other than the ones that have been approved as alternate first includes. [1] https://lore.kernel.org/git/20180811173406.GA9119@sigill.intra.peff.net/ [2] https://lore.kernel.org/git/20180811174301.GA9287@sigill.intra.peff.net/ Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-24treewide: ensure one of the appropriate headers is sourced firstElijah Newren
We had several C files ignoring the rule to include one of the appropriate headers first; fix that. While at it, the rule in Documentation/CodingGuidelines about which header to include has also fallen out of sync, so update the wording to mention other allowed headers. Unfortunately, C files in reftable/ don't actually follow the previous or updated rule. If you follow the #include chain in its C files, reftable/system.h _tends_ to be first (i.e. record.c first includes record.h, which first includes basics.h, which first includees system.h), but not always (e.g. publicbasics.c includes another header first that does not include system.h). However, I'm going to punt on making actual changes to the C files in reftable/ since I do not want to risk bringing it out-of-sync with any version being used externally. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-23The seventeenth batchJunio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-23Merge branch 'ab/hook-api-with-stdin'Junio C Hamano
Extend the run-hooks API to allow feeding data from the standard input when running the hook script(s). * ab/hook-api-with-stdin: hook: support a --to-stdin=<path> option sequencer: use the new hook API for the simpler "post-rewrite" call hook API: support passing stdin to hooks, convert am's 'post-rewrite' run-command: allow stdin for run_processes_parallel run-command.c: remove dead assignment in while-loop
2023-02-23Merge branch 'ab/various-leak-fixes'Junio C Hamano
Leak fixes. * ab/various-leak-fixes: push: free_refs() the "local_refs" in set_refspecs() push: refactor refspec_append_mapped() for subsequent leak-fix receive-pack: release the linked "struct command *" list grep API: plug memory leaks by freeing "header_list" grep.c: refactor free_grep_patterns() builtin/merge.c: free "&buf" on "Your local changes..." error builtin/merge.c: use fixed strings, not "strbuf", fix leak show-branch: free() allocated "head" before return commit-graph: fix a parse_options_concat() leak http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}() http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main() worktree: fix a trivial leak in prune_worktrees() repack: fix leaks on error with "goto cleanup" name-rev: don't xstrdup() an already dup'd string various: add missing clear_pathspec(), fix leaks clone: use free() instead of UNLEAK() commit-graph: use free_commit_graph() instead of UNLEAK() bundle.c: don't leak the "args" in the "struct child_process" tests: mark tests as passing with SANITIZE=leak
2023-02-23Merge branch 'jk/doc-ls-remote-matching'Junio C Hamano
Doc update. * jk/doc-ls-remote-matching: doc/ls-remote: clarify pattern format doc/ls-remote: cosmetic cleanups for examples
2023-02-23Merge branch 'rs/cache-tree-strbuf-growth-fix'Junio C Hamano
Remove unnecessary explicit sizing of strbuf. * rs/cache-tree-strbuf-growth-fix: cache-tree: fix strbuf growth in prime_cache_tree_rec()
2023-02-23Merge branch 'ab/the-index-compatibility'Junio C Hamano
Remove more remaining uses of macros that relies on the_index singleton instance without explicitly spelling it out. * ab/the-index-compatibility: cocci & cache.h: remove "USE_THE_INDEX_COMPATIBILITY_MACROS" cache-tree API: remove redundant update_main_cache_tree() cocci & cache-tree.h: migrate "write_cache_as_tree" to "*_index_*" cocci & cache.h: apply pending "index_cache_pos" rule cocci & cache.h: fully apply "active_nr" part of index-compatibility builtin/rm.c: use narrower "USE_THE_INDEX_VARIABLE"
2023-02-23Merge branch 'en/name-rev-make-taggerdate-much-less-important'Junio C Hamano
"git name-rev" heuristics update. * en/name-rev-make-taggerdate-much-less-important: name-rev: fix names by dropping taggerdate workaround
2023-02-16The sixteenth batchJunio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-16Merge branch 'cw/doc-pushurl-vs-url'Junio C Hamano
Doc update. * cw/doc-pushurl-vs-url: Documentation: clarify multiple pushurls vs urls
2023-02-16Merge branch 'ab/config-h-remove-unused'Junio C Hamano
Code clean-up. * ab/config-h-remove-unused: config.h: remove unused git_configset_add_parameters()
2023-02-16Merge branch 'ab/retire-scripted-add-p'Junio C Hamano
Finally retire the scripted "git add -p/-i" implementation and have everybody use the one reimplemented in C. * ab/retire-scripted-add-p: docs & comments: replace mentions of "git-add--interactive.perl" add API: remove run_add_interactive() wrapper function add: remove "add.interactive.useBuiltin" & Perl "git add--interactive"
2023-02-16Merge branch 'rs/size-t-fixes'Junio C Hamano
Type fixes. * rs/size-t-fixes: pack-objects: use strcspn(3) in name_cmp_len() read-cache: use size_t for {base,df}_name_compare()
2023-02-16Merge branch 'kf/t5000-modernise'Junio C Hamano
Test clean-up. * kf/t5000-modernise: t5000: modernise archive and :(glob) test
2023-02-16Merge branch 'wl/new-command-doc'Junio C Hamano
Comment fix. * wl/new-command-doc: new-command.txt: update reference to builtin docs
2023-02-16Merge branch 'ar/userdiff-java-update'Junio C Hamano
Userdiff regexp update for Java language. * ar/userdiff-java-update: userdiff: support Java sealed classes userdiff: support Java record types userdiff: support Java type parameters
2023-02-16Merge branch 'po/attributes-text'Junio C Hamano
In-tree .gitattributes update to match the way we recommend our users to mark a file as text. * po/attributes-text: .gitattributes: include `text` attribute for eol attributes
2023-02-16Merge branch 'ab/sequencer-unleak'Junio C Hamano
Plug leaks in sequencer subsystem and its users. * ab/sequencer-unleak: commit.c: free() revs.commit in get_fork_point() builtin/rebase.c: free() "options.strategy_opts" sequencer.c: always free() the "msgbuf" in do_pick_commit() builtin/rebase.c: fix "options.onto_name" leak builtin/revert.c: move free-ing of "revs" to replay_opts_release() sequencer API users: fix get_replay_opts() leaks sequencer.c: split up sequencer_remove_state() rebase: use "cleanup" pattern in do_interactive_rebase()
2023-02-16Merge branch 'ds/bundle-uri-5'Junio C Hamano
The bundle-URI subsystem adds support for creation-token heuristics to help incremental fetches. * ds/bundle-uri-5: bundle-uri: test missing bundles with heuristic bundle-uri: store fetch.bundleCreationToken fetch: fetch from an external bundle URI bundle-uri: drop bundle.flag from design doc clone: set fetch.bundleURI if appropriate bundle-uri: download in creationToken order bundle-uri: parse bundle.<id>.creationToken values bundle-uri: parse bundle.heuristic=creationToken t5558: add tests for creationToken heuristic bundle: verify using check_connected() bundle: test unbundling with incomplete history
2023-02-16Merge branch 'cb/grep-fallback-failing-jit'Junio C Hamano
In an environment where dynamically generated code is prohibited to run (e.g. SELinux), failure to JIT pcre patterns is expected. Fall back to interpreted execution in such a case. * cb/grep-fallback-failing-jit: grep: fall back to interpreter if JIT memory allocation fails
2023-02-15Sync with 'maint'Junio C Hamano
2023-02-15Prepare for 2.39.3 just in caseJunio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-15Merge branch 'sk/remove-duplicate-includes' into maint-2.39Junio C Hamano
Code clean-up. * sk/remove-duplicate-includes: git: remove duplicate includes
2023-02-15Merge branch 'rs/clarify-error-in-write-loose-object' into maint-2.39Junio C Hamano
Code clean-up. * rs/clarify-error-in-write-loose-object: object-file: inline write_buffer()
2023-02-15Merge branch 'rs/reflog-expiry-cleanup' into maint-2.39Junio C Hamano
Code clean-up. * rs/reflog-expiry-cleanup: reflog: clear leftovers in reflog_expiry_cleanup()
2023-02-15Merge branch 'rs/clear-commit-marks-cleanup' into maint-2.39Junio C Hamano
Code clean-up. * rs/clear-commit-marks-cleanup: commit: skip already cleared parents in clear_commit_marks_1()
2023-02-15Merge branch 'rs/am-parse-options-cleanup' into maint-2.39Junio C Hamano
Code clean-up. * rs/am-parse-options-cleanup: am: don't pass strvec to apply_parse_options()
2023-02-15Merge branch 'jk/server-supports-v2-cleanup' into maint-2.39Junio C Hamano
Code clean-up. * jk/server-supports-v2-cleanup: server_supports_v2(): use a separate function for die_on_error
2023-02-15Merge branch 'jk/unused-post-2.39' into maint-2.39Junio C Hamano
Code clean-up around unused function parameters. * jk/unused-post-2.39: userdiff: mark unused parameter in internal callback list-objects-filter: mark unused parameters in virtual functions diff: mark unused parameters in callbacks xdiff: mark unused parameter in xdl_call_hunk_func() xdiff: drop unused parameter in def_ff() ws: drop unused parameter from ws_blank_line() list-objects: drop process_gitlink() function blob: drop unused parts of parse_blob_buffer() ls-refs: use repository parameter to iterate refs
2023-02-15Merge branch 'rj/branch-copy-and-rename' into maint-2.39Junio C Hamano
Fix a pair of bugs in 'git branch'. * rj/branch-copy-and-rename: branch: force-copy a branch to itself via @{-1} is a no-op
2023-02-15Merge branch 'rs/t3920-crlf-eating-grep-fix' into maint-2.39Junio C Hamano
Test fix. * rs/t3920-crlf-eating-grep-fix: t3920: support CR-eating grep
2023-02-15Merge branch 'js/t3920-shell-and-or-fix' into maint-2.39Junio C Hamano
Test fix. * js/t3920-shell-and-or-fix: t3920: don't ignore errors of more than one command with `|| true`
2023-02-15Merge branch 'ab/t4023-avoid-losing-exit-status-of-diff' into maint-2.39Junio C Hamano
Test fix. * ab/t4023-avoid-losing-exit-status-of-diff: t4023: fix ignored exit codes of git
2023-02-15Merge branch 'ab/t7600-avoid-losing-exit-status-of-git' into maint-2.39Junio C Hamano
Test fix. * ab/t7600-avoid-losing-exit-status-of-git: t7600: don't ignore "rev-parse" exit code in helper
2023-02-15Merge branch 'ab/t5314-avoid-losing-exit-status' into maint-2.39Junio C Hamano
Test fix. * ab/t5314-avoid-losing-exit-status: t5314: check exit code of "git"
2023-02-15Merge branch 'rs/plug-pattern-list-leak-in-lof' into maint-2.39Junio C Hamano
Leak fix. * rs/plug-pattern-list-leak-in-lof: list-objects-filter: plug pattern_list leak