This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: .#* lock files under X, for files I edit???


>	(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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]