@@ -14,7 +14,7 @@ Table of contents:
1414 * Reference Emails
1515
1616
17- === Terminology = ==
17+ == Terminology ==
1818
1919cone mode: one of two modes for specifying the desired subset of files
2020 in a sparse-checkout. In cone-mode, the user specifies
@@ -92,7 +92,7 @@ vivifying: When a command restores a tracked file to the working tree (and
9292 file), this is referred to as "vivifying" the file.
9393
9494
95- === Purpose of sparse-checkouts = ==
95+ == Purpose of sparse-checkouts ==
9696
9797sparse-checkouts exist to allow users to work with a subset of their
9898files.
@@ -255,7 +255,7 @@ will perceive the checkout as dense, and commands should thus behave as if
255255all files are present.
256256
257257
258- === Usecases of primary concern = ==
258+ == Usecases of primary concern ==
259259
260260Most of the rest of this document will focus on Behavior A and Behavior
261261B. Some notes about the other two cases and why we are not focusing on
@@ -300,7 +300,7 @@ Behavior C do not assume they are part of the Behavior B camp and propose
300300patches that break things for the real Behavior B folks.
301301
302302
303- === Oversimplified mental models = ==
303+ == Oversimplified mental models ==
304304
305305An oversimplification of the differences in the above behaviors is:
306306
@@ -313,7 +313,7 @@ An oversimplification of the differences in the above behaviors is:
313313 they can later lazily be populated instead.
314314
315315
316- === Desired behavior = ==
316+ == Desired behavior ==
317317
318318As noted previously, despite the simple idea of just working with a subset
319319of files, there are a range of different behavioral changes that need to be
@@ -542,7 +542,7 @@ understanding these differences can be beneficial.
542542 * gitk?
543543
544544
545- === Behavior classes = ==
545+ == Behavior classes ==
546546
547547From the above there are a few classes of behavior:
548548
@@ -609,7 +609,7 @@ From the above there are a few classes of behavior:
609609 specification.
610610
611611
612- === Subcommand-dependent defaults = ==
612+ == Subcommand-dependent defaults ==
613613
614614Note that we have different defaults depending on the command for the
615615desired behavior :
@@ -749,7 +749,7 @@ desired behavior :
749749 implemented.
750750
751751
752- === Sparse specification vs. sparsity patterns = ==
752+ == Sparse specification vs. sparsity patterns ==
753753
754754In a well-behaved situation, the sparse specification is given directly
755755by the $GIT_DIR/info/sparse-checkout file. However, it can transiently
@@ -821,7 +821,7 @@ under behavior B index operations are lumped with history and tend to
821821operate full-tree.
822822
823823
824- === Implementation Questions = ==
824+ == Implementation Questions ==
825825
826826 * Do the options --scope={sparse,all} sound good to others? Are there better
827827 options?
@@ -892,7 +892,7 @@ operate full-tree.
892892 is seamless for them.
893893
894894
895- === Implementation Goals/Plans = ==
895+ == Implementation Goals/Plans ==
896896
897897 * Get buy-in on this document in general.
898898
@@ -920,15 +920,15 @@ operate full-tree.
920920 commands. IMPORTANT: make sure diff machinery changes don't mess with
921921 format-patch, fast-export, etc.
922922
923- === Known bugs = ==
923+ == Known bugs ==
924924
925925This list used to be a lot longer (see e.g. [1,2,3,4,5,6,7,8,9]), but we've
926926been working on it.
927927
928- 0 . Behavior A is not well supported in Git. (Behavior B didn't used to
928+ 1 . Behavior A is not well supported in Git. (Behavior B didn't used to
929929 be either, but was the easier of the two to implement.)
930930
931- 1 . am and apply:
931+ 2 . am and apply:
932932
933933 apply, without `--index` or `--cached`, relies on files being present
934934 in the working copy, and also writes to them unconditionally. As
@@ -948,7 +948,7 @@ been working on it.
948948 files and then complain that those vivified files would be
949949 overwritten by merge.
950950
951- 2 . reset --hard:
951+ 3 . reset --hard:
952952
953953 reset --hard provides confusing error message (works correctly, but
954954 misleads the user into believing it didn't):
@@ -971,13 +971,13 @@ been working on it.
971971 `git reset --hard` DID remove addme from the index and the working tree, contrary
972972 to the error message, but in line with how reset --hard should behave.
973973
974- 3 . read-tree
974+ 4 . read-tree
975975
976976 `read-tree` doesn't apply the 'SKIP_WORKTREE' bit to *any* of the
977977 entries it reads into the index, resulting in all your files suddenly
978978 appearing to be "deleted".
979979
980- 4 . Checkout, restore:
980+ 5 . Checkout, restore:
981981
982982 These command do not handle path & revision arguments appropriately:
983983
@@ -1030,7 +1030,7 @@ been working on it.
10301030 S tracked
10311031 H tracked-but-maybe-skipped
10321032
1033- 5 . checkout and restore --staged, continued:
1033+ 6 . checkout and restore --staged, continued:
10341034
10351035 These commands do not correctly scope operations to the sparse
10361036 specification, and make it worse by not setting important SKIP_WORKTREE
@@ -1046,11 +1046,11 @@ been working on it.
10461046 the sparse specification, but then it will be important to set the
10471047 SKIP_WORKTREE bits appropriately.
10481048
1049- 6 . Performance issues; see:
1049+ 7 . Performance issues; see:
10501050 https://lore.kernel.org/git/CABPp-BEkJQoKZsQGCYioyga_uoDQ6iBeW+FKr8JhyuuTMK1RDw@mail.gmail.com/
10511051
10521052
1053- === Reference Emails = ==
1053+ == Reference Emails ==
10541054
10551055Emails that detail various bugs we've had in sparse-checkout:
10561056
0 commit comments