File Versioning


When you need to preserve files that have been deleted or overwritten it's often sufficient to select "Recycle Bin" in synchronization settings. However this is only available on local drives and offers little control on how to store and how long to keep the files. FreeFileSync therefore has an additional option, "Versioning".


1. Keep all versions of old files

In synchronization settings set both deletion handling and naming convention to "Versioning". FreeFileSync will move deleted files into the provided folder and add a time stamp to each file name. The structure of the synchronized folders is preserved so that old versions of a file can be conveniently accessed via a file browser.

Example (A file "Folder\File.txt" was updated three times and old versions were moved to folder "C:\Revisions")

C:\Revisions\Folder\File.txt 2012-12-12 111111.txt
C:\Revisions\Folder\File.txt
2012-12-12 122222.txt
C:\Revisions\Folder\File.txt
2012-12-12 133333.txt




2. Save only most recent version

Set deletion handling to "Versioning" and naming convention to "Replace". Deleted files will be moved to the specified folder without any decoration and will replace already existing older versions.


3. Save versions at certain intervals

With naming convention "Replace" it's possible to refine the granularity of versions to keep by adding macros to the versioning folder path. For example you can save deleted files on a per sync session basis by adding the %timestamp% macro:

Example (Using the dynamically generated folder name "C:\Revisions\%timestamp%")

C:\Revisions\2012-12-12 111111\Folder\File.txt
C:\Revisions\
2012-12-12 122222\Folder\File.txt
C:\Revisions\
2012-12-12 133333\Folder\File.txt



This allows for a simple manual undo by moving the deleted files from the last synchronization session back to their original folders. Other macros like %date% or %weekday% can be used to reduce the granularity to days and weeks.