Vim detects a file on a VMS Samba share has changed when it has not

COLLOT Jean-Yves jean-yves.collot at cofiroute.fr
Mon Apr 4 10:02:00 GMT 2005


It is true that the VMS modification is changed when the file is opened in
read/write mode, even if the file is not actually written. In fact, the
modification date is changed when the file is closed.

In order to fix that, in version 2.2.8, Samba keeps track if the file is
really changed (i.e. written) or not. When the close request is received,
and if the file was not really written, then the modification date is forced
to the "old" modification date (the one the file had when opened).
Note that the "number of revisions" field is not reset, so we have a file
with a higher number of revisions, but the same modification date. I guess
it would be better if the number of revisions was reset too. I'll make that
change when I have time.

Now, what happens with VIM? For the moment, I really don't know, because I
can't reproduce the problem, probably because I don't have the same
environment. 
What I can see when I try to use vim/cream on my systems is:
1. Just after the beginning of the edit, the "number of revisions" in
increased by 2 with vim alone, and by 3 with cream over vim.
2. The number of revisions does not change after that
3. The modification date is correctly reset (i.e. it does not change)
whatever the file owner is.

If I compare with what happens in Ben Armstrong's environment, I can see the
following differences:
1. The number of revisions is increased by 4 as soon as the editing begins
2. The number of revisions seems to be increased continuously
3. When the editor is not the owner of the file, the modification date is
not correctly reset.

I think that differences 1 and 2 are caused by the fact we don't have the
exact same version of vim, and/or we do not have the exact same cream
configuration. I suggest to Ben to try with vim alone (i.e. without the
cream layer) to see what happens (check that the behaviour is the same as
mine).

I don't understand difference 3. It could be some privilege or file
protection issue. However, I try with users without any privileges, and my
file protection, as far as I know, are the same as Ben's, and I can't get
the same results. Could you give me all the details about the file
protections and the characteristics of your users?

If we can't find the reason, I plan to give to Ben a modified module that
will do more logging about the modification time reset processing.

JY




More information about the samba-vms mailing list