Unison (file synchronizer)

From Wikipedia, the free encyclopedia

Unison
Image:Unison.gif
Unison logo
Developer: Benjamin Pierce
Latest release: 2.24.6 / 2005-06-02
OS: Cross-platform
Use: File synchronization
License: GPL
Website: http://www.cis.upenn.edu/~bcpierce/unison/

Unison is a file synchronization program. It is used for synchronizing files between two directories, either on one computer, or between a computer and another storage device (e.g. another computer, or a removable disc). It runs on Unix-like operating systems (including Linux, Mac OS X, and Solaris), as well as on Windows.

[edit] Details

Unison was the first widely used two-way file-synchronization tool, it introduced most of the standard features of these tools, and is still the best known. It was developed by the engineering school of the University at Pennsylvania.

It allows the same version of files to be maintained on multiple computing devices. In other words, when two devices are synchronized, the user can be sure that the most current version of a file is available on both devices, regardless of where it was last modified.

Unison is different from most other file synchronizers, in the following respects:

  • It runs on many operating systems, and can synchronize files across platforms, so that for instance a Windows laptop may be synchronized with a Unix server.
  • It detects 'conflicts' where a file has been modified on both sources, and displays these to the user
  • It communicates over the TCP/IP protocol so that any two machines with an internet connection can be synchronized. This also means that the data transferred can be secured by tunnelling over an encrypted ssh connection.
  • It uses the rsync algorithm developed by Andrew Tridgell. This is a very efficient protocol, that transfers close to the minimum amount of data with a small latency.
  • It is designed to be robust in the event of a program or system crash or a communication failure.
  • It is written in the ocaml language.

File synchronization tools such as Unison are similar to Version Control tools (CVS, Subversion, etc.), distributed filesystems (Coda, etc.), and mirroring utilities (rsync, etc.), in that all these attempt to keep sets of files synchronized. However file synchronization tools can deal with modifications to both versions of the directory structure, without the overhead of version control.

Unison is no longer under active development. The original developers are focusing on a project called 'Harmony', which they consider a natural progression from Unison, that can synchronize any hierarchical structure expressed in XML. However support is provided by third parties for specific operating systems.

The latest stable version, as of May 2006, is:

Linux; 2.17.1

Win32; 2.24.6

Source; 2.13.16

[edit] See also

[edit] External links

In other languages