Last active
April 11, 2023 00:43
-
-
Save OmarIthawi/7ce3b1772399cf637905a1769b722174 to your computer and use it in GitHub Desktop.
Git sparse-checkout changelog from 3.34.0 to 2.40.0
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Git sparse checkout changed some breaking code changes: | |
2.34.0.txt: * In cone mode, the sparse-index code path learned to remove ignored | |
2.34.0.txt: files (like build artifacts) outside the sparse cone, allowing the | |
2.34.0.txt: entire directory outside the sparse cone to be removed, which is | |
2.34.0.txt: especially useful when the sparse patterns change. | |
2.34.0.txt- * "git add", "git mv", and "git rm" have been adjusted to avoid | |
2.34.0.txt: updating paths outside of the sparse-checkout definition unless | |
2.34.0.txt: the user specifies a "--sparse" option. | |
2.34.0.txt: * "git add" can work better with the sparse index. | |
2.34.0.txt: * Prevent "make sparse" from running for the source files that | |
2.34.0.txt- haven't been modified. | |
2.34.0.txt: * The sparse-index support can corrupt the index structure by storing | |
2.34.0.txt- a stale and/or uninitialized data, which has been corrected. | |
2.34.0.txt: * Recent sparse-index work broke safety against attempts to add paths | |
2.34.0.txt- with trailing slashes to the index, which has been corrected. | |
2.34.0.txt- (merge c8ad9d04c6 rs/make-verify-path-really-verify-again later to maint). | |
2.34.0.txt: * Recent sparse-index addition, namely any use of index_name_pos(), | |
2.34.0.txt: can expand sparse index entries and breaks any code that walks | |
2.34.0.txt- cache-tree or existing index entries. One such instance of such a | |
2.34.0.txt- breakage has been corrected. | |
2.34.0.txt: * Drop "git sparse-checkout" from the list of common commands. | |
2.34.0.txt: (merge 6a9a50a8af sg/sparse-index-not-that-common-a-command later to maint). | |
2.35.0.txt- * Various operating modes of "git reset" have been made to work | |
2.35.0.txt: better with the sparse index. | |
2.35.0.txt: * The "init" and "set" subcommands in "git sparse-checkout" have been | |
2.35.0.txt- unified for a better user experience and performance. | |
2.35.0.txt: * Ensure that the sparseness of the in-core index matches the | |
2.35.0.txt: index.sparse configuration specified by the repository immediately | |
2.35.0.txt- after the on-disk index file is read. | |
2.35.0.txt: * diff and blame commands have been taught to work better with sparse | |
2.35.0.txt- index. | |
2.35.0.txt: * "git fetch" and "git pull" are now declared sparse-index clean. | |
2.35.0.txt: Also "git ls-files" learns the "--sparse" option to help debugging. | |
2.35.0.txt: * The sparse-index/sparse-checkout feature had a bug in its use of | |
2.35.0.txt- the matching code to determine which path is in or outside the | |
2.35.0.txt: sparse checkout patterns. | |
2.35.0.txt: * Certain sparse-checkout patterns that are valid in non-cone mode | |
2.35.0.txt- led to segfault in cone mode, which has been corrected. | |
2.36.0.txt- * The command line completion (in contrib/) learns to complete | |
2.36.0.txt: arguments to give to "git sparse-checkout" command. | |
2.36.0.txt: * In sparse-checkouts, files mis-marked as missing from the working tree | |
2.36.0.txt- could lead to later problems. Such files were hard to discover, and | |
2.36.0.txt- harder to correct. Automatically detecting and correcting the marking | |
2.36.0.txt- of such files has been added to avoid these problems. | |
2.36.0.txt- * "git update-index", "git checkout-index", and "git clean" are | |
2.36.0.txt: taught to work better with the sparse checkout feature. | |
2.36.0.txt: * "git sparse-checkout init" failed to write into $GIT_DIR/info | |
2.36.0.txt- directory when the repository was created without one, which has | |
2.36.0.txt- been corrected to auto-create it. | |
2.36.0.txt: (merge 7f44842ac1 jt/sparse-checkout-leading-dir-fix later to maint). | |
2.36.0.txt: * Mark in various places in the code that the sparse index and the | |
2.36.0.txt- split index features are mutually incompatible. | |
2.36.0.txt: (merge 451b66c533 js/sparse-vs-split-index later to maint). | |
2.36.0.txt: * "git sparse-checkout" wants to work with per-worktree configuration, | |
2.36.0.txt- but did not work well in a worktree attached to a bare repository. | |
2.37.0.txt: * Deprecate non-cone mode of the sparse-checkout feature. | |
2.37.0.txt: * "git stash" works better with sparse index entries. | |
2.37.0.txt: * "git show :<path>" learned to work better with the sparse-index | |
2.37.0.txt- feature. | |
2.37.0.txt: * "sparse-checkout" learns to work better with the sparse-index | |
2.37.0.txt- feature. | |
2.37.3.txt: * Fixes to sparse index compatibility work for "reset" and "checkout" | |
2.37.3.txt- commands. | |
2.38.0.txt: * "git mv A B" in a sparsely populated working tree can be asked to | |
2.38.0.txt- move a path between directories that are "in cone" (i.e. expected | |
2.38.0.txt- to be materialized in the working tree) and "out of cone" | |
2.38.0.txt- (i.e. expected to be hidden). The handling of such cases has been | |
2.38.0.txt: * "git rm" has become more aware of the sparse-index feature. | |
2.38.0.txt: * "git mv A B" in a sparsely populated working tree can be asked to | |
2.38.0.txt- move a path from a directory that is "in cone" to another directory | |
2.38.0.txt- that is "out of cone". Handling of such a case has been improved. | |
2.38.0.txt- | |
2.38.0.txt: * Fixes to sparse index compatibility work for "reset" and "checkout" | |
2.38.0.txt- commands. | |
2.38.0.txt- * Segfault fix-up to an earlier fix to the topic to teach "git reset" | |
2.38.0.txt: and "git checkout" work better in a sparse checkout. | |
2.38.0.txt: (merge 037f8ea6d9 vd/sparse-reset-checkout-fixes later to maint). | |
2.39.0.txt: * "git grep" learned to expand the sparse-index more lazily and on | |
2.39.0.txt: demand in a sparse checkout. | |
2.39.0.txt- * Add trace2 counters to the region to clear skip worktree bits in a | |
2.39.0.txt: sparse checkout. | |
2.39.0.txt: * A design document for sparse-checkout's future directions has been | |
2.39.0.txt- added. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment