A free, light and powerful distributed versioning tool.
The Dim tool also addresses some crucial issues which are ignored by other tools, like multi-items composition or global naming.
User friendly. Dim provides a version naming service, which is for version control what the DNS is for internet. Versions are stored directly expanded in the filesystem, with common files hardlinked, and are accessible for any tool or purpose.
Transparent. Versioning metadata are stored entirely outside of item content, avoiding any interference with data. It allows easy coexistence with other tools, but also new possibilities to organize large and complex projects.
Distributed. Each user hosts its own complete replica of the repository. A simple PHP server agent can be deployed on any HTTP server supporting PHP (most of ISPs).
Efficient. Only compressed delta between versions are archived and exchanged over the network.
Safe. Each replica increases robustness. Sha1 checksums are used for integrity checks, and version identification. RSA asymetric encryption is used for version signing and authentication.
Fast and scalable. Dim leverages the power, the speed and the robustness of the filesytem whenever possible, and uses simple, specialized and fast unix executables, to remain as thin as an application can be.
Dim is a single self documented POSIX shell script of around 2000 lines. It just uses standard UNIX utilities like awk, diff, tar, and openssl. It should run almost everywhere.
In a hurry? Add it to your Download Basket!
What's New in This Release:
- This release brings important fixes in the networking code. There is a new feature: automatic lazy import of archived versions. It is not necessary to import all versions anymore. This makes the use of dim scalable for projects with a huge history. The use of dim is also simpler. Similarly, the put operation is now performed automatically at export. Other minor bug fixes and improvements are also provided.