delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/07/15/12:49:20

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-3.3 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS
X-Spam-Check-By: sourceware.org
Message-ID: <24501895.post@talk.nabble.com>
Date: Wed, 15 Jul 2009 09:49:03 -0700 (PDT)
From: Eric Blake <ebb9 AT byu DOT net>
To: cygwin AT cygwin DOT com
Subject: Re: .#* lock files under X, for files I edit???
In-Reply-To: <24497846.post@talk.nabble.com>
MIME-Version: 1.0
References: <23655794 DOT post AT talk DOT nabble DOT com> <4A157FF5 DOT 6030407 AT cornell DOT edu> <23656848 DOT post AT talk DOT nabble DOT com> <4A159713 DOT 50303 AT cornell DOT edu> <23671375 DOT post AT talk DOT nabble DOT com> <4A16BEA9 DOT 8020608 AT cornell DOT edu> <23672879 DOT post AT talk DOT nabble DOT com> <24494476 DOT post AT talk DOT nabble DOT com> <24495013 DOT post AT talk DOT nabble DOT com> <24497846 DOT post AT talk DOT nabble DOT com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT 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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019