Hi Nimrod,

I've just taken a look at your repository (and then at the email thread),
and I think I know what happened.

On Fri, Oct 14, 2005 at 11:03:42PM +0800, Nimrod A. Abing wrote:
> The repo *was* on a windows machine. I tarballed the repo and moved it
> to one running Linux. acl.php is supposed to be ACL.php and the thing
> broke because of the filename case difference so I mv'ed acl.php to
> ACL.php and then recorded it as a patch.

Here's where the trouble must have shown up.  The file never was named
acl.php (it was ACL.php all along, as far as darcs is concerned).  However,
either the windows tar program or the windows filesystem (which isn't
case-sensitive) must have decided to name the file to acl.php in the
tarball.  When you untarred that tarball, you had a corrupt pristine cache
and working directory, since the file had the wrong case.  If at that time
you had run darcs check, darcs would have recognized the problem.  Instead
you (quite understandably) renamed the acl.php file to ACL.php, which
caused trouble because there was already an ACL.php file in the repo, and
there was no acl.php file in the repo.

I'd be curious if you could check out the original windows repo and
tarball, if they're still around, just to know how this happened.  But the
solution is to unrecord the rename patch and repair the repository.

We *really* need to switch to a database pristine cache, as it seems that
filesytems are shockingly incapable of storing directories of files
reliably.  :( Partly because other programs rudely recurse into the
directory and modify them, but also because of issues like this one, where
limitations of either the filesystem or tools that work on the filesystem
(tar) end up misbehaving.
-- 
David Roundy
http://www.darcs.net

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

Reply via email to