How to split a repo and apply policies to old snap shots

Hi. I am looking for help to split a repo and apply ignore patterns to old snapshots to reduce the size that the backup uses on the destination.

I have been running a Kopia repo on B2 for a couple of years, on a Windows desktop; it is about 5 TB. It is an unusual set-up, as I back up the following to the same repo:

  1. my own data located on internal drives
  2. data on the same internal drives, which is synched to there from a few friends’ computers (in different countries). I receive the data with SyncThing and Kopia puts it in the same repo.

There was once a reason for this set-up, but I no longer want to be the intermediary. I would like to separate the content into two different repos and maintain the old snapshots in both repos.

I have tried the following (on a smaller test backup):

  1. Used rclone to duplicate the repo files in a different cloud destination (to get faster server-side copy). I then had two identical cloud folders. This new repo should only have my friends’ files.
  2. Connected Kopia to the new repo. On the new repo, I added Kopia ignore patterns so that my files will not be backed up there. I ran a snapshot and saw that it works: My files are correctly excluded in the new snapshot; only my friends’ files remain.
  3. Tried to removed my friend’s unwanted files from previous snapshots. I understand the migrate command can be used to apply current ignore patterns to previous snapshots. I ran:

kopia snapshot migrate --source-config=C:\Users\X\AppData\Roaming\kopia\repository-1751041182211.config --all

Results indicate that nothings changes:

policy already set for (global)
policy already set for X@Y:c:\temp\sharedbackup
already migrated X@Y:c:\temp\sharedbackup at 2025-06-27 19:15:25 EAT
already migrated X@Y:c:\temp\sharedbackup at 2025-06-27 20:26:02 EAT
already migrated X@Y:c:\temp\sharedbackup at 2025-06-27 20:54:10 EAT
already migrated X@Y:c:\temp\sharedbackup at 2025-06-27 20:59:14 EAT
already migrated X@Y:c:\temp\sharedbackup at 2025-06-27 21:06:48 EAT

  • 0 hashing, 0 hashed (0 B), 0 cached (0 B), uploaded 0 B, estimating …
    Migration finished.

The unwanted files are still visible in the old snapshots.

  1. If that had work, I had then planned to reduce the size consumed in the backup destination by running kopia maintenance run --full

Could anyone tell me why the ignore pattern is not applied to the old snapshots? Any other suggestions?

I’m running Kopia - current version 0.20.1 - on Windows.

Thanks!