Synchronising between a Linux box and a FAT32 filesystem (in my case a
2.5" portable HDD) using Unison:
1. Enable pretendwin and fastcheck
2. Modify any file in the repository (or touch a temporary file)
3. Resynchronise (takes about half an hour)
4. Resynchronise again (takes 20 seconds!)
5. Umount and replug the portable HDD, it still only takes 20 seconds.
I found while experimenting with a trivial repository that:
* You do need pretendwin when running the Unix Unison client on a
Windows filesystem (FAT32, NTFS), and
* Unison appears to only use the resulting pseudo-inode numbers
after the second synchronisation that causes a change in the
repository.
I believe that Unison is doing this:
1. Copied over a new repository image, and wrote archive files (in
~/.unison) without pseudo-inode numbers for the FAT32 drive.
2. During a resynch with no changes, Unison read every file in full,
but did not write the updated archive file (because there were no
changes).
3. A resynch with a single change caused Unison to read every file in
full and write the newly updated archive file, including the
pseudo-inodenumbers.
4. Subsequent synchs succeed in fastchecking.
Douglas Royds wrote:
I'm successfully synching my (44GB of) photos, videos, etc to my
portable HDD, but ...
1. It's taking forever (half an hour to check an already-synchronised
tree, or about 24MB/sec)
2. It is copying files when the permissions disagree, even though I
have perms = 0
In short, Unison seems to be ignoring these preferences:
* fastcheck = true
* perms = 0
I tried setting them on the command-line, and also tried a run with
-pretendwin, just in case:
$ unison Documents -perms 0 -fastcheck true
$ unison Documents -perms 0 -fastcheck true -pretendwin
No cigar.
Suggestions?
Douglas.
Documents.prf:
include default
root = /home/roydsd/Documents
root = /media/Port-Docs/Documents
mountpoint = Pictures
perms = 0
backup = Name *
backupdir = /media/Port-Docs/Backups
default.prf:
log = true
logfile = /home/roydsd/.unison/unison.log
auto = true
addprefsto = default
fastcheck = true
ignore = Name {.*~,*~,.#*}
ignore = Name {,.}*{.swp}
ignore = Name {Thumbs.db}
=======================================================================
This email, including any attachments, is only for the intended
addressee. It is subject to copyright, is confidential and may be
the subject of legal or other privilege, none of which is waived or
lost by reason of this transmission.
If the receiver is not the intended addressee, please accept our
apologies, notify us by return, delete all copies and perform no
other act on the email.
Unfortunately, we cannot warrant that the email has not been
altered or corrupted during transmission.
=======================================================================