Commit 4247a64
committed
rm: integrate with sparse-index
Enable the sparse index within the `git-rm` command.
The `p2000` tests demonstrate a ~96% execution time reduction for
'git rm' using a sparse index.
Test before after
-------------------------------------------------------------
2000.74: git rm -f f2/f4/a (full-v3) 0.66 0.88 +33.0%
2000.75: git rm -f f2/f4/a (full-v4) 0.67 0.75 +12.0%
2000.76: git rm -f f2/f4/a (sparse-v3) 1.99 0.08 -96.0%
2000.77: git rm -f f2/f4/a (sparse-v4) 2.06 0.07 -96.6%
----
Also, normalize a behavioral difference of `git-rm` under sparse-index.
See related discussion [1].
`git-rm` a sparse-directory entry within a sparse-index enabled repo
behaves differently from a sparse directory within a sparse-checkout
enabled repo.
For example, in a sparse-index repo, where 'folder1' is a
sparse-directory entry, `git rm -r --sparse folder1` provides this:
rm 'folder1/'
Whereas in a sparse-checkout repo *without* sparse-index, doing so
provides this:
rm 'folder1/0/0/0'
rm 'folder1/0/1'
rm 'folder1/a'
Because `git rm` a sparse-directory entry does not need to expand the
index, therefore we should accept the current behavior, which is faster
than "expand the sparse-directory entry to match the sparse-checkout
situation".
Modify a previous test so such difference is not considered as an error.
[1] #6 (comment)
Signed-off-by: Shaoxuan Yuan <shaoxuan.yuan02@gmail.com>1 parent 5c76cdc commit 4247a64
3 files changed
Lines changed: 6 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
287 | 287 | | |
288 | 288 | | |
289 | 289 | | |
| 290 | + | |
| 291 | + | |
290 | 292 | | |
291 | 293 | | |
292 | 294 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
| 126 | + | |
126 | 127 | | |
127 | 128 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
912 | 912 | | |
913 | 913 | | |
914 | 914 | | |
915 | | - | |
| 915 | + | |
916 | 916 | | |
917 | 917 | | |
918 | 918 | | |
| |||
1870 | 1870 | | |
1871 | 1871 | | |
1872 | 1872 | | |
1873 | | - | |
| 1873 | + | |
1874 | 1874 | | |
1875 | 1875 | | |
1876 | 1876 | | |
| |||
1910 | 1910 | | |
1911 | 1911 | | |
1912 | 1912 | | |
1913 | | - | |
| 1913 | + | |
1914 | 1914 | | |
1915 | 1915 | | |
1916 | 1916 | | |
| |||
0 commit comments