Does Mirror maintain a real copy of source?

Get help for specific problems

Anonymous

Does mirror make target equal to source always?

For example, we make a full new mirror from source to target.

If newer filters (more) restrictive are applied, that will exclude copying
some files or directories from source, shouldn't these same directories/files
be deleted from the target?

Thank you,
Jose
User avatar
Site Admin
Posts: 7042
Joined: 9 Dec 2007

Zenju

The mirror sync processes files that have passed filtering only and does not
touch filtered entries. This is consistent insofar as the opposite sync
direction doesn't (and shouldn't of course) copy filtered files neither.

Anonymous

Hi,

Thanks for your reply.

I have retested and the mirror behavour stil seems different than what I would
expect (and genereally happens on similar programs).

I mirror a set of files from A to B using filters.

Then I realize that I didn't want to copy any *.bak files from A to B.

I load the previous configuration and add *.bak filter to exclude them.

I would expect that all *.bak files would be removed from B, but this doesn't
happen.

Thanks again.
jose
User avatar
Site Admin
Posts: 7042
Joined: 9 Dec 2007

Zenju

I understand your usecase. But I see two problems:
1. If files are excluded via filter they are not traversed during comparison and not shown on screen. Deleting these files implicitly doesn't fit with the WYSIWYG approach of the tool.
2. Mirror sync (as modelled in this tool) is just one special case of a more generic sync-type that allows fine granular direction assignment to different file categories. Therefore both sides are treated equally. Consequently if excluded files that exist on target only should be deleted, then excluded files that exist on source only should be copied also. Latter doesn't make sense.
The filter specifies which files participate in synchronization. It does not
"create" new file hiearchies. This would be possible though, if filtering did
not treat both sides equally (as it does now) but allow for excluding files on
one side only. Perhaps this is something that could be done. But it
definitively needs a lot more thought put into it before introducing such a
major design change.

Anonymous

Hi Zenju,

Thanks for your very thorough explanation.

I must congratulate you. You have done a great work and created a very good
program. It surpasses many others - free and commercial.

I came across FreeFileSync because I was looking for backup/sync/mirror
program easy to use for end-users.

The requirements were basic:
1) being reliable.
2) capable of dealing with very long path/filenames
3) could show a visual selection of files
4) being able to be scheduled
5) being free or affordable.

After evaluating about a dozen, FreeFileSync came among firsts.
The reference was ViceVersa Pro, which I use personally for years and know
very well, although not perfect.

FreeFileSync surpassed many, even SyncBack (free version - did'n test others).
SyncBack wouldn't copy some very long file names and some kind of directories.
I couldn't figure why. Many programs suffered from the same problem.

The lesser points I found on FreeFileSync are:
1) the GUI interface and usage - minor and not very important issues.
2) The Mirror behavior (that we have been discussing). This, in my opinion and
for the intended audience (end-users not very IT knowledgeable, may be rather
important.

This last reason may force me to choose the second-positioned candidate.

I believe If you ever consider to change the behavior of Mirror (as you
mention on your point 2)) FreeFileSync could be much more useful and usable.

Further - and please apologize my ignorance on this, as I don't know the
inners of the software -, at first, it seems it shouldn't be necessary any
great re-restructuring. It may be only a matter of when, whether, what, ...,
filters should be applied to the tree of directories/filenames created,
representing the filesystem, both lefth and right.

If you wish, ViveVersa pro is the program I would use to look at, though there
are some nice options that could be added from others.

I am very grateful for your attention which I greatly appreciated. It has been
very nice to talk to you.

Best Regards,
Jose
User avatar
Site Admin
Posts: 7042
Joined: 9 Dec 2007

Zenju

> 1) the GUI interface and usage - minor and not very important issues.
If you found some obvious usability impediments don't hesitate to drop a line.

>The Mirror behavior may be rather important.
This is only an issue when newly setting up filtering. Once filter settings
are stable, this is no problem anymore as excluded items are not synced, just
as expected.

> I don't know the inners of the software
Filtering affects many parts of the software, so design changes need to be
thoroughly analyzed:
Example: allow filtering on one side only:

1. <Automatic> mode sync will treat filtered files the same as deleted files. Thous it's associated file on the other side will be deleted. This is not necessarily an action the user expected after applying a filter.

2. A filtered file in Source is not listed. Therefore applying a mirror sync will delete the file on target side. That's fine. Now swap sides: Copying the file from target to the seemingly empty location on source yields runtime error "file already existing".

3. Deleting a file on one side only is not a symmetrical operation. A sync tool's job is to create symmetry. Violating this fundamental philosophy should not be taken lightly. It's easy to introduce a severe design flaw into the software.

4. A quick-shot workaround to these issues may be to treat filtered files differently from deleted files. On the other hand performance demands that excluded directories are not scanned. Therefore uniform behavior discards this option.

5. ...

Anonymous

OK, I see... I understand your reasoning.

I realize I have been more focused on mirroring/backup. I rarely or ever use
syncing. Along the years I almost always used these kind of tools to mirror
data from a server to a backup server and backup (augmented) to a third backup
system.

For me, being able to redo a setting, altering filters, is critical. Otherwise
one would need to delete the right side (if operating L->R), which would be
unacceptable for large amount of data, or impossible, depending on the
operation to perform, in order not to loose data.

Nothing of this affects the quality and merit of your program.

I found, and find it great. My needs in this situation are slightly different
from what is purposed to.

Best Regards,

Jose