This page provides an in-depth guide to all the options available in the app's GUI (graphical user interface), and goes into usage details along the way. All of its sections begin with a box of links to screenshots from each of the four supported platforms, to help you relate the concepts covered here to the GUIs you'll be using.
This page is mostly about the fine points, and is partly meant to work as a reference after you start using the system. For a higher-level look at app usage, see Usage Overview, and for app start-up info, see App Packages.
This app's GUI organizes its functionality into separate screens selected by tabs. At the top of the GUI, you'll find a bar of buttons which allow you to quickly switch between the tabs' screens with a tap or click. This bar scrolls horizontally on narrow displays if needed.
Tabs also factor into app closes. An Android Back (and a PC Escape key) in any tab other than Main will take you back to the Main tab quickly. A Back (or escape) in the Main tab closes the app, unless a Main-tab action is running. Because killing a running action may not be desired, close requests while one is in progress trigger either a verify dialog, or info on how to shutdown both app and action (e.g., with a Recents swipe on Android). There's more on Main-tab actions in the next section.
The remainder of this page covers specific parts of the app's GUI, and is organized by tabs; because the Main-tab's folder chooser is crucial info, it gets its own section here too:
This is the primary tab you'll use to process your content. Here, you will run an action by:
After running an action here, you'll usually proceed to explore its results in the Logs tab (covered ahead). The Main tab's options are grouped by sections in the GUI. The following coverage details them, from top to bottom on this tab.
The blue FROM and TO buttons at the top left of this section open a folder-chooser popup where you'll pick the content folders which will be processed by this tab's green action buttons covered in the next section.
The folder chooser displays folders in the available storage areas on all your devices. At its top, you'll find a red button for each storage area. This row's buttons open storage roots; scroll to reveal all your options; and act as radio buttons: the current selection's type is darker to let you know what's being displayed. They also vary by device type, and merit separate coverage ahead.
Back on the Main tab, to the right of the blue FROM and TO buttons, the white text fields both display the paths of the folders you select, and allow you to edit them with your keyboard as desired. All the usual edits work, including control-c/v to copy/paste, and long and double taps on Android to select and copy/paste. Whatever is in these fields when a green action button is tapped is what will be processed.
As a convenience, the app automatically saves the white path fields' contents whenever you run a green-button action, and restores them when you restart the GUI. Because of this, you usually won't need to re-select folders on each run; if you normally process the same FROM and TO folders every time, they'll be preloaded into the white text fields and ready to go.
This section hosts the app's main actions, which you run by tapping the green buttons on the left. All the actions here continue running if they are in progress when you navigate to another app or program, or the screen is turned off on Android. In more detail than their in-GUI summaries, here's what the green action buttons do, from top to bottom:
Operationally, SYNC launches a sync from FROM to TO, which updates TO only for the ways it differs from FROM. Put another way, this propagates changes made to FROM since the last SYNC to TO. FROM's changes are detected quickly using file timestamps and sizes along with folder-tree structure, and propagated to TO with file operations. The net effect makes TO the same as FROM.
In practical terms, this same tool can be used to both:
In the latter mode, all three devices' content copies are the same after the two-step process—source, USB, and destination—and the USB drive in the middle serves as an extra backup copy.
To audit the changes made by a SYNC, go to the Logs tab when the run finishes, and either TAIL or OPEN the most recent logfile, which is automatically selected in the tab. Near the end of the logfile, you'll find a summary of differences found and changes applied; the counts for each are often enough to verify SYNC results.
If enabled in the Config tab, SYNC will save backup copies of every item it changes in TO, so that the SYNC can be rolled back with the UNDO button. This is enabled by default, and explained more fully ahead at UNDO.
To view the differences report after a SHOW run, go to the Logs tab, and TAIL or OPEN the most recent logfile automatically selected there. The report gives counts for all difference categories, with more detailed info on individual difference above. Because SHOW compares with timestamps like SYNC, it's much faster than DIFF, ahead.
UNDO is useful if a SYNC is run incorrectly, or goes awry due to hardware or software failures. While it should be rarely (if ever) required, it provides an emergency-rescue feature for your content when needed. UNDO can also be run multiple times, and each successive run will roll back successively older SYNCs. This is more rarely needed than UNDO itself, but can be used to restore a content copy to its state at an arbitrary point in the past, by rolling back each SYNC run since then.
SYNC backups rolled back by UNDO are saved in each TO folder's auto-cleaning
__bkp__ folder, in a subfolder labeled by date and time. You can control how many
backups are retained in the Config tab to balance
space used against rollback longevity, and can manually inspect or use
contents freely. As a convenience, the
Help tab includes a button for exploring TO's
Important: UNDO can be used only if its latest SYNC was run with backups enabled, and is generally prohibited by the app otherwise. Without backups, there is nothing for UNDO to roll back. This rule also applies to consecutive UNDO runs: they work only if all the SYNCs you wish to UNDO were run with backups enabled.
SYNC backups are enabled by default in the Config tab, but can be disabled there to save space or boost speed. As guidelines, their extra space and time requirements are generally modest because they save changed items only, but pruning prior backup folders can be slow in some Android contexts. Keep in mind, though, that disabling them precludes using UNDO for SYNC; unless you're sure you won't need them later, SYNC backups are strongly advised.
Note that Copy always creates FROM's folder inside TO, so in this action you're
really selecting the TO folder to host the content-folder, not the content folder itself. For
example, if FROM is a path
a/b/c and TO is
x/y/c to be a complete copy of
Copy also ensures that you don't inadvertently copy a folder into itself,
which would loop and fail.
This is a much deeper comparison than the SHOW action's timestamp check (above), and, though very rare, may catch things that a timestamp comparison misses. Its depth, however, also makes DIFF much slower; you should generally use this only occasionally, to verify that FROM and TO are truly the same.
Besides comparison depth, DIFF also differs from SHOW by always noting
__bkp__ folders as differences. SHOW and SYNC simply skip
these folders because they normally differ and are not in scope for content
syncs (see UNDO for more on backup folders). DIFF applies to folders
of all kinds.
Nit: while DIFF is a deeper comparison than SHOW, it still does not compare exotic or platform-specific metadata like file attributes and permissions. Since content is about file bytes, however, this action suffices for all content collections you're likely to compare.
Tip: Mergeall includes a command-line tool that helps you inspect individual file differences reported in a DIFF logfile. See and fetch it here.
Sidebar: DIFF differences are also usually your first indicator of device errors. All drives have limited lifespans, and stop accurately recording content eventually. If a handful of files differ in odd ways as indicated by DIFF, it probably reflects bad device sectors, and it's likely that your device's storage is starting to fail and should be replaced soon.
Specifically, the tool replaces any of the ten characters
\x00 / \ | < > ? * : " with a single underscore
in the names of all files, folders, and symlinks in the entire FROM tree.
This mod satisfies the naming rules on all devices this app supports.
It's recommended when transferring content from Unix (e.g., macOS or Linux) to
Windows, removable drives using Windows filesystems (e.g., exFAT or FAT32),
or Android shared storage (PHONE).
Because this action's changes have no undo (rollback), you can opt to run it in either report or update mode in the confirmation dialog. Report mode lists FROM's nonportable filenames in the logfile, but does not change them. Update mode proceeds to change all nonportable filenames in FROM as described. You should usually run this tool in report mode before update, to verify that all its proposed name changes are harmless; it's possible that some files are named nonportably on purpose, though they won't work across all devices unchanged.
In general, this tool never must be run on Windows, as that platform already prohibits nonportable characters. Windows enforces filename rules by its win32 API, independently of filesystems. This option is not grayed-out when this app is run on Windows, only because atypical software might allow nonportable names to be created (conceivably, though it's unknown if win32 is ever subverted). As a guideline, ignore NAME on Windows unless you know that filename constraints may not be enforced on a given drive, and use report mode if you're unsure; if change counts are zero in the logfile, no mods are needed.
By contrast, this tool is useful and recommended for content on Unix (macOS and Linux), as well as Android app-specific storage (APP), because both have filename rules that are more flexible than Windows'. Android shared storage (PHONE) follows Windows' rules, and generally doesn't require NAME runs (though Android devices are highly variable). See the folder-chooser popup coverage ahead for more on Android storage.
The tool run by NAME is also available on the web, for use in command-line mode (e.g. in Termux on Android, and Terminal or Command Prompt on PCs). Fetch or inspect it here. At the same site, you can also find a tool for adjusting timestamps on FAT32 drives, as well as a tool to locate (though not fix) nonportable symlinks, and an overview of the timestamp issue for time changes on FAT32.
Tip: if you don't fix nonportable filenames with NAME, these files will fail when copied by SYNC and COPY, and be skipped with error messages in logfiles. Some platforms (e.g., macOS) silently change such names to allow copies, but this hack may fail in later usage contexts. Using NAME before SYNC and COPY is your best bet for content that may span multiple platforms and devices. See also the Usage Overview's related coverage of symlinks.
Finally, the image at the bottom of the Main tab animates when an action is in progress, and stops when the action ends to give you a simple visual indicator for action status. Because some Main-tab actions may run for a long time on larger content folders, this lets you check in on status periodically.
On Android, actions by default also give status by posting a notification while they are running; please allow notifications when prompted on the first run, and see your notification pulldown or top-of-phone status bar. In addition, the Logs tab's TAIL and WATCH actions allow you to check the status of running actions in more detail; let's move on to this tab for more info.
When you tap a blue FROM or TO button in the Main tab, you'll open a popup window in which you can pick a content folder on one of your devices. From top to bottom in this popup, you'll find:
In the second to last of these, parent folders, denoted by
allow you to move up in the folder hierarchy, until you reach the top of
the storage area. When you tap this popup's Pick to select a folder,
the folder's path is copied to the Main tab's white fields, where it can
be edited as desired.
Most of this popup's content is self-explanatory, but the red storage-type buttons at the top warrant a few more words. These buttons scroll horizontally to reveal all your drives and options, if they don't all fit on your display; always open storage type root folders when tapped, even if already selected; and work as radio buttons: the darker button always denotes the storage being displayed below, whether it was picked by you, or preselected for the initial path on popup open.
The red storage-type buttons available will also vary by host device, and depend on the removable drives you've attached. By hosts:
Removable-drive buttons use your drives' volume labels for their names (e.g., MYSSD), and may include both USB flash and SSD drives, and microSD cards. You'll find one removable button for every drive attached, including each plugged into a hub. You can usually store content folders anywhere on removable drives, but see the special case below if your device mix includes Android 10 or earlier.
In addition, Linux may display an OS button on dual-boot systems to give access to your Windows drive; optical drives (e.g., BDRs) may be selected as FROM when attached to your PC; virtual machines may display access points to other systems; and network drives may appear but are not generally recommended because they are nonportable, slow, and insecure (USB is preferred for this app).
Removable-drive buttons may include your USB drive's name (e.g., MYSSD), the names of all drives plugged into an attached USB hub (rare but supported on Android), and the name of a removable microSD drive inside your phone. You can usually store content folders anywhere on removable drives, but see the special case for Android 10 and earlier below.
For a first take on the difference between PHONE and APP on-phone storage on Android, please see the Usage Overview. In short:
Because it may be deleted on data clears and app uninstalls, APP is a use-with-care option. If it's not something you wish to leverage (or risk), APP can be turned off altogether in the Config tab and omitted from the popup. The good news is that PHONE shared storage is about to grow much faster, as UFS 4 storage rolls out to new phones.
When you select a folder in the popup, you'll probably notice that the first part of its path copied to the Main tab looks different than the labels on the popup's red storage-type button you used to select it. For example:
/storage/emulated/0, and removable-drive paths with either
/storage(depending on your Android) followed by an
/xxxx-xxxxdrive ID. APP paths are nested in PHONE, in an
Android/datasubfolder and named for the app—here,
/home, and removable-drive paths with
/media—all on Windows, macOS, and Linux, respectively, and followed by your user ID, a drive name, or nothing. ROOT paths may be just
/on Unix or a drive letter on Windows.
This just reflects the fact that the app's storage-button labels are meant to abstract—and spare you from—some of these gory device-specific details. For a deeper dive, try Mergeall's path overviews here and here.
If all that sounds complicated, remember that the app saves your path selections every time you run a Main-tab action. Because you'll normally use the same paths in most of your runs on a given device, you can usually use the saved paths restored on future app opens, and skip the chooser selection step altogether.
On Android, this app's support for locations hosting your content on removable drives varies by Android version. Removable drives include both USB drives and embedded microSD cards. These drives are read by PC-to-phone syncs, and updated by both phone-to-PC syncs and phone backups. The rules for these operations depend on your phone's Android:
Details: on Android 10 and earlier, updates to removables work only in the
com.quixotely.usbsync subfolder nested in the drive's
Android/data folder (and likewise in the trial app, but
its subfolder name ends in
usbsynctrial). This app folder is
created automatically when you use this app's folder chooser with your
removable drive attached. Like on-phone APP storage described
above, it is also automatically removed
on uninstalls and app-data clears on these Androids if your drive is
attached; use with care.
In practical terms, this means that if you're using Android 10 or earlier, you should host content in this app-specific folder on removable drives if it will be either backed up from your phone, or synced from your phone to your PC. Content used only in other roles (e.g., in PC-to-phone syncs) need not follow this rule, and Androids 11 and later are exempt from it altogether.
This constraint reflects an unfortunate convolution in Android, but it impacts only updates to removable drives on Android 10 and earlier. Removable reads are unrestricted on all Androids, and Androids 11+ do not constrain removable updates.
In case you forget this schism, the app will warn you on older Androids if you select an invalid removable folder for a Main-tab action that may update the folder. The action will be cancelled because all its updates would fail with error messages in the log. If you get this warning, please relocate your content to the app-specific folder as needed and retry the action. Where possible, you might also consider upgrading to a newer Android with less draconian rules.
Related: some phones running Android 10 and earlier may report removable drives in this app's folder chooser both before they are fully mounted, and after they've been unmounted but before their cable is detached. The app will display inaccessible-storage error dialogs in both cases, and you can safely ignore the ghost entries: wait till mounting is finished, and pull the cable to fully unmount. This is arguably a bug on earlier Androids, and Androids 11 and later create no such ghosts.
Each of the Main tab's green-button actions creates a logfile to let you know what it did, and these logfiles are an important part of this system. You should almost always inspect a run's logfile, or at least its summary, to verify that it didn't run into problems. The Logs tab provides tools that let you easily monitor and review the actions' logfiles easily. Here, you can:
The next sections provide more details on this tab's tools, from top to bottom.
The top of this tab lists your logfile folder's path (chosen automatically per platform), and all the logfiles in that folder. Scroll the logfiles vertically to select one to process. Because you'll usually want to process the most-recent logfile, the app automatically preselects it whenever you open this tab; this lets you proceed to one of this tab's green action buttons right away.
On all platforms, logfiles are stored in a subfolder named for the
app and nested in your primary storage's
(located in storage type PC on PCs
and PHONE on Android, covered
This subfolder is auto-cleaning to avoid taking up too
much space; you can set the number of logfiles to keep in the Config
tab, but the preset default normally works well.
Beside vertical scrolls, the Logs tab's logfile list also scrolls horizontally if needed, though this normally does not kick in above the GUI's minimum usable size. The large fonts and narrow displays required to make these horizontal scrolls useful may also render other parts of the GUI difficult to view or operate. Still, logfile lists scroll both ways where helpful.
Note that while an action is in progress, TAIL can be used to check in on status, but the end of the file it shows is transitory (it will change as the action runs, invalidating the display). Because of that, this action may be more useful after a run finishes. For dynamic file-tail updates, use WATCH instead; TAIL generally shows more content, but WATCH updates automatically per the next item.
This action works as a toggle, and disables TAIL, because WATCH gets control of the text-display area until it ends. WATCH make sense only if an action is running, and only if applied to the latest (topmost) logfile made by the action; the app disallows WATCH if either condition isn't met.
WATCH does not significantly slow the watched action. It may add roughly 10% to the total runtime of the watched action on some PCs, but may actually make the watched action run up to 10 times faster on some Android devices due to Android's task-scheduling policies (though this boost does not occur on all phones).
Because it can slow progress and drain batteries on some devices, though, WATCH is now turned off automatically if it's left on for 60 seconds. To restart the WATCH, simply tap it again. You can also tap TAIL when you want to spot-check status, and the Main tab's animated GIF image can also be checked if you just want to see if an action is still running.
The bottom of this tab displays logfile text for the TAIL and WATCH actions above it. The text scrolls text both vertically and horizontally (and truncates abnormally long lines to avoid errors). You can set the colors of this area and change font sizes globally as you prefer in the Config tab—per the next section.
This tab allows you to customize both app behavior and appearance. Most of its settings are applied either immediately, or when their subject is next used; global font size is applied with an Apply tap to avoid jarring changes. This tab also lets you both save all your settings to be reused in future runs, and restore setting defaults to start over without having to reinstall the app.
Settings are persisted by this app in two different ways:
All persisted settings are automatically restored and reapplied on future runs, but are not directly editable in their saved format, and are stored in locations that vary per platform:
~/Libraryfolder in a subfolder named for the app, and never deleted on app removals.
settings.pklin the app's install folder next to the executable; save and restore this to retain your settings across app deletions.
For more info on each platform's settings policies, please see platform data coverage in the App Packages guide.
This section is a quick rundown of the settings you can customize in the Config tab, from top to bottom in the tab:
Tip: don't confuse SYNC backups enabled here with backing up your content folders to a USB drive in general. The former records just the changes made during a SYNC in the TO folder; the latter is a broader usage mode you perform with SYNC. Put another way: SYNCs run during backup operations will back up their changes in TO if this toggle is on, so the backup operation can be rolled back with UNDO.
._*AppleDouble files that litter removable drives used on that platform, as well as common clutter files on Windows and Linux, and Python bytecode files that are best recreated on destination devices.
You should generally leave this toggle on everywhere, but for more details on the items that this filters out, see the Mergeall overview here. Cruft is formally defined at the end of this code file; there is no way to redefine cruft in this app, because that has not proven useful in a decade of Mergeall usage.
There is no performance penalty for using foreground services, so you should generally leave this toggle on for Android. It's forced off on Android 8, because that Android (alone, among the Androids 8..13 tested) doesn't support this app's foreground-service code. This option is also available as a fallback option if its default ever stops working in the future; this is not expected, but Android's rapid morph warrants caution.
__bkp__folder. See the Main tab's UNDO for more info. Backups are normally small, because they include only items changed or deleted in TO, along with a record of items added. Higher values here use more space, but also allow UNDO to roll back SYNCs further in the past.
#rrggbbaahex-values string and applied to the text. The color string is display only; please use Pick to set it with the chooser.
#rrggbbaahex-values string and applied to the text. The color string is display only; please use Pick to set it with the chooser.
Finally, the twobuttons at the bottom of the Config tab let you process its settings as a set:
This tab's main section is a plain-text, scrollable rendition of the content in this online guide's Usage Overview. It's available in the app for off-line reading and reference.
Also on this tab is a bank ofbuttons for addition information and resources, most of which open online web pages. From left to right and top to bottom:
Notable here: be sure to see this tab's usage caution. While this app's core Mergeall code has been used for a decade, and the app itself has been well tested, things can and do go wrong in both the software and hardware realms. As mentioned above, enabling SYNC backups for UNDO goes a long way towards mitigating your risks.
More importantly, when used well, the content backups that this app generates by nature go even further towards ensuring the longevity, privacy, and safety of your valued content.
You've reached the end of this GUI guide, but there are more help resources for this app. If you haven't read the general overview yet, you may want to browse it now. And if you're ready to install and run the app, check out the App Packages guide next.