<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/read-cache.c, branch gitk-resize-error</title>
<subtitle>Fork of git SCM with my patches.</subtitle>
<id>http://git.kilabit.info/git/atom?h=gitk-resize-error</id>
<link rel='self' href='http://git.kilabit.info/git/atom?h=gitk-resize-error'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/'/>
<updated>2021-12-10T22:35:12Z</updated>
<entry>
<title>Merge branch 'vd/sparse-reset'</title>
<updated>2021-12-10T22:35:12Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-12-10T22:35:12Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=f0850875fd44a58cd1eae349244327b2eff29fa7'/>
<id>urn:sha1:f0850875fd44a58cd1eae349244327b2eff29fa7</id>
<content type='text'>
Various operating modes of "git reset" have been made to work
better with the sparse index.

* vd/sparse-reset:
  unpack-trees: improve performance of next_cache_entry
  reset: make --mixed sparse-aware
  reset: make sparse-aware (except --mixed)
  reset: integrate with sparse index
  reset: expand test coverage for sparse checkouts
  sparse-index: update command for expand/collapse test
  reset: preserve skip-worktree bit in mixed reset
  reset: rename is_missing to !is_in_reset_tree
</content>
</entry>
<entry>
<title>Merge branch 'vd/sparse-sparsity-fix-on-read'</title>
<updated>2021-12-10T22:35:01Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-12-10T22:35:01Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=5396d7b298e9db83e98fb6a552a42a6a59984305'/>
<id>urn:sha1:5396d7b298e9db83e98fb6a552a42a6a59984305</id>
<content type='text'>
Ensure that the sparseness of the in-core index matches the
index.sparse configuration specified by the repository immediately
after the on-disk index file is read.

* vd/sparse-sparsity-fix-on-read:
  sparse-index: update do_read_index to ensure correct sparsity
  sparse-index: add ensure_correct_sparsity function
  sparse-index: avoid unnecessary cache tree clearing
  test-read-cache.c: prepare_repo_settings after config init
</content>
</entry>
<entry>
<title>reset: make sparse-aware (except --mixed)</title>
<updated>2021-11-29T20:51:26Z</updated>
<author>
<name>Victoria Dye</name>
<email>vdye@github.com</email>
</author>
<published>2021-11-29T15:52:41Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=20ec2d034cda1afef15a4dcc6e275d7a69413510'/>
<id>urn:sha1:20ec2d034cda1afef15a4dcc6e275d7a69413510</id>
<content type='text'>
Remove `ensure_full_index` guard on `prime_cache_tree` and update
`prime_cache_tree_rec` to correctly reconstruct sparse directory entries in
the cache tree. While processing a tree's entries, `prime_cache_tree_rec`
must determine whether a directory entry is sparse or not by searching for
it in the index (*without* expanding the index). If a matching sparse
directory index entry is found, no subtrees are added to the cache tree
entry and the entry count is set to 1 (representing the sparse directory
itself). Otherwise, the tree is assumed to not be sparse and its subtrees
are recursively added to the cache tree.

Helped-by: Elijah Newren &lt;newren@gmail.com&gt;
Signed-off-by: Victoria Dye &lt;vdye@github.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>sparse-index: update do_read_index to ensure correct sparsity</title>
<updated>2021-11-25T00:32:39Z</updated>
<author>
<name>Victoria Dye</name>
<email>vdye@github.com</email>
</author>
<published>2021-11-23T00:20:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=7ca4fc8819e60bbeb21a8684af182d321b338c47'/>
<id>urn:sha1:7ca4fc8819e60bbeb21a8684af182d321b338c47</id>
<content type='text'>
Unless `command_requires_full_index` forces index expansion, ensure in-core
index sparsity matches config settings on read by calling
`ensure_correct_sparsity`. This makes the behavior of the in-core index more
consistent between different methods of updating sparsity: manually changing
the `index.sparse` config setting vs. executing
`git sparse-checkout --[no-]sparse-index init`

Although index sparsity is normally updated with `git sparse-checkout init`,
ensuring correct sparsity after a manual `index.sparse` change has some
practical benefits:

1. It allows for command-by-command sparsity toggling with
   `-c index.sparse=&lt;true|false&gt;`, e.g. when troubleshooting issues with the
   sparse index.
2. It prevents users from experiencing abnormal slowness after setting
   `index.sparse` to `true` due to use of a full index in all commands until
   the on-disk index is updated.

Helped-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Co-authored-by: Derrick Stolee &lt;dstolee@microsoft.com&gt;
Signed-off-by: Victoria Dye &lt;vdye@github.com&gt;
Reviewed-by: Elijah Newren &lt;newren@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'rs/add-dry-run-without-objects'</title>
<updated>2021-10-25T23:06:57Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-10-25T23:06:57Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=6ffb5fc06940ebb312b5cb010246e27c1b6aead0'/>
<id>urn:sha1:6ffb5fc06940ebb312b5cb010246e27c1b6aead0</id>
<content type='text'>
Stop "git add --dry-run" from creating new blob and tree objects.

* rs/add-dry-run-without-objects:
  add: don't write objects with --dry-run
</content>
</entry>
<entry>
<title>Merge branch 'rs/make-verify-path-really-verify-again'</title>
<updated>2021-10-18T22:47:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-10-18T22:47:58Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=a86ed75f32a38d3496fedb2be52816aa36472db1'/>
<id>urn:sha1:a86ed75f32a38d3496fedb2be52816aa36472db1</id>
<content type='text'>
Recent sparse-index work broke safety against attempts to add paths
with trailing slashes to the index, which has been corrected.

* rs/make-verify-path-really-verify-again:
  read-cache: let verify_path() reject trailing dir separators again
  read-cache: add verify_path_internal()
  t3905: show failure to ignore sub-repo
</content>
</entry>
<entry>
<title>add: don't write objects with --dry-run</title>
<updated>2021-10-12T20:15:49Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2021-10-12T19:15:50Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=e578d0311d7b19ebd8cdadc6941f2aa060b7a850'/>
<id>urn:sha1:e578d0311d7b19ebd8cdadc6941f2aa060b7a850</id>
<content type='text'>
When the option --dry-run/-n is given, "git add" doesn't change the
index, but still writes out new object files.  Only hash the latter
without writing instead to make the run as dry as possible.

Use this opportunity to also make the hash_flags variable unsigned,
to match the index_path() parameter it is used as.

Reported-by: git.mexon@spamgourmet.com
Signed-off-by: René Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'sg/test-split-index-fix'</title>
<updated>2021-10-11T17:21:47Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-10-11T17:21:47Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=ed4d5353426e9e61360ea68e28140fbeb55eeb9e'/>
<id>urn:sha1:ed4d5353426e9e61360ea68e28140fbeb55eeb9e</id>
<content type='text'>
Test updates.

* sg/test-split-index-fix:
  read-cache: fix GIT_TEST_SPLIT_INDEX
  tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests
  read-cache: look for shared index files next to the index, too
  t1600-index: disable GIT_TEST_SPLIT_INDEX
  t1600-index: don't run git commands upstream of a pipe
  t1600-index: remove unnecessary redirection
</content>
</entry>
<entry>
<title>read-cache: let verify_path() reject trailing dir separators again</title>
<updated>2021-10-08T00:52:26Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2021-10-07T20:31:58Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=c8ad9d04c6a51cb5c73ebc9e42b627314eeafe2f'/>
<id>urn:sha1:c8ad9d04c6a51cb5c73ebc9e42b627314eeafe2f</id>
<content type='text'>
6e773527b6 (sparse-index: convert from full to sparse, 2021-03-30) made
verify_path() accept trailing directory separators for directories,
which is necessary for sparse directory entries.  This clemency causes
"git stash" to stumble over sub-repositories, though, and there may be
more unintended side-effects.

Avoid them by restoring the old verify_path() behavior and accepting
trailing directory separators only in places that are supposed to handle
sparse directory entries.

Signed-off-by: René Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>read-cache: add verify_path_internal()</title>
<updated>2021-10-08T00:49:39Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2021-10-07T20:31:44Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=2a1ae649a4c485b833d75cd5bb14b53ff9bae2c6'/>
<id>urn:sha1:2a1ae649a4c485b833d75cd5bb14b53ff9bae2c6</id>
<content type='text'>
Turn verify_path() into an internal function that distinguishes between
valid paths and those with trailing directory separators and rename it
to verify_path_internal().  Provide a wrapper with the old behavior
under the old name.  No functional change intended.  The new function
will be used in the next patch.

Suggested-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Signed-off-by: René Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
