4a788fbb3b
This relies on git ls-files --with-tree, which I'm using in a way that its man page does not document. Hm. I emailed the git list to try to get the docs improved, but at least the git test suite does test the same kind of use case I'm using here. Performance impact when not in an adjusted branch is limited to some additional MVar accesses, and a single git call to determine the name of the current branch. So very minimal. When in an adjusted branch, the performance impact is in Annex.WorkTree.lookupFile, which starts doing an equal amount of work for files that didn't exist as it already did for files that were unlocked. This commit was sponsored by Jochen Bartl on Patreon. |
||
---|---|---|
.. | ||
Command | ||
Remote | ||
AutoCorrect.hs | ||
Branch.hs | ||
BuildVersion.hs | ||
CatFile.hs | ||
CheckAttr.hs | ||
CheckIgnore.hs | ||
Command.hs | ||
Config.hs | ||
ConfigTypes.hs | ||
Construct.hs | ||
CurrentRepo.hs | ||
DiffTree.hs | ||
DiffTreeItem.hs | ||
Env.hs | ||
FileMode.hs | ||
Filename.hs | ||
FilePath.hs | ||
Fsck.hs | ||
GCrypt.hs | ||
HashObject.hs | ||
Hook.hs | ||
Index.hs | ||
LockFile.hs | ||
LsFiles.hs | ||
LsTree.hs | ||
Merge.hs | ||
Objects.hs | ||
Queue.hs | ||
Ref.hs | ||
RefLog.hs | ||
Remote.hs | ||
Repair.hs | ||
Sha.hs | ||
Ssh.hs | ||
Status.hs | ||
Tree.hs | ||
Types.hs | ||
UnionMerge.hs | ||
UpdateIndex.hs | ||
Url.hs | ||
Version.hs |