From b7b8120f22963c3a09e610d5aa022428f1fec926 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Mon, 19 Aug 2024 12:01:20 -0700 Subject: [PATCH] Autogenerated HTML docs for v2.46.0-267-gbb9c1 --- DecisionMaking.html | 2 +- MyFirstContribution.html | 2 +- MyFirstObjectWalk.html | 2 +- RelNotes/2.47.0.txt | 7 ++ ReviewingGuidelines.html | 2 +- SubmittingPatches.html | 2 +- ToolsForGit.html | 2 +- everyday.html | 2 +- git-multi-pack-index.html | 33 ++++++- git-multi-pack-index.txt | 11 ++- git-remote-helpers.html | 2 +- howto/keep-canonical-history-correct.html | 4 +- howto/maintain-git.html | 4 +- howto/new-command.html | 4 +- howto/rebase-from-internal-branch.html | 4 +- howto/rebuild-from-update-hook.html | 4 +- howto/recover-corrupted-blob-object.html | 4 +- howto/recover-corrupted-object-harder.html | 4 +- howto/revert-a-faulty-merge.html | 4 +- howto/revert-branch-rebase.html | 4 +- howto/separating-topic-branches.html | 4 +- howto/setup-git-server-over-http.html | 4 +- howto/update-hook-example.html | 4 +- howto/use-git-daemon.html | 4 +- howto/using-merge-subtree.html | 4 +- howto/using-signed-tag-in-pull-request.html | 4 +- technical/api-error-handling.html | 2 +- technical/api-index.html | 2 +- technical/api-merge.html | 2 +- technical/api-parse-options.html | 2 +- technical/api-simple-ipc.html | 2 +- technical/api-trace2.html | 2 +- technical/bitmap-format.html | 2 +- technical/bundle-uri.html | 2 +- technical/hash-function-transition.html | 2 +- technical/long-running-process-protocol.html | 2 +- technical/multi-pack-index.html | 135 ++++++++++++++++++++++++++- technical/multi-pack-index.txt | 103 ++++++++++++++++++++ technical/pack-heuristics.html | 2 +- technical/parallel-checkout.html | 2 +- technical/partial-clone.html | 2 +- technical/platform-support.html | 2 +- technical/racy-git.html | 2 +- technical/scalar.html | 2 +- technical/send-pack-pipeline.html | 2 +- technical/shallow.html | 2 +- technical/trivial-merge.html | 2 +- technical/unit-tests.html | 2 +- 48 files changed, 343 insertions(+), 62 deletions(-) diff --git a/DecisionMaking.html b/DecisionMaking.html index 494e2d3a..1d0c64fc 100644 --- a/DecisionMaking.html +++ b/DecisionMaking.html @@ -442,7 +442,7 @@ pre>code {
diff --git a/MyFirstContribution.html b/MyFirstContribution.html index 373ceeb1..ba19b076 100644 --- a/MyFirstContribution.html +++ b/MyFirstContribution.html @@ -442,7 +442,7 @@ pre>code {
diff --git a/MyFirstObjectWalk.html b/MyFirstObjectWalk.html index 35fc3e09..e9108d44 100644 --- a/MyFirstObjectWalk.html +++ b/MyFirstObjectWalk.html @@ -442,7 +442,7 @@ pre>code {
diff --git a/RelNotes/2.47.0.txt b/RelNotes/2.47.0.txt index 18e3eaee..ba1a9cbc 100644 --- a/RelNotes/2.47.0.txt +++ b/RelNotes/2.47.0.txt @@ -67,6 +67,12 @@ Performance, Internal Implementation, Development Support etc. the users of ref iterators, allowing for-each-ref and friends to avoid an extra ref_resolve_* API call per a symbolic ref. + * Unit-test framework has learned a simple control structure to allow + embedding test statements in-line instead of having to create a new + function to contain them. + + * Incremental updates of multi-pack index files is getting worked on. + Fixes since v2.46 ----------------- @@ -146,3 +152,4 @@ Fixes since v2.46 (merge 0c4d5aa22d rs/use-decimal-width later to maint). (merge 67be8c4de5 jc/document-use-of-local later to maint). (merge 098be29f5b rs/t-example-simplify later to maint). + (merge 0d66f601a9 jc/tests-no-useless-tee later to maint). diff --git a/ReviewingGuidelines.html b/ReviewingGuidelines.html index 39ec7074..4fcb5882 100644 --- a/ReviewingGuidelines.html +++ b/ReviewingGuidelines.html @@ -442,7 +442,7 @@ pre>code {
diff --git a/SubmittingPatches.html b/SubmittingPatches.html index 9a83fe85..f8d8a67b 100644 --- a/SubmittingPatches.html +++ b/SubmittingPatches.html @@ -442,7 +442,7 @@ pre>code {
diff --git a/ToolsForGit.html b/ToolsForGit.html index 01228cbf..6936af67 100644 --- a/ToolsForGit.html +++ b/ToolsForGit.html @@ -442,7 +442,7 @@ pre>code {
diff --git a/everyday.html b/everyday.html index d8c85d8b..f7ed5016 100644 --- a/everyday.html +++ b/everyday.html @@ -442,7 +442,7 @@ pre>code {
diff --git a/git-multi-pack-index.html b/git-multi-pack-index.html index d2e1305e..96c55313 100644 --- a/git-multi-pack-index.html +++ b/git-multi-pack-index.html @@ -532,6 +532,13 @@ preferred if at least one instance of it begins with the special + marker).

+
--incremental
+
+

Write an incremental MIDX file containing only objects +and packs not present in an existing MIDX layer. +Migrates non-incremental MIDXs to incremental ones when +necessary. Incompatible with --bitmap.

+
@@ -547,6 +554,18 @@ marker).

have no objects referenced by the MIDX (with the exception of .keep packs and cruft packs). Rewrite the MIDX file afterward to remove all references to these pack-files.

+
+ + + + + +
+
Note
+
+this mode is incompatible with incremental MIDX files. +
+
repack
@@ -570,6 +589,18 @@ were part of this batch.

If repack.packKeptObjects is false, then any pack-files with an associated .keep file will not be selected for the batch to repack.

+
+ + + + + +
+
Note
+
+this mode is incompatible with incremental MIDX files. +
+
@@ -638,7 +669,7 @@ multi-pack-index feature and its file format.

diff --git a/git-multi-pack-index.txt b/git-multi-pack-index.txt index 3696506e..631d5c7d 100644 --- a/git-multi-pack-index.txt +++ b/git-multi-pack-index.txt @@ -64,6 +64,12 @@ The file given at `` is expected to be readable, and can contain duplicates. (If a given OID is given more than once, it is marked as preferred if at least one instance of it begins with the special `+` marker). + + --incremental:: + Write an incremental MIDX file containing only objects + and packs not present in an existing MIDX layer. + Migrates non-incremental MIDXs to incremental ones when + necessary. Incompatible with `--bitmap`. -- verify:: @@ -74,6 +80,8 @@ expire:: have no objects referenced by the MIDX (with the exception of `.keep` packs and cruft packs). Rewrite the MIDX file afterward to remove all references to these pack-files. ++ +NOTE: this mode is incompatible with incremental MIDX files. repack:: Create a new pack-file containing objects in small pack-files @@ -95,7 +103,8 @@ repack:: + If `repack.packKeptObjects` is `false`, then any pack-files with an associated `.keep` file will not be selected for the batch to repack. - ++ +NOTE: this mode is incompatible with incremental MIDX files. EXAMPLES -------- diff --git a/git-remote-helpers.html b/git-remote-helpers.html index 136d194d..ad78ec2e 100644 --- a/git-remote-helpers.html +++ b/git-remote-helpers.html @@ -442,7 +442,7 @@ pre>code {
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html index 5b401209..50908f13 100644 --- a/howto/keep-canonical-history-correct.html +++ b/howto/keep-canonical-history-correct.html @@ -442,7 +442,7 @@ pre>code {
@@ -705,7 +705,7 @@ tip of your master again and redo the two merges:

diff --git a/howto/maintain-git.html b/howto/maintain-git.html index 39b277f2..7b1fab4f 100644 --- a/howto/maintain-git.html +++ b/howto/maintain-git.html @@ -442,7 +442,7 @@ pre>code {
@@ -1235,7 +1235,7 @@ $ git update-ref -d $mf/ai/topic
diff --git a/howto/new-command.html b/howto/new-command.html index 0a23371f..ebb273a9 100644 --- a/howto/new-command.html +++ b/howto/new-command.html @@ -442,7 +442,7 @@ pre>code {
@@ -584,7 +584,7 @@ letter [PATCH 0/n].

diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html index 21da9332..8e158d8d 100644 --- a/howto/rebase-from-internal-branch.html +++ b/howto/rebase-from-internal-branch.html @@ -442,7 +442,7 @@ pre>code {
@@ -656,7 +656,7 @@ the #1' commit.

diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html index 508b25d4..e0a385f2 100644 --- a/howto/rebuild-from-update-hook.html +++ b/howto/rebuild-from-update-hook.html @@ -442,7 +442,7 @@ pre>code {
@@ -563,7 +563,7 @@ some locking mechanism for this.

diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html index b9091aa9..d09d49ff 100644 --- a/howto/recover-corrupted-blob-object.html +++ b/howto/recover-corrupted-blob-object.html @@ -442,7 +442,7 @@ pre>code {
@@ -641,7 +641,7 @@ thing.

diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html index 4acfe99c..ed344e01 100644 --- a/howto/recover-corrupted-object-harder.html +++ b/howto/recover-corrupted-object-harder.html @@ -442,7 +442,7 @@ pre>code {
@@ -967,7 +967,7 @@ int main(int argc, char **argv)
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html index 5280ca28..9dc6e1e5 100644 --- a/howto/revert-a-faulty-merge.html +++ b/howto/revert-a-faulty-merge.html @@ -442,7 +442,7 @@ pre>code {
@@ -829,7 +829,7 @@ P---o---o---M---x---x---W---x---M2
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html index 1c0e6313..e5687c73 100644 --- a/howto/revert-branch-rebase.html +++ b/howto/revert-branch-rebase.html @@ -442,7 +442,7 @@ pre>code {
@@ -649,7 +649,7 @@ Committed merge 7fb9b7262a1d1e0a47bbfdcbbcf50ce0635d3f8f
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html index 3ad348f8..934f4372 100644 --- a/howto/separating-topic-branches.html +++ b/howto/separating-topic-branches.html @@ -442,7 +442,7 @@ pre>code {
@@ -568,7 +568,7 @@ o---o"master"
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html index 6cf5759d..92d90720 100644 --- a/howto/setup-git-server-over-http.html +++ b/howto/setup-git-server-over-http.html @@ -442,7 +442,7 @@ pre>code {
@@ -882,7 +882,7 @@ help diagnosing the problem, but removes security checks.

diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html index 5a508598..bad62da5 100644 --- a/howto/update-hook-example.html +++ b/howto/update-hook-example.html @@ -442,7 +442,7 @@ pre>code {
@@ -648,7 +648,7 @@ that JC can make non-fast-forward pushes on it.

diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html index 68d2489b..49454f60 100644 --- a/howto/use-git-daemon.html +++ b/howto/use-git-daemon.html @@ -442,7 +442,7 @@ pre>code {
@@ -524,7 +524,7 @@ a good practice to put the paths after a "--" separator.

diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html index 1f1fa4f0..5f7fbd84 100644 --- a/howto/using-merge-subtree.html +++ b/howto/using-merge-subtree.html @@ -442,7 +442,7 @@ pre>code {
@@ -554,7 +554,7 @@ to.

diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html index add7e769..7b11245d 100644 --- a/howto/using-signed-tag-in-pull-request.html +++ b/howto/using-signed-tag-in-pull-request.html @@ -442,7 +442,7 @@ pre>code {
@@ -712,7 +712,7 @@ as part of the merge commit.

diff --git a/technical/api-error-handling.html b/technical/api-error-handling.html index 0f54288f..e5660979 100644 --- a/technical/api-error-handling.html +++ b/technical/api-error-handling.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/api-index.html b/technical/api-index.html index d4c73662..cfb015cf 100644 --- a/technical/api-index.html +++ b/technical/api-index.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/api-merge.html b/technical/api-merge.html index 021e4e6f..d7f76d4e 100644 --- a/technical/api-merge.html +++ b/technical/api-merge.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/api-parse-options.html b/technical/api-parse-options.html index 62b12d3a..437a0099 100644 --- a/technical/api-parse-options.html +++ b/technical/api-parse-options.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/api-simple-ipc.html b/technical/api-simple-ipc.html index 1e8b8e7a..11253a5d 100644 --- a/technical/api-simple-ipc.html +++ b/technical/api-simple-ipc.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/api-trace2.html b/technical/api-trace2.html index 05d87a7e..da0904fd 100644 --- a/technical/api-trace2.html +++ b/technical/api-trace2.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/bitmap-format.html b/technical/bitmap-format.html index 96336e9b..2c9cacfd 100644 --- a/technical/bitmap-format.html +++ b/technical/bitmap-format.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/bundle-uri.html b/technical/bundle-uri.html index bb9beb3d..d84d7c18 100644 --- a/technical/bundle-uri.html +++ b/technical/bundle-uri.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/hash-function-transition.html b/technical/hash-function-transition.html index 973a8608..1cdb6ddf 100644 --- a/technical/hash-function-transition.html +++ b/technical/hash-function-transition.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/long-running-process-protocol.html b/technical/long-running-process-protocol.html index 82b99bf6..cfebf91d 100644 --- a/technical/long-running-process-protocol.html +++ b/technical/long-running-process-protocol.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/multi-pack-index.html b/technical/multi-pack-index.html index d2b7a4f3..87b64132 100644 --- a/technical/multi-pack-index.html +++ b/technical/multi-pack-index.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
@@ -547,6 +547,137 @@ commit-graph file) that allows optional data to be added.

+

Incremental multi-pack indexes

+
+
+

As repositories grow in size, it becomes more expensive to write a +multi-pack index (MIDX) that includes all packfiles. To accommodate +this, the "incremental multi-pack indexes" feature allows for combining +a "chain" of multi-pack indexes.

+
+
+

Each individual component of the chain need only contain a small number +of packfiles. Appending to the chain does not invalidate earlier parts +of the chain, so repositories can control how much time is spent +updating the MIDX chain by determining the number of packs in each layer +of the MIDX chain.

+
+
+

Design state

+
+

At present, the incremental multi-pack indexes feature is missing two +important components:

+
+
+
    +
  • +

    The ability to rewrite earlier portions of the MIDX chain (i.e., to +"compact" some collection of adjacent MIDX layers into a single +MIDX). At present the only supported way of shrinking a MIDX chain +is to rewrite the entire chain from scratch without the --split +flag.

    +
    +

    There are no fundamental limitations that stand in the way of being able +to implement this feature. It is omitted from the initial implementation +in order to reduce the complexity, but will be added later.

    +
    +
  • +
  • +

    Support for reachability bitmaps. The classic single MIDX +implementation does support reachability bitmaps (see the section +titled "multi-pack-index reverse indexes" in +gitformat-pack(5) for more details).

    +
    +

    As above, there are no fundamental limitations that stand in the way of +extending the incremental MIDX format to support reachability bitmaps. +The design below specifically takes this into account, and support for +reachability bitmaps will be added in a future patch series. It is +omitted from the current implementation for the same reason as above.

    +
    +
    +

    In brief, to support reachability bitmaps with the incremental MIDX +feature, the concept of the pseudo-pack order is extended across each +layer of the incremental MIDX chain to form a concatenated pseudo-pack +order. This concatenation takes place in the same order as the chain +itself (in other words, the concatenated pseudo-pack order for a chain +{$H1, $H2, $H3} would be the pseudo-pack order for $H1, followed by +the pseudo-pack order for $H2, followed by the pseudo-pack order for +$H3).

    +
    +
    +

    The layout will then be extended so that each layer of the incremental +MIDX chain can write a *.bitmap. The objects in each layer’s bitmap +are offset by the number of objects in the previous layers of the chain.

    +
    +
  • +
+
+
+
+

File layout

+
+

Instead of storing a single multi-pack-index file (with an optional +.rev and .bitmap extension) in $GIT_DIR/objects/pack, incremental +MIDXs are stored in the following layout:

+
+
+
+
$GIT_DIR/objects/pack/multi-pack-index.d/
+$GIT_DIR/objects/pack/multi-pack-index.d/multi-pack-index-chain
+$GIT_DIR/objects/pack/multi-pack-index.d/multi-pack-index-$H1.midx
+$GIT_DIR/objects/pack/multi-pack-index.d/multi-pack-index-$H2.midx
+$GIT_DIR/objects/pack/multi-pack-index.d/multi-pack-index-$H3.midx
+
+
+
+

The multi-pack-index-chain file contains a list of the incremental +MIDX files in the chain, in order. The above example shows a chain whose +multi-pack-index-chain file would contain the following lines:

+
+
+
+
$H1
+$H2
+$H3
+
+
+
+

The multi-pack-index-$H1.midx file contains the first layer of the +multi-pack-index chain. The multi-pack-index-$H2.midx file contains +the second layer of the chain, and so on.

+
+
+

When both an incremental- and non-incremental MIDX are present, the +non-incremental MIDX is always read first.

+
+
+
+

Object positions for incremental MIDXs

+
+

In the original multi-pack-index design, we refer to objects via their +lexicographic position (by object IDs) within the repository’s singular +multi-pack-index. In the incremental multi-pack-index design, we refer +to objects via their index into a concatenated lexicographic ordering +among each component in the MIDX chain.

+
+
+

If objects_nr() is a function that returns the number of objects in a +given MIDX layer, then the index of an object at lexicographic position +i within, say, $H3 is defined as:

+
+
+
+
objects_nr($H2) + objects_nr($H1) + i
+
+
+
+

(in the C implementation, this is often computed as i + +m->num_objects_in_base).

+
+
+
+
+

Future Work

@@ -602,7 +733,7 @@ etc.) and use this metadata to help that maintenance.

diff --git a/technical/multi-pack-index.txt b/technical/multi-pack-index.txt index f2221d2b..cc063b30 100644 --- a/technical/multi-pack-index.txt +++ b/technical/multi-pack-index.txt @@ -61,6 +61,109 @@ Design Details - The MIDX file format uses a chunk-based approach (similar to the commit-graph file) that allows optional data to be added. +Incremental multi-pack indexes +------------------------------ + +As repositories grow in size, it becomes more expensive to write a +multi-pack index (MIDX) that includes all packfiles. To accommodate +this, the "incremental multi-pack indexes" feature allows for combining +a "chain" of multi-pack indexes. + +Each individual component of the chain need only contain a small number +of packfiles. Appending to the chain does not invalidate earlier parts +of the chain, so repositories can control how much time is spent +updating the MIDX chain by determining the number of packs in each layer +of the MIDX chain. + +=== Design state + +At present, the incremental multi-pack indexes feature is missing two +important components: + + - The ability to rewrite earlier portions of the MIDX chain (i.e., to + "compact" some collection of adjacent MIDX layers into a single + MIDX). At present the only supported way of shrinking a MIDX chain + is to rewrite the entire chain from scratch without the `--split` + flag. ++ +There are no fundamental limitations that stand in the way of being able +to implement this feature. It is omitted from the initial implementation +in order to reduce the complexity, but will be added later. + + - Support for reachability bitmaps. The classic single MIDX + implementation does support reachability bitmaps (see the section + titled "multi-pack-index reverse indexes" in + linkgit:gitformat-pack[5] for more details). ++ +As above, there are no fundamental limitations that stand in the way of +extending the incremental MIDX format to support reachability bitmaps. +The design below specifically takes this into account, and support for +reachability bitmaps will be added in a future patch series. It is +omitted from the current implementation for the same reason as above. ++ +In brief, to support reachability bitmaps with the incremental MIDX +feature, the concept of the pseudo-pack order is extended across each +layer of the incremental MIDX chain to form a concatenated pseudo-pack +order. This concatenation takes place in the same order as the chain +itself (in other words, the concatenated pseudo-pack order for a chain +`{$H1, $H2, $H3}` would be the pseudo-pack order for `$H1`, followed by +the pseudo-pack order for `$H2`, followed by the pseudo-pack order for +`$H3`). ++ +The layout will then be extended so that each layer of the incremental +MIDX chain can write a `*.bitmap`. The objects in each layer's bitmap +are offset by the number of objects in the previous layers of the chain. + +=== File layout + +Instead of storing a single `multi-pack-index` file (with an optional +`.rev` and `.bitmap` extension) in `$GIT_DIR/objects/pack`, incremental +MIDXs are stored in the following layout: + +---- +$GIT_DIR/objects/pack/multi-pack-index.d/ +$GIT_DIR/objects/pack/multi-pack-index.d/multi-pack-index-chain +$GIT_DIR/objects/pack/multi-pack-index.d/multi-pack-index-$H1.midx +$GIT_DIR/objects/pack/multi-pack-index.d/multi-pack-index-$H2.midx +$GIT_DIR/objects/pack/multi-pack-index.d/multi-pack-index-$H3.midx +---- + +The `multi-pack-index-chain` file contains a list of the incremental +MIDX files in the chain, in order. The above example shows a chain whose +`multi-pack-index-chain` file would contain the following lines: + +---- +$H1 +$H2 +$H3 +---- + +The `multi-pack-index-$H1.midx` file contains the first layer of the +multi-pack-index chain. The `multi-pack-index-$H2.midx` file contains +the second layer of the chain, and so on. + +When both an incremental- and non-incremental MIDX are present, the +non-incremental MIDX is always read first. + +=== Object positions for incremental MIDXs + +In the original multi-pack-index design, we refer to objects via their +lexicographic position (by object IDs) within the repository's singular +multi-pack-index. In the incremental multi-pack-index design, we refer +to objects via their index into a concatenated lexicographic ordering +among each component in the MIDX chain. + +If `objects_nr()` is a function that returns the number of objects in a +given MIDX layer, then the index of an object at lexicographic position +`i` within, say, $H3 is defined as: + +---- +objects_nr($H2) + objects_nr($H1) + i +---- + +(in the C implementation, this is often computed as `i + +m->num_objects_in_base`). + Future Work ----------- diff --git a/technical/pack-heuristics.html b/technical/pack-heuristics.html index 61c26314..c94925fe 100644 --- a/technical/pack-heuristics.html +++ b/technical/pack-heuristics.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/parallel-checkout.html b/technical/parallel-checkout.html index 81f87ece..1f2f6477 100644 --- a/technical/parallel-checkout.html +++ b/technical/parallel-checkout.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/partial-clone.html b/technical/partial-clone.html index dc4fa4d4..8e80aaab 100644 --- a/technical/partial-clone.html +++ b/technical/partial-clone.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/platform-support.html b/technical/platform-support.html index cdd28b5a..c0a0c4d6 100644 --- a/technical/platform-support.html +++ b/technical/platform-support.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/racy-git.html b/technical/racy-git.html index 58fd7e25..3fae00c8 100644 --- a/technical/racy-git.html +++ b/technical/racy-git.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/scalar.html b/technical/scalar.html index f58b873a..b985a0b1 100644 --- a/technical/scalar.html +++ b/technical/scalar.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/send-pack-pipeline.html b/technical/send-pack-pipeline.html index 00733a6f..f3dddaed 100644 --- a/technical/send-pack-pipeline.html +++ b/technical/send-pack-pipeline.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/shallow.html b/technical/shallow.html index 1f700e3f..39c8f0ec 100644 --- a/technical/shallow.html +++ b/technical/shallow.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/trivial-merge.html b/technical/trivial-merge.html index 14e7b434..3a6bcba6 100644 --- a/technical/trivial-merge.html +++ b/technical/trivial-merge.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
diff --git a/technical/unit-tests.html b/technical/unit-tests.html index a7060592..051ec83b 100644 --- a/technical/unit-tests.html +++ b/technical/unit-tests.html @@ -437,7 +437,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
-- 2.11.4.GIT