|
Sancho is a program which helps in keeping synchronized copies of folders in different locations over the network being independent of specific file sharing mechanisms. I am doing this because I am very tired of the standard briefcase and don't want to use a more complex version control system.

Features
- Synchronize files on different platforms
- Support for changes with mixed timezone/daylight savings support
- Fast transfer
- Take into consideration different clocks on machines
- Graphical comparison of files (similar to the eclipse IDE)
Download
This zip includes all sources with Licence ASF 2.0.
Register sync files for double click in windows
Also included is sancho_register.exe that register the .sync extension with the sancho application for double click sync.
Usage
Download the file into any folder, and extract the contents into a single folder. If in windows, execute sancho_installer.exe
To sincronize a local folder with a master folder, execute:
java -jar sancho.jar C:\mp3 G:\BACKUP\mp3
This cmd can also be issued using the batch file
sancho C:\mp3 G:\BACKUP\mp3
The command will initiate the user interface which will compare folders and present results.
As a result a file sancho.sync will be left as a witness of common files when the last sync was done. A double click on this file should launch the synchronization process again (when the application is registered).
Sync file
After the first sync, a file .txt will apear at the local folder. This file keeps track of file deletions and original file dates.
If the file is renamed to XXXX.sync then you could double click the file to start the sync process again.
Switches
The switch -i will prevent a interface and use automatic update when safe like when only the local copy is modified and has to be sent to the master folder.
After the first update, sancho will create a reference tree to be able to recognize deletions and concurrent changes in a file sync-tree.txt at the level of the root folder of the local copy.
Network version
The first version works on local folders only (mounted folders in Linux or shared folders on windows). The next version will support creating a server for replication. Somethig like this:
- Start the server. It will generate a key and wait for a client.
- If a client connects and does not gives the right key, the server shutdowns and displays a message.
- Start the client passing the key
- The client and the server exchange files
- The server shuts down automatically
[usr@machine]$ java com.csa.Sancho -server ~/shared
Sync server running on port xxxxx
Waiting 1 client to connect using key: AOG
The client machine could then issue
c:\>java com.csa.Sancho -key OAG c:\shared
> file1
+> file2 (new copy)
-< file3 (removed from master copy)
Sancho will create a synchronization file to be able to get the location of the master copy and recognize file deletions and changes (like both modified).
Bugs
- Theres a problem when touching (changing timestamps) in a file in a FAT32 volume. It seems that FAT32 has not the same precision on dates, so a fix is on its way.
|