Hello everybody! For real heroes there's a first version of the auto-prop feature on trunk; and I even include the manual page and HTML file here, so that interested people can play around a bit.
Please test - and provide some feedback, so that I can cut another release soon.
(Of course, it's entirely possible that trunk eats your root filesystem for
lunch, and
your backup in the evening ... yeah, it takes real heroes ;-)
Regards,
Phil
--
Versioning your /etc, /home or even your whole installation?
Try fsvs (fsvs.tigris.org)!
fsvs-groups.5
Description: Binary data
Using grouping patterns to ignore entries, or to
[Documentation for users]
Overview
WhenFSVS goes through your working copy it tries to find new (ie. not yet versioned) entries. Every new entry (and only new entries) gets tested (in the given order!) against the defined grouping patterns; if a pattern matches, the corresponding group is assigned to the entry, and no further matching is done.See also entry statii.
Predefined group 1: "ignore"
If an entry gets a group named"ignore" assigned, it will not be considered for versioning.This is the only really special group name.
Predefined group 1: "take"
This group mostly specifies that no further matching is to be done, so that later ignore patterns are not tested.
Basically the "take" group is an ordinary group like all others; it is just predefined, and available with a short-hand notation".
Why should I ignore files?
Ignore patterns are used to ignore certain directory entries, where versioning makes no sense to the user. If you're versioning the complete installation of a machine, you wouldn't care to store the contents of/proc (see man 5 proc), or possibly because of security reasons you don't want /etc/shadow , /etc/sshd/ssh_host_*key , and/or other password-containing files.Ignore patterns allow you to define which directory entries (files, subdirectories, devices, symlinks etc.) should be taken respectively ignored.
Why should I assign groups?
The grouping patterns can be compared with theauto-props feature of subversion; it allows automatically defining properties for new entries, or ignoring them, depending on various criteria.
For example you might want to use encryption for the files in your users' .ssh directory, to secure them against unauthorized access in the repository, and completely ignore the private key files:
Grouping patterns:
/home/*/.ssh/id*
group:encrypt,/home/*/.ssh/**
$FSVS_CONF/groups/encrypt file would have a definition for the fsvs:commit-pipe (see here).Syntax of group files
A group definition file looks like this:- Whitespace on the beginning and the end of the line is ignored.
-
Empty lines, and lines with the first non-whitespace character being
'#'(comments) are ignored. -
It can have either the keywords
ignoreortake; if neither is specified, the groupignorehasignoreas default (surprise, surprise!), and all others usetake. -
An arbitrary (small) number of lines with the syntax
auto-prop property-name property-valuecan be given; property-name may not include whitespace, as there's no parsing of any quote characters yet.
An example:
# This is a comment # This is another auto-props fsvs:commit-pipe gpg -er [EMAIL PROTECTED] # End of definition
Generated for fsvs by
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
