diff --git a/CHANGELOG b/CHANGELOG index 44a0305bd3..aa6dc06ea8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -9,6 +9,8 @@ git-annex (10.20250321) UNRELEASED; urgency=medium * httpalso: Windows url fix. * Added remote.name.annex-web-options config, which is a per-remote version of the annex.web-options config. + * migrate: Fix --remove-size to work when a file is not present. + Fixes reversion introduced in version 10.20231129. -- Joey Hess Fri, 21 Mar 2025 12:27:11 -0400 diff --git a/Command/Migrate.hs b/Command/Migrate.hs index a2dab7ab00..ffaabf7da6 100644 --- a/Command/Migrate.hs +++ b/Command/Migrate.hs @@ -90,7 +90,7 @@ start o ksha si file key = do newbackend <- chooseBackend file if (newbackend /= oldbackend || upgradableKey oldbackend || forced) && exists then go False oldbackend newbackend - else if cantweaksize newbackend oldbackend && exists + else if cantweaksize newbackend oldbackend exists then go True oldbackend newbackend else stop where @@ -101,10 +101,10 @@ start o ksha si file key = do starting "migrate" (mkActionItem (key, file)) si $ perform onlytweaksize o file key keyrec oldbackend newbackend - cantweaksize newbackend oldbackend + cantweaksize newbackend oldbackend exists | removeSize o = isJust (fromKey keySize key) | newbackend /= oldbackend = False - | isNothing (fromKey keySize key) = True + | isNothing (fromKey keySize key) && exists = True | otherwise = False upgradableKey oldbackend = maybe False (\a -> a key) (canUpgradeKey oldbackend) diff --git a/doc/bugs/migrate_--remove-size_does_nothing.mdwn b/doc/bugs/migrate_--remove-size_does_nothing.mdwn index 37d8582e34..8e8861dc55 100644 --- a/doc/bugs/migrate_--remove-size_does_nothing.mdwn +++ b/doc/bugs/migrate_--remove-size_does_nothing.mdwn @@ -92,4 +92,4 @@ git-annex version: 10.20250115 - +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/migrate_--remove-size_does_nothing/comment_1_57e0c4a6b4183a9e08894a7c25b2efda._comment b/doc/bugs/migrate_--remove-size_does_nothing/comment_1_57e0c4a6b4183a9e08894a7c25b2efda._comment new file mode 100644 index 0000000000..5e62a0d4e8 --- /dev/null +++ b/doc/bugs/migrate_--remove-size_does_nothing/comment_1_57e0c4a6b4183a9e08894a7c25b2efda._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2025-04-01T14:39:24Z" + content=""" +I diagnose a bug introduced in +[[!commit 86dbe9a825b9c615c63e0cfc5e4a737a249f8989]] +that makes it only be able to remove the size if the object file is locally +present. Fixed. +"""]]