Indirect snapshot IDs


I had the not so smart idea of backing up big tar as files to an existing repo, rather than as directories.

I used something like:

kopia snapshot create /path1/path2/file1 /path1/path2/file2

where /path1/path2 are the same for both files, but where file1 and file2 file names are always unique.

The two files files are around 6MB and 11GB. They are both uncompressed tar files.

This makes unique snapshot path for each file, rather than a common directory with different contents and snapshot directories.

Since each path is unique (based on file name), there is no snapshot ageing/retirement.

I had already created earlier snapshots with:

kopia snapshot create /path1/path2

So that might have caused a conflict.

The snapshots created with

kopia snapshot create /path1/path2/file1 /path1/path2/file2

do not have a snapshot ID, starting k...., they have Ix.... (indirect) IDs.

When mounting the repo, the files appear as directories, with nothing inside.

However, I am able to restore the files with something like:

kopia show Ixe9e.... > bigfile.tar


kopia restore --snapshot-time='2023-06-30 01:27:33 EDT' root@xxx:/path1/path2/file-xxx-30jun2023-0526-35-utc.tar ./bigfile.tar

which is good!

I guess I expected the snapshots all to be in the snapshot directory:


with the files files to be snapshotted put in there. This would have been the case if I’d always used:

kopia snapshot create /path1/path2

I did it my (misguided) way so as to exclude subdirectories.

Is there any way to mount the repo where files would be available, perhaps in the root dir of the mount?

Finally is there a reason these ‘snapshots’ don’t have a k.... ID, but only the Ix.... one? Do only directories get k.... entries.

Apologies if this has been covered before. Perhaps a note in the documentation about this, or some warning on invocation might be handy.

Thanks for Kopia and making it open source; it is a fantastic program.