The purpose of FolderSync is to allow one set of files to be shared by two
separate people (computers), and occasionally update BOTH people's copies of the
files with the changes that the other has done (this is called synchronisation).
Neither person has priority, because FolderSync just 'mirrors' what one person
has done on to the other's copy (of the files), as if both were working on just
a single set of files.
It does NOT run in the background, but is run by the user when needed; only at
these points of synchronisation does the Amiga need to be able to access both
folders (probably on separate drives).
Synchronisation is done at the level of whole files, rather than somehow
updating a part of a file (as might happen with Address Book sync s/w). It can
sync between an Amiga disk & a FAT (Windows) disk quite happily.
I wrote FolderSync to allow me to carry 15,000 of my Amiga's files (800Mb)
around with me on my Psion 7 (a 'minature laptop'), without having to worry
about remembering what changes I had done on either my Psion or my Amiga, and
without having to synchronise every time I switched between Amiga or Psion.
It can also be made to backup the changes in one folder to another, which I use
to keep a daily up-to-date backup of my Workench partition (in case I do
something silly, like formatting it).
You can probably think up more uses!
Having spent so much effort making FolderSync very fast & reliable, I though I
ought to make it publically available :-)
I am not aware of any other program that does anything vaguely similar (on the
Amiga anyway), and if there is, then I doubt it is written as well! I am quite
proud of how well it works, given the apparent difficulty due to lack of support
by filing system design.
Note that it is a CLI (Shell) program, and should probably only be used by
someone with some experience of the technical side of computers - which probably
covers a lot of the surviving Amiga users.
NOTICE: Major update! Seriously improved program. New beginners guide :-) .
Much more robust, etc.
NOTICE: Should now work fully with the FFS filingsystem! If someone had
reported the problem sooner, then it would have been fixed sooner.
NOTICE: Unless automatic mounting of FAT drives is disabled under Amithlon, it
will use it's internal copy of FAT95, which is v2.17. Unfortunately, you need
v2.18+ for FolderSync to work. If you have trouble manually mounting FAT
partitions, ask me for an easy guide (with pre-made dosdriver icons).
NOTICE: Previous version of FolderSync would (I think) have cleared the Archive
bit of any *folders* that were examined, not just those changed. Accidentally
fixed as a side-effect! Probably no-one noticed this problem :-)
NOTICE: You must follow the upgrade procedure if you have used a previous
version for synchronisation (not backup).
History
+++++++
Key: For each version, the top entries are the oldest.
- entry = bug fixed. (N.B. bug = accidental dangerous/bad feature)
+ entry = feature added/changed, or a non-bug-related change.
v1.3 (20.12.2002)
+ Changed version numbering system (e.g. v1.3 not v1.03).
+ Added algorithm to detect renaming/moving of files, instead of performing the
slower (but equivalent) copy & delete. FolderSync now fully meets my original
design specification (and then some:-)
+ Refactored finding-tweaks algorithm into a separate procedure, which made it
easy to tweak files that are also being renamed/moved. The core algorithm is
now easy to read again, so I can finally consider releasing the source code.
+ Shortened output notices which mentioned both mirror folders (since you should
know what the other folder is).
+ When the safety limit is exceeded, it now outputs the proposed changes to a
text file that the user can read before commiting.
+ Improved underlying class to do file copy using OS calls, rather than using
the DOS copy command! May be faster, certainly more reliable; no problems now
when syncing files with pattern-matching characters in their name, and the
rare 'bugs' from the hackish TrueMultiAssigns is no-longer an issue. Later I
removed silly memory usage & speeded-up thanks to Ron Stein spotting a
symptom.
+ Added the TruncateLength argument for Ron Stein.
- Fixed a silly bug which could prevent FolderSync working if the A & P folder
path names were of a different length. Symptom found by Ron Stein.
- Fixed ANOTHER silly little bug where dir name truncation would fail. Symptom
found by Ron Stein.
+ Discovered that before FAT v2.18, it did not support resizing files, and
therefore will not work with FolderSync. Sadly Amithlon v1 forces it's
internal v2.17 if you use it's auto-mount feature.
+ Added the log file feature.
- Fixed a small pre-2000 time bug in underlying file class which probably never
caused problems. (I think this is the opposite of a Y2K bug :-) However, a
new lastsync file must be created, so I have upped the internal file version.
+ Major reworking of the underlying file/dir classes to cope much better with
any foreign filing system (inc. removing FAT kludges), which should also make
the source code more readable.
- Improved underlying file/dir classes to always have correct time & archive bit
status. May not affect FolderSync.
- Forgot to mention earlier: Removed creation from 'destructive changes' count,
as well as fixed minor 'destructive changes' counting bug.
+ Changed safety limit equality so 0 always asks user permission.
+ Added info on what is being tweaked.
+ Added meaningful failure codes to underlying file/dir classes.
+ Used meaningful failure codes in reporting of warnings.
+ Added argument array size check that would have caught the bug fixed in v1.01.
But it is disabled for public versions, since SnoopDos seems to do something
"illegal" which can wrongly trigger this warning.
+ Added warning when files have different sizes but same time-stamp, which
should catch many cases of file corruption (which might happen if there is a
system crash while FolderSync is running).
+ Some spelling mistakes fixed in docs & FolderSync.
+ Automated lots of bug checking, so now FolderSync should be VERY robust.
- Created directories now have their comment copied. Thanks to Özmen Yaman for
helping me notice this.
- Setting comments now works with FFS. Symptom found by Özmen Yaman.
- Fixed a probably non-damaging array-too-small bug when writing lastsync file.
+ Improved synchronisation for when a file is replaced by one with an older
time-stamp. And added warnings for situations which are even more tricky, so
the user knows he might loose data. Now it should be virtually impossible for
FolderSync to act unexpectedly (at least without warning you).
+ A super-duper Beginners Guide has been written by Ron Stein. Thanks!
+ Second Aminet release. Very major update :-)
|