cvs commit problem

View: New views
4 Messages — Rating Filter:   Alert me  

cvs commit problem

by Warren Dodge :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Recently I am getting a problem where I modify a file and try to commit
it and it will not commit. If I do a cvs diff it says there is no
difference.

Yet, if I move the file aside and do an update and then diff the two
files they are different.

It is a bit of a strange application but it is what we needed.

I am using a script to update the file. The sequence I was doing in the
perl script is this:

rm file
cvs up file
read in file
modify data
write out file
cvs commit file

I found that if I do this it works properly

rm file
cvs up file
sleep 1
read in file
modify data
write out file
cvs commit file


When it fails I do this

 cvs -t diff x
 -> main loop with CVSROOT=/proj/lapl/sentinel/CVS_repository
 -> Reader_Lock(/proj/lapl/sentinel/CVS_repository/tank/include)
 -> Lock_Cleanup()
 -> Lock_Cleanup()

If I touch the file

cvs -t diff x
 -> main loop with CVSROOT=/proj/lapl/sentinel/CVS_repository
 -> Reader_Lock(/proj/lapl/sentinel/CVS_repository/tank/include)
 -> RCS_checkout (/proj/lapl/sentinel/CVS_repository/tank/include/x,v, 1.122, , , (function))
Index: x
===================================================================
RCS file: /proj/lapl/sentinel/CVS_repository/tank/include/x,v
retrieving revision 1.122
 -> RCS_checkout (/proj/lapl/sentinel/CVS_repository/tank/include/x,v, 1.122, , , /tmp/cvsn1kC6E)
diff -r1.122 x
1c1
< `define TANK_VON_RON 123
---
> `define TANK_VON_RON 124
 -> Lock_Cleanup()
 -> Lock_Cleanup()


I assume I have stepped into a time resolution problem that you normally
would not see when typing the commands.





_______________________________________________
Bug-cvs mailing list
Bug-cvs@...
http://lists.nongnu.org/mailman/listinfo/bug-cvs

Re: cvs commit problem

by Larry Jones-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Warren Dodge writes:
>
> I assume I have stepped into a time resolution problem that you normally
> would not see when typing the commands.

Correct.  CVS assumes that the file hasn't changed if its modification
time hasn't changed.  On most Unix-like systems, the mod time resolution
is 1 sec.
--
Larry Jones

At times like these, all Mom can think of is how long she was in
labor with me. -- Calvin


_______________________________________________
Bug-cvs mailing list
Bug-cvs@...
http://lists.nongnu.org/mailman/listinfo/bug-cvs

Re: cvs commit problem

by Warren Dodge :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


I was wondering if it would be practical to put a switch in cvs that
would skip the timestamp check and go ahead and assume that it was
different and perform the requested oepration.

It would be handy in cases where cvs was being used in scripts. You
could eliminate the 1 second sleep which could cause a significant time
waste.

Perhaps a few words about this issue in the manual would help users who
trip on this.


>  Date: Thu, 15 Oct 2009 00:45:19 -0400
>  CC: <bug-cvs@...>
>  From: Larry Jones <lawrence.jones@...>
>  MIME-Version: 1.0
>  Content-Type: text/plain; charset="us-ascii"
>  
>  Warren Dodge writes:
>  >
>  > I assume I have stepped into a time resolution problem that you normally
>  > would not see when typing the commands.
>  
>  Correct.  CVS assumes that the file hasn't changed if its modification
>  time hasn't changed.  On most Unix-like systems, the mod time resolution
>  is 1 sec.
>  --
>  Larry Jones
>  
>  At times like these, all Mom can think of is how long she was in
>  labor with me. -- Calvin
>  
>  
>>
>> Recently I am getting a problem where I modify a file and try to commit
>> it and it will not commit. If I do a cvs diff it says there is no
>> difference.
>>
>> Yet, if I move the file aside and do an update and then diff the two
>> files they are different.
>>
>> It is a bit of a strange application but it is what we needed.
>>
>> I am using a script to update the file. The sequence I was doing in the
>> perl script is this:
>>
>> rm file
>> cvs up file
>> read in file
>> modify data
>> write out file
>> cvs commit file
>>
>> I found that if I do this it works properly
>>
>> rm file
>> cvs up file
>> sleep 1
>> read in file
>> modify data
>> write out file
>> cvs commit file
>>
>>
>> When it fails I do this
>>
>>  cvs -t diff x
>>  -> main loop with CVSROOT=/proj/lapl/sentinel/CVS_repository
>>  -> Reader_Lock(/proj/lapl/sentinel/CVS_repository/tank/include)
>>  -> Lock_Cleanup()
>>  -> Lock_Cleanup()
>>
>> If I touch the file
>>
>> cvs -t diff x
>>  -> main loop with CVSROOT=/proj/lapl/sentinel/CVS_repository
>>  -> Reader_Lock(/proj/lapl/sentinel/CVS_repository/tank/include)
>>  -> RCS_checkout (/proj/lapl/sentinel/CVS_repository/tank/include/x,v, 1.122, , , (function))
>> Index: x
>> ===================================================================
>> RCS file: /proj/lapl/sentinel/CVS_repository/tank/include/x,v
>> retrieving revision 1.122
>>  -> RCS_checkout (/proj/lapl/sentinel/CVS_repository/tank/include/x,v, 1.122, , , /tmp/cvsn1kC6E)
>> diff -r1.122 x
>> 1c1
>> < `define TANK_VON_RON 123
>> ---
>> > `define TANK_VON_RON 124
>>  -> Lock_Cleanup()
>>  -> Lock_Cleanup()
>>
>>
>> I assume I have stepped into a time resolution problem that you normally
>> would not see when typing the commands.
>>
>>



_______________________________________________
Bug-cvs mailing list
Bug-cvs@...
http://lists.nongnu.org/mailman/listinfo/bug-cvs

Re: cvs commit problem

by Jim Hyslop-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Warren Dodge wrote:
> I was wondering if it would be practical to put a switch in cvs that
> would skip the timestamp check and go ahead and assume that it was
> different and perform the requested oepration.

Yep, 'cvs checkin -f' will do it.

http://ximbiot.com/cvs/manual/cvs-1.11.23/cvs_16.html#SEC133

- --
Jim Hyslop
Dreampossible: Better software. Simply.     http://www.dreampossible.ca
                 Consulting * Mentoring * Training in
    C/C++ * OOD * SW Development & Practices * Version Management
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkrdBMUACgkQLdDyDwyJw+NbJQCfbnNQ7oY0jNDurNBPyA6K5NpN
xRcAoI1vTCMc1JX+F203XCLMkrlQAh9h
=UluD
-----END PGP SIGNATURE-----


_______________________________________________
Bug-cvs mailing list
Bug-cvs@...
http://lists.nongnu.org/mailman/listinfo/bug-cvs