File Comparing Options

Get help for specific problems
Posts: 5
Joined: 25 Jan 2024

jbm417

I have only started using FFS, but do like it much better than the old SyncToy.

I have looked everywhere I can think of trying to figure out how to just compare
the timestamp of 2 files & then copy the newest to the oldest.

The comparison options do not offer just a time comparison.

Is there some way to create a custom comparison simply based on time?

TIA, Joe
User avatar
Posts: 4055
Joined: 11 Jun 2019

xCSxXenon

File time and size is what you want, unless you can provide a scenario where that wouldn't suffice
Posts: 5
Joined: 25 Jan 2024

jbm417

Perhaps I don't understand the comparison technique, but quite often I encounter files which have a later date but are smaller in size. This can happen for numerous reasons, but a simple example will suffice.

I edit a c# file - deleting several methods that are no longer used which makes the size smaller. I am no longer interested in the old version of the file so I would like FFS to overwrite the old with the new.
User avatar
Posts: 2453
Joined: 22 Aug 2012

Plerry

Using the File Time and Size compare option does FFS make consider files to be different if the file Time, the file Size or both differ between the left and right location.
Every file that is considered to be different will result in a (proposed) sync action.
Which sync action, depends on the sync variant (two-way, mirror, update, custom) you selected, and may thus even be Do Nothing.

So, if at either side (left or right) a file is newer than at the other side, it will result in a (proposed) sync action, irrespective of whether the newer file is smaller or bigger than, or equal in size to, its older counterpart.
User avatar
Posts: 4055
Joined: 11 Jun 2019

xCSxXenon

Yeah, time and size will work fine for that scenario. It doesn't matter whether a file gets bigger or smaller, any change will be detected and then FFS will use timestamps to figure out which is newer from there. If you use 'mirror', the source version will overwrite the destination, whether the file is newer or older. Make sure to choose a sync method appropriately
Posts: 5
Joined: 25 Jan 2024

jbm417

Thanks for the replies, but I am still not getting it. Today I ran a job which resulted in 182 files with the
"both sides have changed since last sync" message.

Many of the files displayed the same size, so I'm guessing there is a time difference.

I went to each listed file & selected a direction for sync - sometimes Left to Right & sometimes Right to Left. Then synced & all was good.

The configuration is: Two Way with Create, Update, Delete set to make changes to both Left & Right folders. DB box is checked.

How should I change the configuration to avoid this problem - manual intervention - in the future?

TIA, Joe
User avatar
Posts: 4055
Joined: 11 Jun 2019

xCSxXenon

Well, ideally, both sides won't change between syncs. Two-way is best used with RTS, so the syncs are automated whenever a change is made. With two-way, you will always get a conflict if both sides have an updated file. Maybe you should switch to mirror? What is your goal?
Posts: 5
Joined: 25 Jan 2024

jbm417

Overall goals are:
Update the folder which has oldest time stamp with the newest time stamp - either Left to Right or Right to Left.

Deletes in Left folder are made in RIght folder in some batch files. In other batch
files I would like deletes in Left folder to be ignored; i.e. no change in RIght folder.

Create file in either Left or Right if exists in Right or Left in some batch files. In other batch files
I would like to create file in only Right if exists in Left.

I believe this covers my usage, but I might have missed something. Anyway, a good starting point.
Posts: 16
Joined: 27 Nov 2022

azure55

I think two-way already covers your goals. On default, it propagates the latest changes which is what you want.

Sync conflict only occurs if you edited the exact same file on both sides (e.g., editing File1.txt on the left folder and editing File1.txt on the right folder will confuse the program, on which edited version will it choose to sync). You can avoid it by simply remembering which files or folders you edited on what side and avoid touching those on the other side until your next run of FFS. However, that could be difficult if you edit hundreds of files, that's why xCSxXenon recommends RTS (which automates the run of FFS) so you avoid the need to memorize anything.

On your next sync job, I suggest observing the direction of the sync, see if any are wrong, then check the possible reasons. Perhaps the modification time is wrong? That could be the case if the program you use has an autosave function (where opening the file alters it), or transferring from an SD card inside a phone. Additionally, you can use Versioning to be able to recover deleted files in case of misconfiguration of the sync job.

(Edit: I seem to have misinterpreted your goals, it really is a complex sync job, where the result is neither a mirror nor an update. Perhaps split the files into several folders and create different sync jobs for each of those folders?)
User avatar
Posts: 4055
Joined: 11 Jun 2019

xCSxXenon

That's a complex goal lol
Sounds like you may be working out of either directory at any time, so you would want to use 'two-way', but 'two-way' will delete files on the right side that have been deleted on the left side. So then I would recommend 'update', but that is a one-way transaction so changes on the right side don't get reflected on the left. I would work on simplifying your procedure/requirements as it is most likely more complicated than it needs to be. As of right now, the goals you stated aren't congruent with keeping two locations in sync, thus FFS may not be the right tool for this
Posts: 5
Joined: 25 Jan 2024

jbm417

Thank you for the reply - Yes, I currently do work out of either directory.

WIth your explanation, I now understand the problem. I'll give much thought as to how
to modify what I do as I really do like FFS - especially the GUI.

Thanks again, Joe