When doing a mirror operation I would expect exclude filter options to "clean-up" the mirrored copy.
For example:
Let's say at Location A, I have the following folders:
- Alpha
- Beta
- Charlie
- Delta
I do a full mirror operation with no exclusions so this structure now exists at Location B.
I then add a new folder "Epsilon" to my Location A, so it looks like this:
- Alpha
- Beta
- Charlie
- Delta
- Epsilon
I now wish to Mirror this to Location B, but I no longer want "Charlie" mirrored, because I don't have enough space for all this data.
I exclude "Charlie" in the filters, but upon the mirror operation it simply doesn't do *ANYTHING* to "Charlie", including delete it from the right side. Therefore, my operation will fail because there isn't enough room for "Epsilon."
I don't believe that this is in the true nature of a "Mirror" copy. A Mirror should be able to completely mirror, including those locations you are excluding.
Is there a way to add an option to honor the idea that an "excluded" location actually means you fully want to exclude it from copying (and as such, delete it if it already exists)?
thanks
Unintended Exclude Filter Behavior on Mirror
- Posts: 9
- Joined: 30 Jan 2020
- Posts: 9
- Joined: 30 Jan 2020
Further info:
The only way I know how to solve this is to manually remove "Charlie" from the destination location.
This is easy enough in the above scenario, but can be cumbersome when removing many folders (or nested locations).
Perhaps there is another way in the app to perform what I want that I am missing?
The only way I know how to solve this is to manually remove "Charlie" from the destination location.
This is easy enough in the above scenario, but can be cumbersome when removing many folders (or nested locations).
Perhaps there is another way in the app to perform what I want that I am missing?
- Posts: 2453
- Joined: 22 Aug 2012
If you exclude "Charlie", it is no longer part of the sync, so it will also not be deleted from your righ side.
This is very useful in cases in which you have (right-side) pre-existing folders that you don't want included in the sync, but don't want to be deleted.
But, in your use-case, if you do not want to retain such right-side folder, you need to manually remove that folder, like you concluded yourself.
This is very useful in cases in which you have (right-side) pre-existing folders that you don't want included in the sync, but don't want to be deleted.
But, in your use-case, if you do not want to retain such right-side folder, you need to manually remove that folder, like you concluded yourself.
- Posts: 9
- Joined: 30 Jan 2020
I'm aware of that - it's the behavior I described. What I am stating is that the idea of a true "mirror" is not achieved with this behavior and therefore it can be interpreted logically as unintended/misbehaving.If you exclude "Charlie", it is no longer part of the sync, so it will also not be deleted from your righ side.
This is very useful in cases in which you have (right-side) pre-existing folders that you don't want included in the sync, but don't want to be deleted.
But, in your use-case, if you do not want to retain such right-side folder, you need to manually remove that folder, like you concluded yourself. Plerry, 23 Mar 2020, 08:21
I understand the point of actual behavior, however this functionality can be interpreted differently.
I am asking for an enhancement so a "true mirror" can be achieved if not solution exists within the program.
- Posts: 1
- Joined: 7 Apr 2020
I also ran into the same problem and also feel the Mirror option is broken with regards to the Include / Exclude filters. (version 10.22)
In my case, the Versioning Time Stamp Folder option is enabled and, after adding a folder to the exclusion list, I expected the excluded folder to be archived to the Versioning folder. Instead, the folder stays in place in the mirror and nothing else changed.
The Mirror no longer reflects the Source. Newly excluded files or folders will stay in place and then rapidly become stale versions which are no longer consistent with the state of the source.
(In other words, if I exclude *.doc and have already backed up a document, the older version of the doc will stay in the mirror and not accurately reflect the source document once it changes).
If a user excludes pattern matches for files or folders, the only way to be sure you have a clean Mirror would be to delete the entire mirror and synchronise it from scratch after changing include or exclude filters.
I would rather see the Mirror clean up excluded files (as if they were deleted) and if the user wants to preserve those files, they can use the Versioning option.
In my case, the Versioning Time Stamp Folder option is enabled and, after adding a folder to the exclusion list, I expected the excluded folder to be archived to the Versioning folder. Instead, the folder stays in place in the mirror and nothing else changed.
The Mirror no longer reflects the Source. Newly excluded files or folders will stay in place and then rapidly become stale versions which are no longer consistent with the state of the source.
(In other words, if I exclude *.doc and have already backed up a document, the older version of the doc will stay in the mirror and not accurately reflect the source document once it changes).
If a user excludes pattern matches for files or folders, the only way to be sure you have a clean Mirror would be to delete the entire mirror and synchronise it from scratch after changing include or exclude filters.
I would rather see the Mirror clean up excluded files (as if they were deleted) and if the user wants to preserve those files, they can use the Versioning option.
- Posts: 4055
- Joined: 11 Jun 2019
I have no issue with the way it is being handled. You previously synced Charlie, now you are excluding it, so it doesn't care whether it exists or where it is/isn't. The process you are running looks to be unnecessary
- Posts: 9
- Joined: 30 Jan 2020
I'm glad you have no issue. This isn't about you. This is about reporting behavior which is contrary to logic and asking the dev to acknowledge his reasoning, workarounds, and possibly file an enhancement.I have no issue with the way it is being handled. You previously synced Charlie, now you are excluding it, so it doesn't care whether it exists or where it is/isn't. The process you are running looks to be unnecessary xCSxXenon, 10 Apr 2020, 15:41
As per my OP, the way things are set up now it is impossible to achieve a true "mirror" of data using exclude. In the above example, what I am looking to do is mirror an entire directory structure from A to B. However if the data set on A grows beyond what space exists on B, you will be forced to exclude one or more directories from A to fit the available space on B. But, since FFS is excluding *any* operations at all on this location when you choose this option, it therefore is also not performing a true mirror of the source data.
I realize this is a bit of a double standard, because what I am asking it to do is to not exclude the excluded files when processing them at the destination (i.e. delete them), but doing so means that FFS must not ignore them in the processing to determine what must be cleaned up.
As it stands, there would be only two solution to the issue:
1) Manually delete the excluded data at the destination
2) Move the data you want to exclude out of the directory tree before mirroring.
Obviously neither of these options are workable when automating things and both leave room for user error to do some serious damage to data.
While the current behavior works for some scenarios, it doesn't work for all, and I see no harm in adding a (non-default) option that enhances the behavior to do a true mirror of the chosen SOURCE directory structure. If you prefer to use the current functionality which doesn't perform true mirroring then you could continue to do that. For anyone else like myself, ttabyss, or others they can enable the option which provides the alternate behavior.
I'm hoping Zenju will add such an enhancement, or provide other instructions to solve this shortcoming.
- Posts: 4055
- Joined: 11 Jun 2019
I stopped reading after the first snarky sentence. Correct, it's not about me. It's also not about you. It's about the software. Why should an "enhancement" be made to the software because you don't have space? You mention a "true mirror", but you don't want a true mirror. Buy more storage.