Mergeall — Backup and Sync Your Stuff Your Way

icon

Welcome to the products page for Mergeall, a cross-platform tool for syncing content folders. Mergeall is both a GUI and a script, does both incremental backups and fast change propagation, and can serve as a manual but private alternative to cloud storage. With Mergeall, your stuff is your property, not someone else's point of control. For a quick tour of Mergeall's features, see its User Guide's Introducing Mergeall, its PC screenshots, and its Android how-to.

New: in Dec-2024, Mergeall's source-code package was rebuilt with a one-line change to avoid a new error emitted by Python 3.13 for unrecognized string escapes (which were both valid and widely used for three decades).

New: as of May-2023, Mergeall's tkinter GUI has been superseded on all platforms by the new PC-Phone USB Sync standalone app hosted here. The new app embeds and uses Mergeall, but codes its GUI in Kivy to support Android apps and permissions; see ahead.

New: Mergeall 3.3 was rereleased in Oct-2022 in all its download packages below, with improved path normalization for Unicode variants.

New: Mergeall 3.3 was released in Mar-2022, with Unicode normalization for filename matching, and minor GUI and report mods. All download packages below were rebuilt to use 3.3, and include 3.2's changes.

New: Mergeall 3.2 was released in Oct-2021 in the source-code package only, with a deltas.py script that collects changes to be applied later, a nonportable-filename fixer, and more. See the release notes.

Download

Mergeall runs on macOS (f.k.a. Mac OS X), Windows, Linux, and Android. It's available as a platform-specific macOS app (Intel native), Windows exe (64 bit), and Linux executable, plus a complete source-code package that runs on all four platforms. Click the download link below to fetch the package you wish to use. The app, exe, and executable may be easier to install and run, but source code can be studied, runs where others do not, is required on Android today, and nullifies some of the issues covered by the next section's pointers.

macOS app Download Mergeall.app.zip
Windows exe Download Mergeall-64bit.zip
Linux executable Download Mergeall.zip
Source-code package Download Mergeall-source.zip

Though not normally needed, the prior versions of any of the above are available with a "prev-" name suffix on the full products page here. For example, fetch prev-Mergeall.app.zip for the prior 3.1 build of the macOS app.

Usage

For more details on Mergeall's download packages, as well as their complete install and usage instructions, see the main README.txt. In brief, you'll fetch, unzip, and run either the unzipped app itself (macOS), a same-named executable inside the unzip (Windows and Linux), or the program's main script in the unzipped source code (all platforms).

The latest getting-started pointers:

All users—new PC+phone app
As of 2023, the PC-Phone USB Sync standalone app noted above works around Android 11+ USB limitations in full with All-files-access permission; avoids Android 12's process killer with foreground services; and provides an easy-to-use app that doesn't rely on command lines or other apps like Termux or Pydroid 3. Please use this on Android for all Mergeall-based syncs, instead of prior solutions above.

On all PC platforms, Mergeall's former tkinter GUI is still usable, but the new app's PC versions are strongly recommended. They avoid most of the Mergeall GUI's PC perils listed below, and provide both more functionality, and an interface consistent with the Android app. For additional info, see the app's page, the prefaces added to now-superseded pages like this, and the coverage here and here.

macOS users
See the tips and fixes for your platform's first-run warnings. This applies only to the macOS app, not source code, and the app does not require app-folder permissions. The readme covers Launchpad on your platform, and additional usage notes.

Mojave users: see also this to fix crashes and blank windows caused by macOS dark mode.

Apple M-chip users: the Rosetta 2 emulator is required to run the app package, but not source code. (The newer PC-Phone USB Sync described above runs natively on both Intel and Apple M-chip devices.)

Update: per 2023 vetting on macOS Ventura, launching the latest app package still works, but has been largely superseded by PC-Phone USB Sync, noted above.

Windows users
See the tips and fixes for your platform's first-run warnings, executable start-up speed, and blurry text on Windows 10+. The first two of these apply only to Windows executables, not source code.

Command-line users: be sure to also see the PYTHONIOENCODING note here.

32-bit users: you cannot run the 64-bit package, but can run the source code, fetch 3.1's 32-bit build, or make an executable of your own with the build script.

Update: as of 2023, this program's app and source-code have now been vetted to work well on Windows 11, in addition to 7, 8, and 10.

Linux users
You can add Mergeall to your applications launcher by fetching this file and installing it per steps 1..4 in this tip. The latest Linux executable is immune to the font breakages of this note, but the source-code package remains a fallback for future morph. See also this note for pointers on external-drive filesystems for your platform, and this tip for a possibly useful library fix for the executable.
Android users
Mergeall runs in both GUI and command-line modes on your platform. This doc covers GUI mode, in which you'll fetch and patch the source-code package and run it in an app's IDE. This doc covers command-line mode, in which you'll fetch the source-code package and run it in a terminal app. For Android USB-drive filesystems, see this.

Android 11+ users: per this and this, changes in USB access in your platform largely invalidate the preceding paragraph's GUI and command-line options. As a workaround, an alternative set of scripts for Android 11 and later automate Mergeall runs to sync content from PC to phone indirectly. See here and here for details. The new app of the next section later superseded this workaround.

Android 12+ users: a process killer added in Android 12 may also impose additional steps for long-running Mergeall tasks; details here. The new app of the next section lessens this risk with foreground services.

Update: in 2023, Pydroid 3's version 6 imposed extra constraints for running this program on Android; see the coverage here and here. Since this program lost USB access earlier, it was already nonfunctional in Pydroid 3 before this change.

Update: in 2024, Pydroid 3's version 7 lifted the prior update's constraints by obtaining Android's All Files Access—the same permission used by the PC-Phone USB Sync app. Per the update here, this reenables shared storage, though removable drives are still not accessible in Pydroid 3 unlike PC-Phone USB Sync.

Resources




[Home page] Books Code Blog Python Author Train Find ©M.Lutz