6

The upcoming Mac OSX Lion operating system is touting a new file revision control system called Versions (demo video here).

What I'm using for version control right now is rather rudimentary - I either copy and paste the files and number them to 'back them up'/create a new version, or do the same with bulletpoints in Evernote. I've tried looking into systems like GIT, but couldn't use it.

Might this be a good tool for non-techs and writers? What should my considerations be in deciding whether or not to buy this system - and how do the features Apple is advertising for Versions stack up against other revision-control systems?

8
  • 1
    JFW, could you clarify the question somewhat? I'm not clear on why or what you're asking about a specific version-control system that isn't on the market yet. I also don't understand whether the system you described as problematic is an earlier version of this software, some other software, or your own personal file management. Consider rephrasing either as a specific question about this product (and specific expectations from it), or as a general question about version control software for writers.
    – Standback
    Mar 6, 2011 at 9:35
  • 1
    @Standback - actually, it is on the market: pay $99 for a developer membership (available to anyone—you don't have to actually be a developer) and you get access to the public beta of Lion.
    – Dori
    Mar 7, 2011 at 9:42
  • 5
    It talks like spam, and smells like spam. If you're serious about using source control for writing, SVN will do. Mar 7, 2011 at 14:33
  • 1
    There's no answerable question here. Voted to close. Mar 7, 2011 at 19:59
  • 3
    Why the downvotes, guys? @Ernest: No way. It's quite likely that this would be the first time and the first system that many writers use for revision control. Easy, simple to use.
    – JFW
    Mar 9, 2011 at 11:44

4 Answers 4

5

Personally I'm not interested in this particular feature, but I know people that are. It's obvious why writers haven't used version control systems: until recently, they were all terrible. Svn? CVS? God help you. Mercurial isn't so bad, but it is designed around programming, and it's still pretty arcane for your average user.

I think Versions might bring the concept of version control to the masses in an accessible way. While I won't use it, I'm sure it'll make many people's lives easier.

3
  • You clearly understand the question better than I. Perhaps you could clarify it - either in an edit, or in a comment?
    – Standback
    Mar 6, 2011 at 16:13
  • If you have problems with SVN, I can help you, and I am not God. Neither are all these nice guys on Stack Overflow and Super User ;) Mar 6, 2011 at 17:06
  • This is a pretty decent demo of how Versions works in Lion, so you can see what the OP is talking about. youtube.com/watch?v=sJ853c151Jw
    – rianjs
    Mar 7, 2011 at 15:48
2

Celtx offered version control several years ago. I got excited about that, and then I never used it. Version control systems are popular in software because rolling back in time is not uncommon (and, at worst, frequent). Writing, though, usually pushes forward. You almost never roll back to an early version of a file. Draft, perhaps.

1

I'm not the only one—cool! I've thought about buying a developer membership to get access to the public beta of Lion just for this feature alone.

I figure that if Tower (a popular Git client) is $60, it's worth paying another $40 to get so much more.

1

I put some of my writing work in a git repository, but because my colleagues use msword, that's not terribly helpful. I solved that pub putting a directory called plaintext in the repository root, and use a pre-commit script to dump a plain text version of the file into the plaintext directory, so that I get good diffs. It's not perfect, but for the most part it works ok. I use antiword (installed via macports to do) the dirty work. Here's the script:

#!/usr/bin/perl
use warnings;
use strict;
use Path::Class;
use File::Basename;
use File::Path qw/make_path/;
use String::ShellQuote;

# get the root dir of the repository
my $git_root = `cdup="\$PWD/\$(git rev-parse --show-cdup)" && test -n "\$cdup" &
& echo \$cdup`;
chomp $git_root;
chdir $git_root;
$git_root = Path::Class::Dir->new($git_root);

my $txt_dir = $git_root->subdir('plaintext');
mkdir $txt_dir unless -e $txt_dir;

my @doc_files_to_commit = `git status`;

chomp $_ for @doc_files_to_commit;

@doc_files_to_commit =
    grep { /^#\s+(new|modified).*?doc$/i } @doc_files_to_commit;

for (@doc_files_to_commit) {
    $_ =~ s/^.*(?:new|modified)(?: file)?:\s+(.*?)$/$1/;
}

my @extra_commits;

foreach (@doc_files_to_commit) {
    my $dir = dirname($_);
    my $new_file = basename($_, qw/.doc .DOC/) . ".txt";
    push @extra_commits, [Path::Class::File->new($git_root, $_), Path::Class::Fi
le->new($txt_dir, $dir, $new_file)];
}

foreach (@extra_commits) {
    my ($doc, $txt) = @$_;
    my $txt_dir = dirname($txt);
    make_path($txt_dir) if !-e $txt_dir;
    $doc = shell_quote_best_effort("$doc");
    $txt = shell_quote_best_effort("$txt");
    my $cmd = "/opt/local/bin/antiword -f $doc > $txt && git add $txt";
    system $cmd;
}
4
  • 1
    He asks for a non-techie solution. Mar 11, 2011 at 9:24
  • I think my point is that it could be a non-techie solution with a bit of polish Mar 14, 2011 at 1:20
  • Anything that involves a user seeing the innards of a script is, by definition, a techie solution. If you think it can be turned into a non-techie solution with just "a bit of polish", then you must be the type of programmer who sees nothing wrong with a settings page containing 12 checkboxes, 3 sets of radio buttons, 4 dropdowns, and 2 multi-selects.
    – Martha
    Mar 30, 2011 at 14:08
  • @Martha: Oh dear what an obnoxious comment. It could be made invisible. But it's not going to be me that does it, as it already meets my needs. Apr 2, 2011 at 12:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.