fshar is free and written by Colas Nahaboo, you can download the current version: fshar-3.2.tgz
Fshar is specific in that it can be used to archive via RCS the resulting archive, as:
But, the shar files are not real shar files, because, altough they can still be decompressed by a simple shell:
USAGE: fshar-ci archive-name remote-dir
will take a snapshot of the remote-directory and archive it under the fshar
echive-name in the current directory
Uses fshar and RCS
If there is a file .fshar-ci in the remote dir, use it as option to find to
exclude files, for instance
-not -name *.aux -not -name *.dvi
USAGE: fshar < list_of_files_one_per_lines > archive
or: fshar file_containing_list_of_files > archive
Colas.Nahaboo@sophia.inria.fr, v3.1 Feb 1998
See http://colas.nahaboo.net/fshar
type fshar -? for help on using the decoding funshar program
Reads file names one per line either on stdin or in the input files
and produces a shell-archive on stdout, that can be unshared by running
it as a shell script. Directories must also be specified to be re-created.
Example:
find . -print | fshar -z > /tmp/archive.sh.gz
Options:
-z : compress output by gzip
-n : no auto binary: do not auto-detect binary files (a bit faster)
-v : verbose
-e : act as a binary encoding unix filter only
Recommended use: make a FILES file containing all the files names to
archive, one per line, then the archive can be made by:
fshar FILES > foo.shar
These archives have no checksums so they can be stored by rcs
if a file name ends in .uue, fshar looks for the file without the .uue
extension, and uuencode it before archiving it, but binary mode should
be used instead as uuencoding do not work with update option for funshar
warning: decoding archives with binaries require funshar in PATH
Subdirectory names must be listed once before their contents
file names can be options to modify the behavior. options:
:binary: following files will be encoded by a built-in encoder to
yield pure ascii results
:ascii: return in plain non-encoding ascii mode (default) for
following files
binary mode customisation options
:length:N set output line length to N. (8<=N<=6450),
defaults to 92, rounded to multiple of 4
:backtrack:N how many chars to search from end of line for a cut-
character to end the line. defaults to 40
:cutchar:N value of the cutchar. default is 0
:minline:N minimum number of chars on a line before breaking (def. 16)
:obeylines:N if N not 0, cut line on each newline in input (def 0)
these options can also be given on command line BEFORE the -e option
as options -L -B -C -M -O respectively (followed by a number)
Binary mode tries to cut lines at some remarquable places to aid the job
of diffs on thes encoded files. It cut after last newline, and if no newline
is found, look for a cut-character than can be choosen depending on the
nature of the binary data coded
If no -n is given, binary mode is automatically used for binary files
USAGE: funshar [options] [files-to-unshar-only...] < shar_file
Colas.Nahaboo@sophia.inria.fr, v3.1 Feb 1998
See http://colas.nahaboo.net/fshar
funshar decodes archives made by fshar (type fshar -? for manual)
although these archives can be de-archived by the shell, funshar allow
more control, notably updating only modified files
Options:
-u : update: only unshar files different from the existing ones
-v : verbose: list all actions performed
-z : uncompress by gzip before unsharing
-c : compare: only lists files different from existing ones
-l : list: same as compare, but output files on a line rather
than one by line
-x "files ..." : excludes files from list
-w width : page width (default 77) for -l option
-d : decode filter for built-in binary encoded files