2023-10-24 17:06:54 +00:00
|
|
|
`git annex unused --from=$remote` and `git annex info $remote`
|
|
|
|
buffer the list of keys that have uncommitted journalled changes
|
|
|
|
in memory. This is due to Annex.Branch.files's which reads all the
|
|
|
|
files in the journal into a buffer.
|
2018-05-08 17:54:42 +00:00
|
|
|
|
|
|
|
Note that the list of keys in the branch *does* stream in, so this
|
|
|
|
is only really a problem when using annex.alwayscommit=false to build
|
2023-10-24 17:06:54 +00:00
|
|
|
up big git-annex branch commits via the journal. Or using annex.private,
|
|
|
|
since the private journal can build up a lot of keys in it.
|
2018-05-08 17:54:42 +00:00
|
|
|
|
|
|
|
An attempt at making it stream via unsafeInterleaveIO failed miserably
|
|
|
|
and that is not the right approach. This would be a good place to use
|
|
|
|
ResourceT, but it might need some changes to the Annex monad to allow
|
|
|
|
combining the two. --[[Joey]]
|
2020-01-30 19:22:05 +00:00
|
|
|
|
2023-10-24 17:06:54 +00:00
|
|
|
> This used to also affect --all and using git-annex in a bare repo, but
|
|
|
|
> that was avoided by using the overBranchFileContents interface. This
|
|
|
|
> suggests that changing to that interface in unused and info would be a
|
|
|
|
> solution.
|
|
|
|
|
2020-01-30 19:22:05 +00:00
|
|
|
[[!tag confirmed]]
|
2023-10-24 17:06:54 +00:00
|
|
|
|
|
|
|
[[!meta title="improve memory usage of unused and info when the journal contains a lot of files"]]
|