chflags, nfs, and python 2.6

David Holland dholland+hg at eecs.harvard.edu
Tue Mar 16 22:43:16 CDT 2010


Today I observed the following (repeatable) behavior in Mercurial 1.5:

   % hg update
   abort: Operation not supported: [.....]/libpql/tcalc.c.orig
   % 

(where [......] was a long absolute path into the working tree I was using)

I traced this to the BSD chflags(2) call not being supported on NFS,
and was sure I'd seen the same issue reported in some other context
somewhere. After digging a bit I found this:

   http://mail-index.netbsd.org/tech-pkg/2009/08/17/msg003752.html

which I think must be exactly what's going on.

Based on this I rebuilt 1.5 using Python 2.5 instead of 2.6 (which the
packaging system had recently made the default) and that allowed the
update to complete. [And, even after blowing up like that, Mercurial
appears to have avoided losing the uncommitted changes I had in that
directory, so +1 to somebody. :-) ]

Arguably this is a Python bug, but it seems like Mercurial will
probably want to have a workaround, as NFS-mounted homedirs are fairly
common, and getting Python fixed probably isn't trivial.

-- 
   - David A. Holland / dholland at eecs.harvard.edu


More information about the Mercurial mailing list