Automatic Three-Way Folder Synchronization
Available exclusively in the Oro edition, the DeltaWalker automatic folder synchronizing
is an advanced capability that operates only on non-conflicting differences. It
automatically merges changes from the first and second folder hierarchies into their
common ancestor. DeltaWalker defines automatic synchronizing of folder hierarchies
strictly in the context of three-way folder comparison.
Automatic synchronizing, or merging, is best illustrated by a simple example, which
in turn, is best illustrated by before and after screenshots.
Please remember that files are classified as added or deleted always in relation
to the common ancestor.
The before auto-synchronizing image shows:
- One triplet of files with conflicting differences
—the "Different file with conflicts.txt" file in each of the compared
folders.
- One triplet of files with non-conflicting differences—the
"Different file.txt" file in each of the compared folders.
- Two added files—the "First-only file.txt"
in the first and "First-only file.txt" in the second folder.
- One deleted file—the "Ancestor-only file.txt"
present only in the ancestor folder.

The after screenshot below shows the result of the auto-synchronization:
- The triplet of files with conflicting differences
that had their non-conflicting differences automatically merged and their conflicting
differences left intact for manual reconciliation—the "Different file,
with conflicts.txt" file in each of the compared folders.
- The triplet of automatically merged files with non-conflicting
differences—the "Different file.txt" file in each of the
compared folders.
- Two added files—the "First-only file.txt"
in the first and "First-only file.txt" in the second folder.
- Two deleted files—the "First-only file.txt"
in the first and "First-only file.txt" simultaneously present only in
the ancestor folder.

The following simple rules govern automatic merging in DeltaWalker:
- Files with non-conflicting changes, e.g. the "Different file.txt" file
triplet, will be merged by the rules of automatic merging of files in three-way
file comparison.
- Added files e.g. the "First-only file.txt" and "Second-only file.txt",
are copied to the ancestor folder.
- Files deleted in both branches, e.g. the "Ancestor-only file.txt", are
deleted from the common ancestor folder as well.
- Files with conflicting changes, e.g. the "Different file, with conflicts.txt"
file triplet will have their non-conflicting differences merged by the rules of
automatic merging and their conflicting differences will be left intact for manual
reconciliation.
- The absence of a file in either the first or the second role while there are actual
differences in the contents of the other two roles yields a triplet with conflicting
changes that does not lend itself to automatic merging and requires manual reconciliation.
Automatic merging is applied only on the selected files or folders; that is you
need to make an explicit selection before performing an auto-synchronizing.
Note that all changes you made during the automatic merging process are committed
instantly DeltaWalker and are not undoable. To ensure that you
don't loose data inadvertedly, we recommend that you make a backup copy of the entire
ancestor folder.
Related topics