Author: | Fred Gylys-Colwell |
Home Page: | Mirror Program |
Version: | $Name: $, $Revision: 1.1 $ |
Release Tag: | $ |
Release Date: | 2001/03/26 02:30:28 |
JVM Required: | 1.2 |
License: | GNU General Public License |
Categories: | utility |
Requirements: | |
Dependencies: | No dependencies |
Externals: | None |
The two major features that make this program useful (instead of just using tar) are:
.Xdefaults (on home machine) <--> .Xdefaults.home (on work machine)
.Xdefaults.work (on home machine) <--> .Xdefaults (on work machine)
The following is a brief outline of the code, for anyone who wishes to modify it. You should look for the file install.html
and configure.html
for information about installing and configuring the program.
The main code is started in {@linkorg.gjt.fredgc.mirror.Main}. It uses the parser to read the configuration file, and then creates a {@link org.gjt.fredgc.mirror.Verify}, {@linkorg.gjt.fredgc.mirror.GUI} or {@link org.gjt.fredgc.mirror.LineReader} to interact with the user and verify sending/receiveing of files.
The parser, {@linkorg.gjt.fredgc.mirror.RCFile}, is generated by JavaCC from the file Grammar.jj
. This parses the files .mirror
into a collection collection of {@link
org.gjt.fredgc.mirror.Connection} objects, and a collection of {@linkorg.gjt.fredgc.mirror.Condition}'s and {@linkorg.gjt.fredgc.mirror.Match}'s and {@linkorg.gjt.fredgc.mirror.Translation}'s.
The {@linkorg.gjt.fredgc.mirror.LogFile} records the last send and recieve dates. Files are only considered for sending if they have changed since the last succesful send date.
The classes {@linkorg.gjt.fredgc.mirror.FilePair} and {@linkorg.gjt.fredgc.mirror.FileStatus} hold information about a file name, type and status. It uses native (JINI) code to access the C function fstat
. It also keeps track of name changes if the file changes when it is sent to the remote computer.