This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: .#* lock files under X, for files I edit???
- From: Eric Blake <ebb9 at byu dot net>
- To: cygwin at cygwin dot com
- Date: Wed, 15 Jul 2009 09:49:03 -0700 (PDT)
- Subject: Re: .#* lock files under X, for files I edit???
- References: <23655794.post@talk.nabble.com> <4A157FF5.6030407@cornell.edu> <23656848.post@talk.nabble.com> <4A159713.50303@cornell.edu> <23671375.post@talk.nabble.com> <4A16BEA9.8020608@cornell.edu> <23672879.post@talk.nabble.com> <24494476.post@talk.nabble.com> <24495013.post@talk.nabble.com> <24497846.post@talk.nabble.com>
> (set (make-local-variable 'purify_flag) t))))
Setting purify-flag wasn't working for me (emacs gave a message
about an assertion failure). And my attempt to write an advice
didn't seem to work any better (unless I didn't do it correctly):
(defadvice lock-buffer (around clearcase-no-lock activate)
"Under ClearCase, in Cygwin, do not create lock symlinks.
Either format (old: Windows shortcuts; new: real symlinks with utf name) are
bad for different reasons."
(unless (file-accessible-directory-p (concat (buffer-file-name)
"@@"))
ad-do-it))
Rather, it seems that the REAL problem is that cygwin1.dll cannot
recognize attempts to create symlinks on the clearcase MVFS file system.
$ df -T .
Filesystem Type 1K-blocks Used Available Use% Mounted on
M:/u_fabt_eblake
unknown 1024000 512000 512000 50% /project/fabt
$ volinfo .
Device Type : 7
Characteristics : 10
Volume Name : <CCase>
Serial Number : 36984713
Max Filenamelength : 255
Filesystemname : <MVFS>
Flags : 3
FILE_CASE_SENSITIVE_SEARCH : TRUE
FILE_CASE_PRESERVED_NAMES : TRUE
FILE_UNICODE_ON_DISK : FALSE
FILE_PERSISTENT_ACLS : FALSE
FILE_FILE_COMPRESSION : FALSE
FILE_VOLUME_QUOTAS : FALSE
FILE_SUPPORTS_SPARSE_FILES : FALSE
FILE_SUPPORTS_REPARSE_POINTS: FALSE
FILE_SUPPORTS_REMOTE_STORAGE: FALSE
FILE_VOLUME_IS_COMPRESSED : FALSE
FILE_SUPPORTS_OBJECT_IDS : FALSE
FILE_SUPPORTS_ENCRYPTION : FALSE
FILE_NAMED_STREAMS : FALSE
FILE_READ_ONLY_VOLUME : FALSE
FILE_SEQUENTIAL_WRITE_ONCE : FALSE
FILE_SUPPORTS_TRANSACTIONS : FALSE
$ touch foo
$ ln -s foo bar
$ readlink bar || echo $?
1
$ cat bar
!<symlink>~foo
$ file bar
bar: data
Maybe we should be trying to change cygwin to cause
symlink() to fail with a proper errno on MVFS, and then
revisit the emacs side of the equation to see how emacs
handles failure to create a symlink when errno is ENOSYS
(or whatever errno cygwin uses). Or maybe it is just
a matter of detecting that if the file system does not
support DOS attributes (which are essential in creating
new-style symlinks), that an old-style symlink must be
created on that filesystem.
--
Eric Blake
--
View this message in context: http://www.nabble.com/.-*-lock-files-under-X%2C-for-files-I-edit----tp23655794p24501895.html
Sent from the Cygwin list mailing list archive at Nabble.com.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple