NAME

svs - The SaVeS(tm) (Standalone Versioning System) command line interface tool.

USAGE

svs [svs-options] command [command-options] [command-arguments]

saves  # DWIM shorthand. Does 'svs import' or 'svs save'.

DESCRIPTION

SaVeS is the Standalone Versioning System. It works like CVS but is simpler to use. The main interface is the command line tool svs. This manpage describes all of the information needed to use SaVeS.

THE .saves REPOSITORY

All revision information for a given directory tree is stored in a .saves directory at the root of that tree. This directory is known as a SaVeS repository. All SaVeS commands must be issued from the directory containing the repository.

A repository is responsible for the entire tree below it. However, if any directory below the root, contains a .saves directory itself, then that directory is not processed by the commands issued above it.

A directory with a .saves repository might have the following layout:

./.saves/
./.saves/MANIFEST
./.saves/SAVES/
./.saves/SAVES/foo.txt,v
./.saves/SAVES/src/
./.saves/SAVES/src/prog.c,v
./bar.txt
./foo.txt
./src/
./src/prog.c
./src/prog.h

The MANIFEST contains a list of every file in the repository. It doesn't contain any pathnames of directories. The MANIFEST of the above directory might look like this:

foo.txt
src/prog.c

The SAVES subdirectory contains the revision files inside a directory structure that mirrors the current directory.

ESSENTIAL COMMANDS

help

Get help about the SaVeS system or a given svs command.

import

Start a repository in the current directory.

save

Save the current state of files in the repository.

history

Show the revision history of a given file.

restore

Restore an older revision of files in the repository.

GLOBAL svs OPTIONS

--stdin (-)

--version (-v)

--help (-h or -?)

THE svs COMMANDS

<cmd>

Description of <cmd> goes here.

<cmd> options
<cmd> arguments

add

Add a list of files to the MANIFEST.

archive

Create a tar archive of a repository. This can be used to transport the repository to another system where it can be unarchived with the import command.

break

This creates an empty SaVeS repository in the current directory. Doing this serves to keep svs commands used at higher directories from traversing the into this directory.

config

This command is used to show and set the various SaVeS configuration options.

delete

Remove files from the repository. This does not actually remove the actual files. It merely erases the revision history.

diff

Show the difference between files at different revision levels.

export

Convert a repository into a form that can be imported into another VCS, like CVS.

find

Find all the files in the repository that match a given regular expression pattern.

help

Get help about the SaVeS system in general, or help on a specific svs command.

history

Show the revision history for individual files in the repository.

import

This command creates a new SaVeS repository in the current directory. It can take a list of files and directories under the current directory. These get added to the MANIFEST, and will be the only files to be affected by further commands, unless the MANIFEST is modified by other svs commands.

The svs import command can also take a SaVeS archive as input.

log

Display a log of previous svs commands performed on the current directory.

manifest

This command is use to either list or set the contents of the current .saves/MANIFEST file. The MANIFEST controls which files in the tree are affected by the SaVeS system.

The manifest command can be used in a pipeline unix command to list, modify and reset the MANIFEST:

svs manifest | grep -v CVS | svs --stdin manifest

merge

The inverse of split. This command will take a repository from a subdirectoryand integrate it into the repository in the current directory.

message

Change the message for a certain revision of a file.

remove

Remove files from the MANIFEST. This does not delete files from the repository. See delete for that.

restore

Restore a set of files in the repository to a given revision.

save

This command saves files which have been modified since the last svs save or svs import command.

split

This command takes a subdirectory of the current repository and makes it a repository of its own.

status

This command will print a report detailing the status of each requested file that is in the repository. The information displayed contains the name of the file, the current revision and the date of last save.

svs status [file-list]

Sample output:

2002-10-14 15:12:01-07 (1.1) SaVeS.pm
2002-10-14 15:12:01-07 (1.1) ToDo
2002-10-14 15:12:01-07 (1.1) bin/saves.PL
2002-10-14 15:12:01-07 (1.1) bin/svs.PL
2002-10-14 15:12:01-07 (1.1) lib/VCS/SaVeS/Config.pm
2002-10-14 15:12:01-07 (1.1) lib/VCS/SaVeS/Help.pm
2002-10-14 15:12:01-07 (1.1) lib/VCS/SaVeS/SVS.pm

tag

Associate a symbolic name with a set of files.

undo

Undo the last svs command. This can be applied as many times as needed.

COMMON USAGE EXAMPLES

Simply backup the files in a directory.

saves

The saves command is the simplest way to backup a directory tree. If the repository doesn't exist, saves is the same as saying:

svs import -m='Imported with the "saves" command' .

If the repository already exists, then saves is the same as:

svs save -m='Saved with "saves" command' .

If saves is called with any options or arguments, these are passed on to the <svs import> or <svs save> command that is actually invoked.

Whenever you feel like backing everything up, just say 'saves'. You don't even need to think about it.

Restore any files that were updated since the last save.

svs restore

Without any arguments, this command simply sets things back to the way they were when you last saved.

SOFTWARE

The SaVeS system is written in Perl. It is a wrapper around the standard Unix toolset RCS (Revision Control System). It is distributed as a Perl module called VCS::SaVeS on the CPAN (Comprehesive Perl Archive Network). It installs the Perl scripts svs and <saves> as command line programs. It also installs some Perl modules, but you probably won't use those directly.

SEE

The saves manpage.

http://search.cpan.org

COPYRIGHT

Copyright (c) 2002 Brian Ingerson. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.