Skip to content

.ccms-checksums gets checksummed #1

@sldr-se

Description

@sldr-se

Hello. Found an issue causing verification issues.

To the best of my understanding, the following happens (starting from a blank slate with an empty remote):

  1. ccms push, generating the checksums of the content of ~/.claude, pushes that content, then uploads the checksums into the backup directory as .ccms-checksums
  2. ccms pull, fetches the remote checksums, then fetches the content of the remote backup directory, including the .ccms-checksums file
  3. ccms push, generates the checksums again, now including the downloaded .ccms-checksums file, pushes all that, then overwrites the just-pushed .ccms-checksums (pushed as part of the normal push) with the newly calculated checksums.
  4. ccms pull fails, since it will get the remote checksums (which includes a checksum for .ccms-checksums, though no longer accurate since the last push), pull the contents, then verify the checksums and fail when .ccms-checksums doesn't match.

I think the root problem is that .ccms-checksums should be ignored during pull/push operations, since you otherwise get into the state where the checksums file contains a reference to itself, which gets all kinds of recursive.

There are a couple of solutions to this, but the simplest workaround I found is just adding .ccms-checksums to the ignore file, then potentially cleaning it up from the local/remote, depending on where in the process you are.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions