Suggestion about revisioning

Discuss new features and functions
Posts: 6
Joined: 15 Apr 2023

decoffey

I have been playing around with this and I really like the idea of being able to go back in time and capture something done previously. I have tried both settings and prefer the timestamp on the file name as opposed to the timestamp on the folder.

I noticed something that could be an issue. When a revision is created the app creates a folder using the name of the lowest folder found in the path on the left side, this created under the path provided for revisioning. It seems that there could be a collision in the lowest folder name when processing files.

For example:
../../customer name 1/documents/customer intake form.docx
../../customer name 2/documents/Price increase Q3_2024.docx
../../customer name 3/documents/customer intake form.docx

If any 2 of the files above were changed on the name day they would end up in the same revisions subfolder called documents which might cause some confusion. Files of the same name being revisioned into the same folder would also be a source for confusion.

It seems that a solution could be to copy the entire path from the root on down and completly replicate the directory structure under the location provided for revisioning.

For the record, I have a been a long time Seafile user for my household data. I have run Seafile from probably 8 years and now I have decided I dont need the headaches of working through the process of an upgrade. Enter FreeFileSync and the RealTimeSync component. This will provide me everything I need and my instance of Seafile will remain active strictly as a portal for doing uploads and downloads of large files.

Keep up the good work.
User avatar
Posts: 2946
Joined: 22 Aug 2012

Plerry

This sounds like a self-created problem.
Within the specified versioning location(s), FreeFileSync (FFS) retains the folder structure relative to the left and right base location(s).

Looking at your example, it seems you have three left-right folder pairs
[PathToSource1]/customer name 1/ => [PathToTarget1]/customer name 1/
[PathToSource2]/customer name 2/ => [PathToTarget2]/customer name 2/
[PathToSource3]/customer name 3/ => [PathToTarget3]/customer name 3/
or even
[PathToSource1]/customer name 1/documents/ => [PathToTarget1]/customer name 1/documents/
[PathToSource2]/customer name 2/documents/ => [PathToTarget2]/customer name 2/documents/
[PathToSource3]/customer name 3/documents/ => [PathToTarget3]/customer name 3/documents/
(where [PathToSource1] may be equal to [PathToSource2] and [PathToSource3], and [PathToTarget1] may be equal to [PathToTarget2] an [PathToTarget3])
while using a single versioning location for all three left-right pairs.
With this approach, all previous versions of document files of all three customers end up in one and the same versioning (documents) folder.

You can solve that self created problem by
1) Most commonly one would expect all "customer name X" folders to have a shared parent folder, e.g. PathToAllCustomersSource and PathToAllCustomersTarget respectively.
You can then simply use a single left-right pair
[PathToAllCustomersSource] => [PathToAllCustomersTarget]
This sync will then create/use customer specific folders and their subfolders, not only in the Target, but also in the (then single) Versioning location.
If only specific customers need to be synced, you can add those customer folders to the Include Filter list (replacing the default * =everything), or if only specific customers do not need to be synced, you can add those customer folders to the Exclude Filter list.
2) Using separate Versioning locations per customer specific folder pair, by using local sync settings per folder pair (via the right gear icon in between each left-right pair), e.g. by including the specific customer name in each pair's versioning location.
But not very practical if you have a long list of customers.
(The same then holds for having a left-right folder pair per customer)
3) If [PathToSource1], [PathToSource2] and/or [PathToSource3] are different, or [PathToTarget1], [PathToTarget2] and/or [PathToTarget3] are different, you can use multiple left right pairs:
[PathToSource1]/ => [PathToTarget1]/
[PathToSource2]/ => [PathToTarget2]/
[PathToSource3]/ => [PathToTarget3]/
If the PathToSource1 folder comprises more than just the "customer name 1" folder, you should use a local Include Filter (via the funnel icon mid between each left-right pair) to only include the "customer name 1" folder. Etc. for each pair.
You can then stick to using a single Versioning location, and still have a "customer name X" folder per customer in your versioning location.