[cvsnt] Auditing and binary diff option incompatible?

Andy Southby asouthby at drumgrange.co.uk
Thu Sep 1 12:39:44 BST 2005


I think I may have found a bug, but as I am new to CVSNT it could just be 
stupidity. (I am hoping it will turn out to be the former. :) )

CVSNT 2.5.02.2064

I am getting commit failures when auditing is enabled for excel files 
(possibly other binary types, this is the first one I noticed it on). The 
commit stalls for about 30 seconds then reports that it has aborted and to 
consult the above errors of which there are none.

I think I have tracked this down to adding all my binary files with the 'B' 
option. (binary diff algorithm). If I add the files using the default 'b' 
option every thing works fine. (Just the fact that auditing is enabled 
causes a problem even if all the logging options are unchecked.)

I wanted to use the 'B' option as I am storing a lot of MSOffice and CASE 
tool files which as stated in the documentation has a significant impact on 
the repository size. (I performed a little experiment on a word document 
that showed a 33% saving after only 3 commits with no perceptable impact on 
performance [not accuratly timed].)

The following steps should reproduce the problem:
1. Create a new excel file (office 2003 in my case.)
2. Add the file to CVSNT with the binary diff option.
3. Commit the file. (Works as expected.)
4. Edit the file and make a small change. (the letter a was added to cell 
A1)
5. Commit the file. (This fails after a time out.)

Below is the trace of the commit at step 5 above.

C:\Work\NewMain\TestModule>cvs -t commit -m "Added a character to cell A1. 
Auditing enabled but no option selected." B_Diff_Algorith
m_Used.xls
10:59:58:   -> Tracelevel set to 1.  PID is 1740
10:59:58:   -> Session ID is 6cc4316d11e39c8
10:59:58:   -> Session time is Thu Sep  1 09:59:58 2005
10:59:58:   -> main loop with CVSROOT=:pserver:AndyS at CVSNTDemo:/Root
10:59:58:   -> Server codepage is CP1252
10:59:58:   -> Client codepage is CP1252
10:59:58:   -> Server version is CVSNT 2.5.02 (Servalan) Build 2064
10:59:58:   -> Client version is CVSNT 2.5.02 (Servalan) Build 2064
10:59:58:   -> Requesting server cvsignore
10:59:58:   -> Requesting server cvswrappers
10:59:58:   -> Requesting server cvsrc (read-cvsrc2)
10:59:58:   -> Sending file 'B_Diff_Algorithm_Used.xls' to server
10:59:58: S -> run_trigger()
10:59:58: S -> Call pre-loaded 'audit_trigger.dll'
10:59:58: S -> precommand_proc()
10:59:58: S -> Call pre-loaded 'default_trigger.dll'
10:59:58: S -> precommand_proc()
10:59:58: S -> Checking admin file C:/CVSRepo/Root/CVSROOT/admin for user 
AndyS
10:59:58: S -> RCS_checkout (/Root/TestModule/B_Diff_Algorithm_Used.xls,v, 
1.1, B, (function))
10:59:58: S -> run_trigger()
10:59:58: S -> Call pre-loaded 'audit_trigger.dll'
10:59:58: S -> precommit_proc(TestModule)
10:59:58: S -> Call pre-loaded 'default_trigger.dll'
10:59:58: S -> precommit_proc(TestModule)
10:59:58: S -> run_trigger()
10:59:58: S -> Call pre-loaded 'audit_trigger.dll'
10:59:58: S -> verifymsg_proc(TestModule,C:\CVSTemp\cvsF5.tmp)
10:59:58: S -> Call pre-loaded 'default_trigger.dll'
10:59:58: S -> verifymsg_proc(TestModule,C:\CVSTemp\cvsF5.tmp)
10:59:58: S -> unlink_file(C:\CVSTemp\cvsF5.tmp)
Checking in B_Diff_Algorithm_Used.xls;
/Root/TestModule/B_Diff_Algorithm_Used.xls,v  <--  B_Diff_Algorithm_Used.xls
10:59:58: S -> RCS_checkout (/Root/TestModule/B_Diff_Algorithm_Used.xls,v, 
1.1, b, C:\CVSTemp\cvsF6.tmp)
10:59:58: S -> run_trigger()
10:59:58: S -> Call pre-loaded 'audit_trigger.dll'
10:59:58: S -> prercsdiff_proc((null),(null),(null),(null))
11:00:28: S -> 
copy_and_zip(C:\CVSTemp\cvsnt-2.5.02.2064-cvsntdemo-ae44316d11e39c8-small.dmp,C:\CVSTemp\cvsnt-2.5.02.2064-cvsntdemo-
ae44316d11e39c8-small.dmp.gz)
11:00:28: S -> 
unlink_file(C:\CVSTemp\cvsnt-2.5.02.2064-cvsntdemo-ae44316d11e39c8-small.dmp.gz)
cvs [commit aborted]: end of file from server (consult above messages if 
any)

Can anyone help? as I would like to use the 'B' option.
Andy. 





More information about the cvsnt mailing list