Hello,

I have been wondering why sometimes darcs fails with certain push and
pulls and why there seems to be random repository corruption in my
repositories. Perhaps someone here has a similar problem and has found
a workaround.

I used to work completely under Linux so the problems I was having
never seemed to happen. When I began to dual-boot between Windows 2000
and Linux that's when everything seemed to get weird. I have a spare
partition formatted with FAT32 which I use when transferring files
between Linux and Windows. The FAT32 partition stores my working
copies which also serves as the "remote" repos for my Linux working
copies. Normally I would work under Windows, and then reboot to Linux
and do a darcs record on the repo in the FAT32 partition, then do a
darcs pull into the working copy in my $HOME. At times, I get a bit
lazy and just do the darcs record from Windows without rebooting to
Linux. Later, I do a darcs pull from the FAT32 repository from Linux,
which seems to work without errors most of the time. From Linux, I
also do a darcs push into the repo on the FAT32 partition.

Basically my workflow is as follows:

Work under Win32 -> Reboot to Linux -> darcs record on FAT32 repo ->
darcs pull into working copy in $HOME

or

Work under Win32 -> darcs record -> Reboot to Linux -> darcs pull into
working copy in $HOME

or

Work under Linux -> darcs record in $HOME working copy -> darcs push
to FAT32 repo

sometimes from Linux the "tar copy"

rm -rf /mnt/fat32/myrepo
(cd $HOME/ && tar cf - myrepo) | (cd /mnt/fat32/ && tar xvf -)

Now for the weird things. Sometimes when I do a darcs what -ls, I see
files listed as "to be added" when I am quite sure that those files
have already been added. Then I do a darcs check and sure enough the
repo is corrupted. I do a darcs repair and the repo is repaired, at
least I think it is repaired. Then I do a darcs what -ls again and
this time, I see most of those repaired files as "modified". What
the?!? This is under Windows. It is quite different under Linux.

>From Linux, on the FAT32 partition repo, darcs what -ls will also list
files as "to be added" even though they are already in the repository.
darcs check will report the repo is corrupt. darcs repair will fail
with an error. The repo is still corrupt. I've looked into the cause
of the problem and I found that the cause seems to be the "tar copy"
that I do sometimes. It seems that some files in the _darcs/current
directory are not being copied when I do the "tar copy" from my $HOME
repo to the FAT32 partition. Doing the regular copy (cp -Rv) seems to
make it worse, now a lot of files in _darcs/current are not being
copied to the FAT32 partition. Does anyone have any clue what is
happening here?

Just for kicks, I tarballed the repo on my $HOME and then reboot to
Windows. Then I untarred the tarball I made. Everything seems to be in
order. darcs check reports no errors. Only now, the file timestamps
are all warped since I keep my CMOS clock in GMT and Windows is
configured with GMT timezone and Linux is on local time at GMT+8.

Using:

darcs 1.0.3 for both Linux and Windows
Under windows I have the full Cygwin environment.

My setup seems a bit funky but I have no other option at this time.
-- 
_nimrod_a_abing_

v1sw5CPJYUhw5ln3pr8OUSck6ma8u7LBw3DWNTm5g/l7DaIs7Rr4e6t5Xb4Op1en3g5RZAHC

_______________________________________________
darcs-users mailing list
[email protected]
http://www.abridgegame.org/mailman/listinfo/darcs-users

Reply via email to