Checkpoint 0.1 Released!

72 views
Skip to first unread message

Ian Charnas

unread,
Jan 8, 2009, 6:03:56 PM1/8/09
to checkpoin...@googlegroups.com
The long-anticipated non-beta version of checkpoint has finally been
released! "easy_install -U Checkpoint" should grab it. -Ian Charnas

Here's the recent CHANGELOG entries for those who are interested...

Checkpoint 0.1 - January 8, 2009
-------------------------------------
* Code review finished, tests finished, ready to go live!

Checkpoint 0.1b3 - December 30, 2008
-------------------------------------
* Fixed bug in acquire_lockfile
Thanks to our new test framework, I was able to squash a lot of bugs,
including this one in acquire_lockfile. I didn't bother making a ticket
for this, but basically I was writing the pid into the lockfile but
not flushing it, causing a race condition.

* Mirroring - Resolves issue #15
Added four new commands to the Checkpoint toolbox. 'mirror' will
create a mirror of a checkpoint directory, and 'refresh' will bring that
mirror up-to-date. Likewise, 'forget' will delete the mirror config dir,
and 'recover' will attempt to repair a corrupt mirror.

* Tests! - Resolves issue #3
We now have unit tests! Run them with "python ./setup.py test"

* Repository formats - In order to be prepared in the future to change
the way data is saved into a Checkpoint repository, a file (predictably
called 'format') will now store the format version integer (currently 1).
Currently most checkpoint commands will fail if an unexpected format
version is encountered. If and when Checkpoint does change formats,
an 'upgrade' command will be implemented to upgrade existing repositories.

* Terminology Change - Resolves issue #14
Switched "Version Control System" terminology to "Media Archive System"
because there was too much confusion over what checkpoint does.

* Huge Performance Optimizations - Resolves issue #13
Added 'fingerprint' system to quickly determine which files have changed.
Replaces the old system of always doing sha1 hashes on the entire file.
Fingerprint is a sha1 hash of various lstat(path) result data.

* Checkpoint Directories Are Now Portable - Resolves issue #12
You can move your directory anywhere you'd like, including a different
volume (partition) or even a totally different computer - and everything
works fine. The only exception is if you move your repository to a
computer with a different operating system, Checkpoint might detect some
or all files as new. After moving a Checkpoint directory, use "cpt status"
to determine if Checkpoint detected changes.

Reply all
Reply to author
Forward
0 new messages