diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index c1046abfb7d10b..88971dea91192d 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -877,6 +877,17 @@ Characters are also surrounded by underscores: As a side effect, backquoted placeholders are correctly typeset, but this style is not recommended. + When documenting multiple related `git config` variables, place them on + a separate line instead of separating them by commas. For example, do + not write this: + `core.var1`, `core.var2`:: + Description common to `core.var1` and `core.var2`. + +Instead write this: + `core.var1`:: + `core.var2`:: + Description common to `core.var1` and `core.var2`. + Synopsis Syntax The synopsis (a paragraph with [synopsis] attribute) is automatically diff --git a/Documentation/RelNotes/2.51.0.adoc b/Documentation/RelNotes/2.51.0.adoc index 478dbd5fb335aa..4f2a34b47d44d1 100644 --- a/Documentation/RelNotes/2.51.0.adoc +++ b/Documentation/RelNotes/2.51.0.adoc @@ -25,6 +25,13 @@ Performance, Internal Implementation, Development Support etc. * "git pack-objects" learned to find delta bases from blobs at the same path, using the --path-walk API. + * CodingGuidelines update. + + * Add settings for Solaris 10 & 11. + + * Meson-based build/test framework now understands TAP output + generated by our tests. + Fixes since v2.50 ----------------- @@ -35,11 +42,17 @@ Fixes since v2.50 * A memory-leak in an error code path has been plugged. (merge aedebdb6b9 ly/fetch-pack-leakfix later to maint). - * Meson-based build/test framework now understands TAP output - generated by our tests. - (merge c1bc974923 ps/meson-tap-parse later to maint). + * Some leftover references to documentation source files that no + longer exist, due to recent ".txt" -> ".adoc" renaming, have been + corrected. + (merge 3717a5775a jw/doc-txt-to-adoc-refs later to maint). * Other code cleanup, docfix, build fix, etc. (merge b257adb571 lo/my-first-ow-doc-update later to maint). (merge 8b34b6a220 ly/sequencer-update-squash-is-fixup-only later to maint). (merge 5dceb8bd05 ly/do-not-localize-bug-messages later to maint). + (merge 61372dd613 ly/commit-buffer-reencode-leakfix later to maint). + (merge 81cd1eef7d ly/pack-bitmap-root-leakfix later to maint). + (merge bfc9f9cc64 ly/submodule-update-failure-leakfix later to maint). + (merge 65dff89c6b ma/doc-diff-cc-headers later to maint). + (merge efb61591ee jm/bundle-uri-debug-output-to-fp later to maint). diff --git a/Documentation/diff-generate-patch.adoc b/Documentation/diff-generate-patch.adoc index e5c813c96f3ac4..7b6cdd198012b0 100644 --- a/Documentation/diff-generate-patch.adoc +++ b/Documentation/diff-generate-patch.adoc @@ -138,7 +138,7 @@ or like this (when the `--cc` option is used): + [synopsis] index ,.. -mode ,`..` +mode ,.. new file mode deleted file mode , + diff --git a/Documentation/gitprotocol-v2.adoc b/Documentation/gitprotocol-v2.adoc index 5598c93e67c314..9a57005d77773b 100644 --- a/Documentation/gitprotocol-v2.adoc +++ b/Documentation/gitprotocol-v2.adoc @@ -54,7 +54,7 @@ In general a client can request to speak protocol v2 by sending `version=2` through the respective side-channel for the transport being used which inevitably sets `GIT_PROTOCOL`. More information can be found in linkgit:gitprotocol-pack[5] and linkgit:gitprotocol-http[5], as well as the -`GIT_PROTOCOL` definition in `git.txt`. In all cases the +`GIT_PROTOCOL` definition in linkgit:git[1]. In all cases the response from the server is the capability advertisement. Git Transport @@ -99,7 +99,7 @@ Uses the `--http-backend-info-refs` option to linkgit:git-upload-pack[1]. The server may need to be configured to pass this header's contents via -the `GIT_PROTOCOL` variable. See the discussion in `git-http-backend.txt`. +the `GIT_PROTOCOL` variable. See the discussion in linkgit:git-http-backend[1]. Capability Advertisement ------------------------ diff --git a/Documentation/technical/build-systems.adoc b/Documentation/technical/build-systems.adoc index d9dafb407c4090..3c5237b9fd4727 100644 --- a/Documentation/technical/build-systems.adoc +++ b/Documentation/technical/build-systems.adoc @@ -32,7 +32,10 @@ that generally have somebody running test pipelines against regularly: - OpenBSD The platforms which must be supported by the tool should be aligned with our -[platform support policy](platform-support.txt). +platform support policy (see platform-support.adoc). +// once we lose AsciiDoc compatibility, we can start writing the above as: +// xref:platform-support.adoc#platform-support-policy[platform support policy] +// or something like that, but until then.... === Auto-detection of supported features diff --git a/builtin/replay.c b/builtin/replay.c index 225cef08807e33..6172c8aacc9873 100644 --- a/builtin/replay.c +++ b/builtin/replay.c @@ -84,6 +84,7 @@ static struct commit *create_commit(struct repository *repo, obj = parse_object(repo, &ret); out: + repo_unuse_commit_buffer(the_repository, based_on, message); free_commit_extra_headers(extra); free_commit_list(parents); strbuf_release(&msg); diff --git a/builtin/shortlog.c b/builtin/shortlog.c index 30075b67be8dac..fe15e11497379f 100644 --- a/builtin/shortlog.c +++ b/builtin/shortlog.c @@ -187,7 +187,7 @@ static void insert_records_from_trailers(struct shortlog *log, ctx->output_encoding); body = strstr(commit_buffer, "\n\n"); if (!body) - return; + goto out; trailer_iterator_init(&iter, body); while (trailer_iterator_advance(&iter)) { @@ -206,6 +206,7 @@ static void insert_records_from_trailers(struct shortlog *log, } trailer_iterator_release(&iter); +out: strbuf_release(&ident); repo_unuse_commit_buffer(the_repository, commit, commit_buffer); } diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 53da2116ddf576..640c0059c3e878 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -2660,8 +2660,10 @@ static int update_submodule(struct update_data *update_data) if (code) return code; code = remote_submodule_branch(update_data->sm_path, &branch); - if (code) + if (code) { + free(remote_name); return code; + } remote_ref = xstrfmt("refs/remotes/%s/%s", remote_name, branch); free(remote_name); diff --git a/bundle-uri.c b/bundle-uri.c index 9accf157b44a7a..c9d65aa0ce8fb9 100644 --- a/bundle-uri.c +++ b/bundle-uri.c @@ -122,7 +122,7 @@ void print_bundle_list(FILE *fp, struct bundle_list *list) int i; for (i = 0; i < BUNDLE_HEURISTIC__COUNT; i++) { if (heuristics[i].heuristic == list->heuristic) { - printf("\theuristic = %s\n", + fprintf(fp, "\theuristic = %s\n", heuristics[list->heuristic].name); break; } diff --git a/config.mak.uname b/config.mak.uname index 3e26bb074a4b51..b1c5c4d5e8edd1 100644 --- a/config.mak.uname +++ b/config.mak.uname @@ -190,9 +190,6 @@ ifeq ($(uname_S),SunOS) SHELL_PATH = /bin/bash SANE_TOOL_PATH = /usr/xpg6/bin:/usr/xpg4/bin HAVE_ALLOCA_H = YesPlease - NO_STRCASESTR = YesPlease - NO_MEMMEM = YesPlease - NO_MKDTEMP = YesPlease NO_REGEX = YesPlease NO_MSGFMT_EXTENDED_OPTIONS = YesPlease HAVE_DEV_TTY = YesPlease @@ -202,7 +199,10 @@ ifeq ($(uname_S),SunOS) NO_IPV6 = YesPlease NO_SOCKADDR_STORAGE = YesPlease NO_UNSETENV = YesPlease + NO_MKDTEMP = YesPlease + NO_MEMMEM = YesPlease NO_SETENV = YesPlease + NO_STRCASESTR = YesPlease NO_STRLCPY = YesPlease NO_STRTOUMAX = YesPlease GIT_TEST_CMP = cmp @@ -212,23 +212,45 @@ ifeq ($(uname_S),SunOS) NO_IPV6 = YesPlease NO_SOCKADDR_STORAGE = YesPlease NO_UNSETENV = YesPlease + NO_MKDTEMP = YesPlease + NO_MEMMEM = YesPlease NO_SETENV = YesPlease + NO_STRCASESTR = YesPlease NO_STRLCPY = YesPlease NO_STRTOUMAX = YesPlease GIT_TEST_CMP = cmp endif ifeq ($(uname_R),5.8) NO_UNSETENV = YesPlease + NO_MKDTEMP = YesPlease + NO_MEMMEM = YesPlease NO_SETENV = YesPlease + NO_STRCASESTR = YesPlease NO_STRTOUMAX = YesPlease GIT_TEST_CMP = cmp endif ifeq ($(uname_R),5.9) NO_UNSETENV = YesPlease + NO_MKDTEMP = YesPlease + NO_MEMMEM = YesPlease NO_SETENV = YesPlease + NO_STRCASESTR = YesPlease NO_STRTOUMAX = YesPlease GIT_TEST_CMP = cmp endif + ifeq ($(uname_R),5.10) + NO_UNSETENV = YesPlease + NO_MKDTEMP = YesPlease + NO_MEMMEM = YesPlease + NO_SETENV = YesPlease + NO_STRCASESTR = YesPlease + GIT_TEST_CMP = cmp + endif + ifeq ($(uname_R),5.11) + NO_UNSETENV = YesPlease + NO_SETENV = YesPlease + GIT_TEST_CMP = cmp + endif INSTALL = /usr/ucb/install TAR = gtar BASIC_CFLAGS += -D__EXTENSIONS__ -D__sun__ diff --git a/contrib/subtree/README b/contrib/subtree/README index c686b4a69b1257..65d167b678c83e 100644 --- a/contrib/subtree/README +++ b/contrib/subtree/README @@ -1,5 +1,5 @@ -Please read git-subtree.txt for documentation. +Please read git-subtree.adoc for documentation. Please don't contact me using github mail; it's slow, ugly, and worst of all, redundant. Email me instead at apenwarr@gmail.com and I'll be happy to diff --git a/mergetools/vimdiff b/mergetools/vimdiff index 78710858e84b08..fca1044f65f5a8 100644 --- a/mergetools/vimdiff +++ b/mergetools/vimdiff @@ -274,8 +274,8 @@ gen_cmd () { # definition. # # The syntax of the "layout definitions" is explained in "Documentation/ - # mergetools/vimdiff.txt" but you can already intuitively understand how - # it works by knowing that... + # mergetools/vimdiff.adoc" but you can already intuitively understand + # how it works by knowing that... # # * "+" means "a new vim tab" # * "/" means "a new vim horizontal split" diff --git a/pack-bitmap.c b/pack-bitmap.c index ac6d62b980c5a8..8727f316de9254 100644 --- a/pack-bitmap.c +++ b/pack-bitmap.c @@ -1363,8 +1363,8 @@ static struct bitmap *find_boundary_objects(struct bitmap_index *bitmap_git, bitmap_set(roots_bitmap, pos); } - if (!cascade_pseudo_merges_1(bitmap_git, cb.base, roots_bitmap)) - bitmap_free(roots_bitmap); + cascade_pseudo_merges_1(bitmap_git, cb.base, roots_bitmap); + bitmap_free(roots_bitmap); } /* diff --git a/sub-process.h b/sub-process.h index 6a61638a8ace0b..bfc3959a1b4894 100644 --- a/sub-process.h +++ b/sub-process.h @@ -73,7 +73,7 @@ static inline struct child_process *subprocess_get_child_process( /* * Perform the version and capability negotiation as described in the - * "Handshake" section of long-running-process-protocol.txt using the + * "Handshake" section of long-running-process-protocol.adoc using the * given requested versions and capabilities. The "versions" and "capabilities" * parameters are arrays terminated by a 0 or blank struct. * diff --git a/t/t5333-pseudo-merge-bitmaps.sh b/t/t5333-pseudo-merge-bitmaps.sh index 56674db562f948..ba5ae6a00c9847 100755 --- a/t/t5333-pseudo-merge-bitmaps.sh +++ b/t/t5333-pseudo-merge-bitmaps.sh @@ -445,4 +445,21 @@ test_expect_success 'pseudo-merge closure' ' ) ' +test_expect_success 'use pseudo-merge in boundary traversal' ' + git init pseudo-merge-boundary-traversal && + ( + cd pseudo-merge-boundary-traversal && + + git config bitmapPseudoMerge.test.pattern refs/ && + git config pack.useBitmapBoundaryTraversal true && + + test_commit A && + git repack -adb && + test_commit B && + + nr=$(git rev-list --count --use-bitmap-index HEAD~1..HEAD) && + test 1 -eq "$nr" + ) +' + test_done diff --git a/t/test-lib.sh b/t/test-lib.sh index 9ffcae0472e1a3..51370a201cffeb 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -1647,6 +1647,9 @@ uname_s=$(uname -s) case $uname_s in Darwin) test_set_prereq MACOS + test_set_prereq POSIXPERM + test_set_prereq BSLASHPSPEC + test_set_prereq EXECKEEPSPID ;; *MINGW*) # Windows has its own (incompatible) sort and find