git-annex/Logs
Joey Hess ff65cd6954
invalidate recorded content identifier tree when export changes
Fix bug that made changes to a special remote sometimes be missed when
importing a tree from it. The diff import would miss when a change was
exported, then manually undone on the special remote (eg deleting a newly
exported file). A full import is needed to catch such changes.

After upgrading, any such missed changes will be included in the next
tree imported from a special remote. This happens because the previously
recorded content identifier tree does not have export information included,
so it is treated as invalid, and a full import is done.

Fixes reversion introduced in version 10.20230626, commit
40017089f2

Unfortunately, this does mean that after each export, the next import will
be a full import. Which can take significantly longer than the diff import
does, when there are a lot of files in the tree.

It would be better if exporting also update the content identifier tree.
However, I don't know if that can be done inexpensively. It would be future
optimisation work, in any case.

(That could only be done for an export that is run in the same
repository as the import. When an export is run in a different repository,
the export.log gets updated, and that propagates to the repository where
import is later run. At that point, a full import is done.)

Sponsored-by: Luke T. Shumaker
2025-09-23 12:52:55 -04:00
..
Chunk update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Cluster don't sync with cluster nodes by default 2024-06-25 10:24:38 -04:00
ContentIdentifier simplify base64 to only use ByteString 2023-10-26 13:10:05 -04:00
Difference update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Export Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
MetaData update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
PreferredContent more OsPath conversion 2025-02-01 14:06:38 -04:00
Presence migrate --apply 2023-12-08 13:23:46 -04:00
Remote Fix build with attoparsec-0.14 2021-03-24 12:11:50 -04:00
SingleValue deal better with clock skew situations, using vector clocks 2021-08-04 12:33:46 -04:00
Trust avoid reloading trust log 2025-03-19 09:44:44 -04:00
Activity.hs Future proof activity log parsing 2021-06-14 14:18:19 -04:00
AdjustedBranchUpdate.hs parsePOSIXTime ByteString conversion 2025-01-22 16:42:09 -04:00
Chunk.hs newtype MapLog 2023-11-13 14:37:22 -04:00
Cluster.hs Avoid loading cluster log at startup 2024-07-31 15:54:14 -04:00
Config.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
ContentIdentifier.hs partially fix concurrency issue in updating the rollingtotal 2024-08-26 09:43:32 -04:00
Difference.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
EquivilantKeys.hs record VURL key hashes in addcomputed and recompute 2025-03-03 10:57:56 -04:00
Export.hs more OsPath conversion 2025-02-01 14:06:38 -04:00
File.hs convert all readFile, writeFile, and appendFile to close-on-exec safe versions 2025-09-05 15:44:32 -04:00
FsckResults.hs convert all readFile, writeFile, and appendFile to close-on-exec safe versions 2025-09-05 15:44:32 -04:00
Group.hs use hmac in balanced preferred content 2024-08-10 16:32:54 -04:00
Import.hs invalidate recorded content identifier tree when export changes 2025-09-23 12:52:55 -04:00
Line.hs Fix build with attoparsec-0.14 2021-03-24 12:11:50 -04:00
Location.hs more OsPath conversion 2025-02-01 14:06:38 -04:00
MapLog.hs newtype MapLog 2023-11-13 14:37:22 -04:00
MaxSize.hs invalidate caches after log changes 2024-09-20 16:52:17 -04:00
MetaData.hs more OsPath conversion 2025-02-01 14:06:38 -04:00
Migrate.hs more OsPath conversion 2025-02-01 14:06:38 -04:00
Multicast.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
NumCopies.hs invalidate caches after log changes 2024-09-20 16:52:17 -04:00
PreferredContent.hs almost finished with applySimCommand 2024-09-05 15:22:41 -04:00
Presence.hs more OsPath conversion 2025-02-01 14:06:38 -04:00
Proxy.hs add git-annex updatecluster command 2024-06-14 15:02:01 -04:00
Remote.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
RemoteState.hs newtype MapLog 2023-11-13 14:37:22 -04:00
Restage.hs convert all readFile, writeFile, and appendFile to close-on-exec safe versions 2025-09-05 15:44:32 -04:00
Schedule.hs convert all readFile, writeFile, and appendFile to close-on-exec safe versions 2025-09-05 15:44:32 -04:00
SingleValue.hs more OsPath conversion 2025-02-01 14:06:38 -04:00
Smudge.hs more OsPath conversion 2025-02-01 11:54:19 -04:00
Transfer.hs convert all readFile, writeFile, and appendFile to close-on-exec safe versions 2025-09-05 15:44:32 -04:00
Transitions.hs more OsPath conversion 2025-02-01 11:54:19 -04:00
Trust.hs avoid reloading trust log 2025-03-19 09:44:44 -04:00
Unused.hs more OsPath conversion 2025-01-30 15:46:32 -04:00
Upgrade.hs more OsPath conversion 2025-01-30 15:46:32 -04:00
UUID.hs invalidate caches after log changes 2024-09-20 16:52:17 -04:00
UUIDBased.hs newtype MapLog 2023-11-13 14:37:22 -04:00
View.hs convert all readFile, writeFile, and appendFile to close-on-exec safe versions 2025-09-05 15:44:32 -04:00
Web.hs plumb in LiveUpdate (WIP) 2024-08-23 16:35:12 -04:00