run reconcileStaged even in smudge clean filter, using alternate code path
authorJoey Hess <joeyh@joeyh.name>
Mon, 21 Jul 2025 18:10:26 +0000 (14:10 -0400)
committerJoey Hess <joeyh@joeyh.name>
Mon, 21 Jul 2025 18:10:49 +0000 (14:10 -0400)
commitcf449837ea9ab7687d8a157f21cad31ddf5bbfb6
treeeb79cdca2f6aaca8d7b25911bfcd6f94c9b42798
parent65a1cf54ce1b652e78e4fd2e29bdbdb4ae7e819e
run reconcileStaged even in smudge clean filter, using alternate code path

Improved workaround for git 2.50 bug, avoding an occasional test suite
failure, as well as some situations where an unlocked file did not get
populated when adding another file to the repository with the same content.

This uses the alternate code path that was already using when there was
a conflict. Since that code path is not able to record its work,
it will redo the same work next time. If the only way reconcileStaged
is getting run is via the smudge clean filter, that could result in
more and more changes getting processed redundantly each time. Once
some other git-annex command runs and calls reconcileStaged, it
will stop redoing that work. I don't think the extra work will be a
problem.
CHANGELOG
Database/Keys.hs
doc/bugs/flaky_test_failure_add_dup.mdwn [new file with mode: 0644]