This repository has been archived by the owner on Oct 11, 2024. It is now read-only.
add NoMerge
flag for collections to control merging in kopia
#1914
Labels
bug
Something isn't working
Under some conditions, we do not want to merge items in a collection with the base snapshot but we do want to preserve changes (or not change) the subtree rooted at the given collection. One such instance of this is when a delta token expires in M365. When a token expires, Corso will fallback to enumerating all items reachable with that delta endpoint.
However, because it's doing a full enumeration and GraphConnector has no information about what is in the base snapshot it cannot produce entries in the collection for deleted items
Making a collection marked as deleted (to stop sourcing items from the base) and then making a collection marked as new with the full enumeration of items is also not an option because it will delete the subtree rooted at the folder being enumerated
Adding a new flag instead of making new state(s) for the collection is more flexible because there are times where we'd want to skip merging base snapshot items for a specific container but still propagate changes to the subtree. An example would be moving a container in M365 but having an expired delta token. In that instance, the subfolders should be moved but no items for the root of the subtree should be sourced from the base. Because of this, at least two additional states would be required if we used states only, a
NoMergeMoved
andNoMergeNotMoved
stateThe text was updated successfully, but these errors were encountered: