Sϵv϶n Price: US $4.99

Transparent Version Control System Support

The Problem

Using a typical RTFD editor to edit a document under the management of a version control system (VCS), such as Subversion (svn) or Git, usually does not go well. For example, editing the simple document under Subversion 1.6 management:

Before: After:

And then attempting to commit may fail:

dal$ svn commit -m "Not using Sϵvϵn"
svn: Commit failed (details follow):
svn: Directory '…/svn demo.rtfd/.svn' containing working copy
admin area is missing

The VCS has been broken. The update command provides a clue to the problem:

dal$ svn update
svn: Failed to add directory 'svn demo.rtfd': an unversioned
directory of the same name already exists

“Unversioned directory” – the RTFD editor has removed the original document and replaced it with a different one which is not under version control. Bad.

The Solution

Just use Sϵv϶n to do the edit and then attempt the commit:

dal$ svn commit -m "Using Sϵvϵn"
Deleting       svn demo.rtfd/France.png
Adding  (bin)  svn demo.rtfd/Germany.png
Sending        svn demo.rtfd/TXT.rtf

It just works!

Sϵv϶n automatically supports Subversion (svn), both new-model versions 1.7+ and the old-model 1.6, and Git. Sϵv϶n will interface automatically behind-the-scenes with these VCS systems keeping them up-to-date as files are edited.

What Sϵv϶n Does Not Do

Sϵv϶n automatically tracks the changes within package-format documents, such as RTFD, and communicates those changes to the VCS. It does not commit documents, it just ensures that commit operations will work as they should. Commit, and other VCS operations, must be performed using the same tools as before.

For example, an Xcode user can use Sϵv϶n to edit RTFD documents in a project but will still use Xcode’s VCS tools to perform project commits. Without Sϵv϶n those tools would not function as expected.

Mac OS X Versions Support

Sϵv϶n also handles Mac OS X Versions and its interaction with VCS.

Using Mac OS X Versions; through the Revert To... menu item, window title bar menu, etc.; enables the current copy of a document to replaced by an older version, moving “backwards”.

VCS such as Subversion always moves “forward” when making revisions, ensuring that VCS works correctly when Mac OS X Versions is used is a challenge. Sϵv϶n handles the task automatically.

When Mac OS X Versions is used to restore an older version of a file under VCS then Sϵv϶n will automatically preserve any VCS admin data and register the changes with the VCS as forward modifications to the current working copy.

Furthermore if either the pre or post Versions document are not under VCS then Sϵv϶n automatically manages the transition. For example, if a document is created and a number of Versions are created before the document is placed under VCS, then once under VCS using Versions to restore a pre-VCS copy brings that copy under VCS as a change to the cunrrent working copy…

Sounds complicated? Don’t worry.

It just works!

Miscellaneous

Handling Multiple VCS Installations

Sϵv϶n will locate VCS system installed in standard locations, including those installed by Xcode. If multiple copies of a VCS are installed then Sϵv϶n will request which version it should use – the choice can be changed at anytime through Preferences... Sϵv϶n also automatically handles Xcode 5 VCS stubs as part of this process.

Other Benefits

Sϵv϶n also performs management of the internals of RTFD documents to make them easier to use with VCS. Using manual VCS commands with Sϵv϶n produced RTFD documents is easier.