[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Delayed commit of modified file.

From: Jim.Hyslop
Subject: RE: Delayed commit of modified file.
Date: Fri, 6 Aug 2004 16:00:25 -0400

Glover, Gregory wrote:
> We use wincvs v1.2 and cvs v1.11
There are 17 different "1.11" versions - which one are you using?

> I had a modified file that I committed through WinCVS. I then 
> created a tag by module and checked that module out. I found 
> out later after moving to production that the tag was done on 
> the previous version of the file. In research this I found 
> that the modification date on the file I committed was 5 
> hours after I had done the commit. The history shows that the 
> commit was done before the tag.
Where did you get the modification date from? The file itself, 'cvs log',

> M4112922b|dallison|<remote>|CapTrades/Development/src/java/com
> /reliant/sparc/schedules/export|1.4|ScheduleExportManager.java
> T41129250|dallison|<remote>|A|V_2-16|CapTrades
> O411292b9|dallison|<remote>/*0|CapTrades|V_2-16|CapTrades
> T41137679|dallison|<remote>|A|V_2-17|CapTrades
> O41137708|dallison|<remote>/*0|CapTrades|V_2-17|CapTrades
OK, I read this as: a commit, followed 37 seconds later by an 'rtag V_2-16',
followed a few minutes later by a checkout. 16 or so hours later, there was
an 'rtag V_2-17' followed shortly by another checkout. Sound right?

> Is there a known issue or set of steps I took that could 
> delay the write that long on the cvs server. I have used cvs 
> for years and never had this happen before.
Very unlikely. CVS works real-time. As soon as the operation completes, the
program ends. A quick look at the source code shows that a commit operation
performs the checkin, then writes to the history file.

If, say, the operating system somehow cached the write, then it would have
to be a very flaky implementation of caching, because the O/S would allow
the second operation ('rtag') to write its data to the repository file
before flushing the results of the first write (the commit).

There is a scenario that could explain this. CVS history does not log 'cvs
tag' commands, only 'cvs rtag'. It's possible that someone used a 'cvs tag'
command before the 'cvs rtag' command, or a 'cvs tag -F -r' command after
the rtag. Is that a likely scenario?

Or, someone could have manually edited the history file. For your sake, I
hope this is an extremely unlikely scenario ;=)

Wait a second - I'm overlooking the obvious here. Did the user who issued
the 'rtag' command ('dallison' according to your history) specify any other
flags, such as a -d or -r?

Jim Hyslop
Senior Software Designer
Leitch Technology International Inc. (http://www.leitch.com)
Columnist, C/C++ Users Journal (http://www.cuj.com/experts)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]