git-annex/Types
Joey Hess 4d2f95853d
closing in on finishing live reposizes
Fixed successfullyFinishedLiveSizeChange to not update the rolling total
when a redundant change is in RecentChanges.

Made setRepoSizes clear RecentChanges that are no longer needed.
It might be possible to clear those earlier, this is only a convenient
point to do it.

The reason it's safe to clear RecentChanges here is that, in order for a
live update to call successfullyFinishedLiveSizeChange, a change must be
made to a location log. If a RecentChange gets cleared, and just after
that a new live update is started, making the same change, the location
log has already been changed (since the RecentChange exists), and
so when the live update succeeds, it won't call
successfullyFinishedLiveSizeChange. The reason it doesn't
clear RecentChanges when there is a reduntant live update is because
I didn't want to think through whether or not all races are avoided in
that case.

The rolling total in SizeChanges is never cleared. Instead,
calcJournalledRepoSizes gets the initial value of it, and then
getLiveRepoSizes subtracts that initial value from the current value.
Since the rolling total can only be updated by updateRepoSize,
which is called with the journal locked, locking the journal in
calcJournalledRepoSizes ensures that the database does not change while
reading the journal.
2024-08-27 12:54:46 -04:00
..
ActionItem.hs --explain for preferred/required content matching 2023-07-26 14:50:04 -04:00
AdjustedBranch.hs
Availability.hs let Remote.availability return Unavilable 2023-08-16 14:31:31 -04:00
Backend.hs implement URL to VURL migration 2024-03-01 16:42:02 -04:00
Benchmark.hs
BranchState.hs clean up git-remote-annex git-annex branch handling 2024-05-15 17:33:38 -04:00
CatFileHandles.hs
CleanupActions.hs
Cluster.hs remove dead nodes when loading the cluster log 2024-06-16 14:39:44 -04:00
Command.hs git-annex-shell: accept uuid of remote that proxying is enabled for 2024-06-10 12:44:35 -04:00
Concurrency.hs
Creds.hs
Crypto.hs support annex.shared-sop-command for encryption=shared 2024-01-12 13:31:18 -04:00
DeferredParse.hs
DesktopNotify.hs
Difference.hs git-remote-annex support exporttree=yes remotes 2024-05-13 11:48:00 -04:00
Direction.hs
Distribution.hs
Export.hs proxy stores received keys to known export locations 2024-08-07 09:47:34 -04:00
FileMatcher.hs plumb in LiveUpdate (WIP) 2024-08-23 16:35:12 -04:00
GitConfig.hs Added the annex.fullybalancedthreshhold git config. 2024-08-22 07:15:55 -04:00
GitRemoteAnnex.hs avoid duplicates building up in outManifest 2024-05-24 15:10:56 -04:00
Group.hs use hmac in balanced preferred content 2024-08-10 16:32:54 -04:00
Import.hs
IndexFiles.hs
Key.hs git-annex unused --from remote skips its git-remote-annex keys 2024-05-14 15:17:40 -04:00
KeySource.hs
Link.hs
LockCache.hs
Messages.hs
MetaData.hs simplify base64 to only use ByteString 2023-10-26 13:10:05 -04:00
Mime.hs
NumCopies.hs toward SafeDropProof expiry checking 2024-07-04 12:39:06 -04:00
ProposedAccepted.hs
RefSpec.hs
Remote.hs proxied exporttree=yes versionedexport=yes remotes are not untrusted 2024-08-08 15:24:19 -04:00
RemoteConfig.hs git-remote-annex: Display full url when using remote with the shorthand url 2024-05-24 17:15:31 -04:00
RemoteState.hs
RepoSize.hs closing in on finishing live reposizes 2024-08-27 12:54:46 -04:00
RepoVersion.hs
ScheduledActivity.hs
StallDetection.hs run codespell throughout fixing typos automagically 2024-05-01 15:46:21 -04:00
StandardGroups.hs
StoreRetrieve.hs toward SafeDropProof expiry checking 2024-07-04 12:39:06 -04:00
Test.hs
Transfer.hs P2P protocol version 2, adding SUCCESS-PLUS and ALREADY-HAVE-PLUS 2024-06-18 16:21:40 -04:00
Transferrer.hs
TransferrerPool.hs
Transitions.hs
TrustLevel.hs
Upgrade.hs
UrlContents.hs
UUID.hs dummy HasClient ClientM WebSocket 2024-07-07 21:21:45 -04:00
VectorClock.hs
View.hs
WorkerPool.hs