14:12:05: -> Client trace started, level=3. 14:12:05: -> Tracelevel set to 4. PID is 7792 14:12:05: -> Session ID is 1e70503d180511df 14:12:05: -> Session time is Tue Aug 28 19:12:05 2012 14:12:05: -> Client was compiled Jul 17 2012 10:40:37 14:12:05: -> Client was compiled with MSVC C/C++ 1310 14:12:05: -> Client build platform is microsoft-windows-x86 14:12:05: -> Build version is CVSNT 2.8.01 (Soolin) Build 4588 14:12:05: -> User name is Glen Starrett 14:12:05: -> Client running on "Windows 7 x64 Service Pack 1 (Build 7601) [6.1.7601] (Service Pack 1)" 14:12:05: -> /3GB is enabled, highest user address is fffeffff 14:12:05: -> Client has 39 percent of memory in use. 14:12:05: -> Client has 4194303 total Kbytes of physical memory*. 14:12:05: -> Client has 4194303 free Kbytes of physical memory*. 14:12:05: -> Client has 16735312 total Kbytes of physical memory. 14:12:05: -> Client has 10171904 free Kbytes of physical memory. 14:12:05: -> Client has 33468772 total Kbytes of paging file. 14:12:05: -> Client has 27494768 free Kbytes of paging file. 14:12:05: -> Client has 4194176 total Kbytes of virtual memory. 14:12:05: -> Client has 4110908 free Kbytes of virtual memory. 14:12:05: -> Client has 0 free Kbytes of extended memory. 14:12:05: -> The custom heap has the low-fragmentation heap enabled. 14:12:05: -> The minimum large page size is 2097152. 14:12:05: -> Walking heap 0X02B00000... 14:12:05: -> Region 14:12:05: -> 249856 bytes committed 14:12:05: -> 12288 bytes uncommitted 14:12:05: -> First block address: 0X02B00598 14:12:05: -> Last block address: 0X02B40000 14:12:05: -> Data portion begins at: 0X02B00000 14:12:05: -> Size: 1416 bytes 14:12:05: -> Overhead: 0 bytes 14:12:05: -> Region index: 0 14:12:05: -> Block 14:12:05: -> Data portion begins at: 0X02B3BDA8 14:12:05: -> Size: 4664 bytes 14:12:05: -> Overhead: 16 bytes 14:12:05: -> Region index: 0 14:12:05: -> Uncommitted range 14:12:05: -> Data portion begins at: 0X02B3D000 14:12:05: -> Size: 12288 bytes 14:12:05: -> Overhead: 0 bytes 14:12:05: -> Region index: 0 14:12:05: -> Client Hardware information (Wow64): 14:12:05: -> Number of processors: 8 14:12:05: -> Processor type: 8664 14:12:05: -> processor architecture: x64 14:12:05: -> processor type 8664/Xeon model: unknown 14:12:05: -> Free space in C:\Users\GLENST~1\AppData\Local\Temp 1213464576 14:12:05: -> Total space in C:\Users\GLENST~1\AppData\Local\Temp 2386554880 14:12:05: -> Total Free space in C:\Users\GLENST~1\AppData\Local\Temp 1213464576 14:12:05: -> Loading protocol sspi as sspi.dll 14:12:05: -> CLibraryAccess::Load loading C:\PROGRA~2\CVSSUI~1\CVSNT/protocols/sspi.dll 14:12:05: -> main loop with CVSROOT=:sspi:luserb@w7x64:/myrepo 14:12:05: -> main - about to start the server yes 14:12:05: -> start_server(verify_only=0) 14:12:05: -> client start - client_protocol->connect 14:12:05: -> Buffer size is 5120 14:12:05: -> sspi_connect 14:12:05: -> sspi_connect: call sspi_get_user_password() 14:12:05: -> tcp_write(26,576) 14:12:05: -> tcp_read(1) using WSAEventSelect 14:12:05: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:05: -> tcp_read(1) using WSAEventSelect 14:12:05: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:05: -> tcp_read(1) using WSAEventSelect 14:12:05: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:05: -> tcp_read(1) using WSAEventSelect 14:12:05: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:05: -> tcp_read(1) using WSAEventSelect 14:12:05: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:05: -> tcp_read(1) using WSAEventSelect 14:12:05: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:05: -> tcp_read(1) using WSAEventSelect 14:12:05: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:05: -> tcp_read(1) using WSAEventSelect 14:12:05: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:05: -> tcp_read(1) using WSAEventSelect 14:12:05: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:05: -> tcp_read(1) using WSAEventSelect 14:12:05: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:05: -> SSPI:ClientAuthenticate(Negotiate,luserb,*NONE*) !Schannel - AcquireCredentialsHandle 14:12:05: -> SSPI:ClientAuthenticate() !Schannel - AcquireCredentialsHandle result = OK 14:12:05: -> SSPI:ClientAuthenticate() InitializeSecurityContext 14:12:05: -> tcp_write(2,576) 14:12:05: -> tcp_write(40,576) 14:12:05: -> tcp_read(2) using WSAEventSelect 14:12:05: -> tcp_read(2) immediate timeout previous thread count -1/0 14:12:05: -> tcp_read(138) using WSAEventSelect 14:12:06: -> tcp_read(138) immediate timeout previous thread count -1/0 14:12:06: -> SSPI:ClientAuthenticate() InitializeSecurityContext 14:12:06: -> tcp_write(2,576) 14:12:06: -> tcp_write(390,576) 14:12:06: -> tcp_write(8,576) 14:12:06: -> client start - Loop, getting responses from the server. 14:12:06: -> tcp_read(1) using WSAEventSelect 14:12:06: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:06: -> recv_line - got 1 chars, first is 73(I), index=0 14:12:06: -> tcp_read(1) using WSAEventSelect 14:12:06: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:06: -> recv_line - got 1 chars, first is 32( ), index=1 14:12:06: -> tcp_read(1) using WSAEventSelect 14:12:06: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:06: -> recv_line - got 1 chars, first is 76(L), index=2 14:12:06: -> tcp_read(1) using WSAEventSelect 14:12:06: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:06: -> recv_line - got 1 chars, first is 79(O), index=3 14:12:06: -> tcp_read(1) using WSAEventSelect 14:12:06: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:06: -> recv_line - got 1 chars, first is 86(V), index=4 14:12:06: -> tcp_read(1) using WSAEventSelect 14:12:06: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:06: -> recv_line - got 1 chars, first is 69(E), index=5 14:12:06: -> tcp_read(1) using WSAEventSelect 14:12:06: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:06: -> recv_line - got 1 chars, first is 32( ), index=6 14:12:06: -> tcp_read(1) using WSAEventSelect 14:12:06: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:06: -> recv_line - got 1 chars, first is 89(Y), index=7 14:12:06: -> tcp_read(1) using WSAEventSelect 14:12:06: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:06: -> recv_line - got 1 chars, first is 79(O), index=8 14:12:06: -> tcp_read(1) using WSAEventSelect 14:12:06: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:06: -> recv_line - got 1 chars, first is 85(U), index=9 14:12:06: -> tcp_read(1) using WSAEventSelect 14:12:06: -> tcp_read(1) immediate timeout previous thread count -1/0 14:12:06: -> recv_line - got 1 chars, first is 10( ), index=10 14:12:06: -> client start - got "I LOVE YOU" 14:12:06: -> client start - continue login. 14:12:06: -> client start - server started. 14:12:06: -> client start - send Valid-responses to server. 14:12:06: -> send_to_server_untranslated() calls buf_output() len=15 nbytes=0 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=15 14:12:06: -> send_to_server_untranslated() calls buf_output() len=2 nbytes=16 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=18 14:12:06: -> send_to_server_untranslated() calls buf_output() len=5 nbytes=19 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=24 14:12:06: -> send_to_server_untranslated() calls buf_output() len=14 nbytes=25 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=39 14:12:06: -> send_to_server_untranslated() calls buf_output() len=10 nbytes=40 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=50 14:12:06: -> send_to_server_untranslated() calls buf_output() len=9 nbytes=51 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=60 14:12:06: -> send_to_server_untranslated() calls buf_output() len=8 nbytes=61 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=69 14:12:06: -> send_to_server_untranslated() calls buf_output() len=9 nbytes=70 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=79 14:12:06: -> send_to_server_untranslated() calls buf_output() len=7 nbytes=80 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=87 14:12:06: -> send_to_server_untranslated() calls buf_output() len=7 nbytes=88 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=95 14:12:06: -> send_to_server_untranslated() calls buf_output() len=15 nbytes=96 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=111 14:12:06: -> send_to_server_untranslated() calls buf_output() len=6 nbytes=112 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=118 14:12:06: -> send_to_server_untranslated() calls buf_output() len=7 nbytes=119 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=126 14:12:06: -> send_to_server_untranslated() calls buf_output() len=8 nbytes=127 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=135 14:12:06: -> send_to_server_untranslated() calls buf_output() len=14 nbytes=136 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=150 14:12:06: -> send_to_server_untranslated() calls buf_output() len=4 nbytes=151 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=155 14:12:06: -> send_to_server_untranslated() calls buf_output() len=8 nbytes=156 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=164 14:12:06: -> send_to_server_untranslated() calls buf_output() len=7 nbytes=165 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=172 14:12:06: -> send_to_server_untranslated() calls buf_output() len=7 nbytes=173 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=180 14:12:06: -> send_to_server_untranslated() calls buf_output() len=12 nbytes=181 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=193 14:12:06: -> send_to_server_untranslated() calls buf_output() len=20 nbytes=194 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=214 14:12:06: -> send_to_server_untranslated() calls buf_output() len=22 nbytes=215 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=237 14:12:06: -> send_to_server_untranslated() calls buf_output() len=10 nbytes=238 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=248 14:12:06: -> send_to_server_untranslated() calls buf_output() len=12 nbytes=249 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=261 14:12:06: -> send_to_server_untranslated() calls buf_output() len=8 nbytes=262 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=270 14:12:06: -> send_to_server_untranslated() calls buf_output() len=8 nbytes=271 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=279 14:12:06: -> send_to_server_untranslated() calls buf_output() len=16 nbytes=280 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=296 14:12:06: -> send_to_server_untranslated() calls buf_output() len=17 nbytes=297 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=314 14:12:06: -> send_to_server_untranslated() calls buf_output() len=12 nbytes=315 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=327 14:12:06: -> send_to_server_untranslated() calls buf_output() len=6 nbytes=328 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=334 14:12:06: -> send_to_server_untranslated() calls buf_output() len=12 nbytes=335 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=347 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=348 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=349 14:12:06: -> send_to_server_untranslated() calls buf_output() len=7 nbytes=350 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=357 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=358 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=359 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=360 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=361 14:12:06: -> send_to_server_untranslated() calls buf_output() len=2 nbytes=362 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=364 14:12:06: -> send_to_server_untranslated() calls buf_output() len=16 nbytes=365 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=381 14:12:06: -> send_to_server_untranslated() calls buf_output() len=14 nbytes=382 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=396 14:12:06: -> client start - send valid-requests to server. 14:12:06: -> send_to_server_untranslated() calls buf_output() len=15 nbytes=397 14:12:06: -> tcp_write(412,576) 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 14:12:06: -> send_to_server_untranslated() calls buf_output() len=12 nbytes=412 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=424 14:12:06: -> tcp_write(13,576) 14:12:06: -> client start - rootless_encryption. 14:12:06: -> send_to_server_untranslated() calls buf_output() len=5 nbytes=425 14:12:06: -> send_to_server_untranslated() calls buf_output() len=7 nbytes=430 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=437 14:12:06: -> send_to_server_untranslated() calls buf_output() len=16 nbytes=438 14:12:06: -> tcp_write(29,576) 14:12:06: -> tcp_read(4186) using WSAEventSelect 14:12:06: -> tcp_read(4186) immediate timeout previous thread count -1/0 14:12:06: -> Server codepage is CP1252 14:12:06: -> Client codepage is CP1252 14:12:06: -> send_to_server_untranslated() calls buf_output() len=15 nbytes=454 14:12:06: -> send_to_server_untranslated() calls buf_output() len=32 nbytes=469 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=501 14:12:06: -> tcp_write(48,576) 14:12:06: -> tcp_read(4179) using WSAEventSelect 14:12:06: -> tcp_read(4179) immediate timeout previous thread count -1/0 14:12:06: -> Server version is CVSNT 2.8.01 (Soolin) Build 4588 14:12:06: -> Client version is CVSNT 2.8.01 (Soolin) Build 4588 14:12:06: -> send_to_server_untranslated() calls buf_output() len=17 nbytes=502 14:12:06: -> send_to_server_untranslated() calls buf_output() len=17 nbytes=519 14:12:06: -> send_to_server_untranslated() calls buf_output() len=17 nbytes=536 14:12:06: -> send_to_server_untranslated() calls buf_output() len=17 nbytes=553 14:12:06: -> send_to_server_untranslated() calls buf_output() len=17 nbytes=570 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=587 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=588 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=589 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=590 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=591 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=592 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=593 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=594 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=595 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=596 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=597 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=598 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=599 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=600 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=601 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=602 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=603 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=604 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=605 14:12:06: -> Requesting server cvsignore 14:12:06: -> send_to_server_untranslated() calls buf_output() len=15 nbytes=606 14:12:06: -> tcp_write(119,576) 14:12:06: -> tcp_read(4146) using WSAEventSelect 14:12:06: -> tcp_read(4146) immediate timeout previous thread count -1/0 14:12:06: -> wrap_add(*.a -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.a" 14:12:06: -> Call CGetOptions::getOpt: "*.a -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.ai -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.ai" 14:12:06: -> Call CGetOptions::getOpt: "*.ai -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.avi -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.avi" 14:12:06: -> Call CGetOptions::getOpt: "*.avi -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.bin -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.bin" 14:12:06: -> Call CGetOptions::getOpt: "*.bin -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.bmp -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.bmp" 14:12:06: -> Call CGetOptions::getOpt: "*.bmp -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.bz2 -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.bz2" 14:12:06: -> Call CGetOptions::getOpt: "*.bz2 -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.cdd -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.cdd" 14:12:06: -> Call CGetOptions::getOpt: "*.cdd -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.cdmz -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.cdmz" 14:12:06: -> Call CGetOptions::getOpt: "*.cdmz -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.chm -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.chm" 14:12:06: -> Call CGetOptions::getOpt: "*.chm -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.class -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.class" 14:12:06: -> Call CGetOptions::getOpt: "*.class -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.cur -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.cur" 14:12:06: -> Call CGetOptions::getOpt: "*.cur -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.dll -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.dll" 14:12:06: -> Call CGetOptions::getOpt: "*.dll -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.doc -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.doc" 14:12:06: -> Call CGetOptions::getOpt: "*.doc -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.docx -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.docx" 14:12:06: -> Call CGetOptions::getOpt: "*.docx -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.docm -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.docm" 14:12:06: -> Call CGetOptions::getOpt: "*.docm -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.fp -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.fp" 14:12:06: -> Call CGetOptions::getOpt: "*.fp -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.pptx -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.pptx" 14:12:06: -> Call CGetOptions::getOpt: "*.pptx -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.pptm -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.pptm" 14:12:06: -> Call CGetOptions::getOpt: "*.pptm -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.xlsx -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.xlsx" 14:12:06: -> Call CGetOptions::getOpt: "*.xlsx -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.xlsm -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.xlsm" 14:12:06: -> Call CGetOptions::getOpt: "*.xlsm -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.odt -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.odt" 14:12:06: -> Call CGetOptions::getOpt: "*.odt -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.ods -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.ods" 14:12:06: -> Call CGetOptions::getOpt: "*.ods -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.odp -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.odp" 14:12:06: -> Call CGetOptions::getOpt: "*.odp -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.odb -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.odb" 14:12:06: -> Call CGetOptions::getOpt: "*.odb -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.odg -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.odg" 14:12:06: -> Call CGetOptions::getOpt: "*.odg -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.odf -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.odf" 14:12:06: -> Call CGetOptions::getOpt: "*.odf -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.mpp -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.mpp" 14:12:06: -> Call CGetOptions::getOpt: "*.mpp -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.dvi -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.dvi" 14:12:06: -> Call CGetOptions::getOpt: "*.dvi -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.exe -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.exe" 14:12:06: -> Call CGetOptions::getOpt: "*.exe -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.gif -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.gif" 14:12:06: -> Call CGetOptions::getOpt: "*.gif -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.gz -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.gz" 14:12:06: -> Call CGetOptions::getOpt: "*.gz -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.hqx -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.hqx" 14:12:06: -> Call CGetOptions::getOpt: "*.hqx -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.ico -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.ico" 14:12:06: -> Call CGetOptions::getOpt: "*.ico -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.ilk -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.ilk" 14:12:06: -> Call CGetOptions::getOpt: "*.ilk -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.indd -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.indd" 14:12:06: -> Call CGetOptions::getOpt: "*.indd -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.iso -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.iso" 14:12:06: -> Call CGetOptions::getOpt: "*.iso -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.lib -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.lib" 14:12:06: -> Call CGetOptions::getOpt: "*.lib -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.jar -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.jar" 14:12:06: -> Call CGetOptions::getOpt: "*.jar -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.jpg -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.jpg" 14:12:06: -> Call CGetOptions::getOpt: "*.jpg -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.jpeg -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.jpeg" 14:12:06: -> Call CGetOptions::getOpt: "*.jpeg -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.lnk -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.lnk" 14:12:06: -> Call CGetOptions::getOpt: "*.lnk -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.mpg -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.mpg" 14:12:06: -> Call CGetOptions::getOpt: "*.mpg -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.mpeg -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.mpeg" 14:12:06: -> Call CGetOptions::getOpt: "*.mpeg -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.mov -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.mov" 14:12:06: -> Call CGetOptions::getOpt: "*.mov -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.mp3 -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.mp3" 14:12:06: -> Call CGetOptions::getOpt: "*.mp3 -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.ncb -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.ncb" 14:12:06: -> Call CGetOptions::getOpt: "*.ncb -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.o -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.o" 14:12:06: -> Call CGetOptions::getOpt: "*.o -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.ogg -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.ogg" 14:12:06: -> Call CGetOptions::getOpt: "*.ogg -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.ocx -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.ocx" 14:12:06: -> Call CGetOptions::getOpt: "*.ocx -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.obj -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.obj" 14:12:06: -> Call CGetOptions::getOpt: "*.obj -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.pdb -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.pdb" 14:12:06: -> Call CGetOptions::getOpt: "*.pdb -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.pdf -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.pdf" 14:12:06: -> Call CGetOptions::getOpt: "*.pdf -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.png -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.png" 14:12:06: -> Call CGetOptions::getOpt: "*.png -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.ppt -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.ppt" 14:12:06: -> Call CGetOptions::getOpt: "*.ppt -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.psd -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.psd" 14:12:06: -> Call CGetOptions::getOpt: "*.psd -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.res -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.res" 14:12:06: -> Call CGetOptions::getOpt: "*.res -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.rpm -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.rpm" 14:12:06: -> Call CGetOptions::getOpt: "*.rpm -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.sit -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.sit" 14:12:06: -> Call CGetOptions::getOpt: "*.sit -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.so -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.so" 14:12:06: -> Call CGetOptions::getOpt: "*.so -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.tar -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.tar" 14:12:06: -> Call CGetOptions::getOpt: "*.tar -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.tga -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.tga" 14:12:06: -> Call CGetOptions::getOpt: "*.tga -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.tgz -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.tgz" 14:12:06: -> Call CGetOptions::getOpt: "*.tgz -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.tif -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.tif" 14:12:06: -> Call CGetOptions::getOpt: "*.tif -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.tiff -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.tiff" 14:12:06: -> Call CGetOptions::getOpt: "*.tiff -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.ttf -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.ttf" 14:12:06: -> Call CGetOptions::getOpt: "*.ttf -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.uir -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.uir" 14:12:06: -> Call CGetOptions::getOpt: "*.uir -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.wav -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.wav" 14:12:06: -> Call CGetOptions::getOpt: "*.wav -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.wmv -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.wmv" 14:12:06: -> Call CGetOptions::getOpt: "*.wmv -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.xls -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.xls" 14:12:06: -> Call CGetOptions::getOpt: "*.xls -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.zip -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.zip" 14:12:06: -> Call CGetOptions::getOpt: "*.zip -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> wrap_add(*.Z -kb, 0, 0, 0, 0) 14:12:06: -> Call CFileAccess::mimetype: "*.Z" 14:12:06: -> Call CGetOptions::getOpt: "*.Z -kb" "+k:x:m:t:" 14:12:06: -> wrap_add() Sort. 14:12:06: -> Requesting server cvswrappers 14:12:06: -> send_to_server_untranslated() calls buf_output() len=17 nbytes=621 14:12:06: -> tcp_write(17,576) 14:12:06: -> tcp_read(4144) using WSAEventSelect 14:12:06: -> tcp_read(4144) immediate timeout previous thread count -1/0 14:12:06: -> Got the server cvswrappers 14:12:06: -> The first item in the sorted list is "b" with wildcard "*.a" 14:12:06: -> Requesting server cvsrc (read-cvsrc2) 14:12:06: -> send_to_server_untranslated() calls buf_output() len=12 nbytes=638 14:12:06: -> tcp_write(12,576) 14:12:06: -> tcp_read(4140) using WSAEventSelect 14:12:06: -> tcp_read(4140) immediate timeout previous thread count -1/0 14:12:06: -> Parsing global cvsrc started 14:12:06: -> Parsing global cvsrc finished 0 lines. 14:12:06: -> No local C:\Users\Glen Starrett/.cvsrc to parse 14:12:06: -> Server: call the requested function commit 14:12:06: -> Commit start_recursion parsed root is remote argc=1 14:12:06: -> start_recursion((null),(null)) 14:12:06: -> start_recursion() dirleaveproc is NULL 14:12:06: -> start_recursion() update_dir set to "" 14:12:06: -> start_recursion - argument count (argc) == 1 14:12:06: -> * There were arguments, so we have to handle them by hand. To do 14:12:06: -> * that, we set up the filelist and dirlist with the arguments and 14:12:06: -> * call do_recursion. do_recursion recognizes the fact that the 14:12:06: -> * lists are non-null when it starts and doesn't update them. 14:12:06: -> 14:12:06: -> * explicitly named directories are stored in dirlist. 14:12:06: -> * explicitly named files are stored in filelist. 14:12:06: -> * other possibility is named entities whicha are not currently in 14:12:06: -> * the working directory. 14:12:06: -> * if this argument is a directory, then add it to the list of directories. 14:12:06: -> * otherwise, split argument into directory and component names. 14:12:06: -> * Now break out argv[i] into directory part (DIR) and file part (COMP). 14:12:06: -> DIR and COMP will each point to a newly malloc'd string. 14:12:06: -> ParseTag_Dir(.,,,0,) 14:12:06: -> start_recursion: (1) addfile(files_by_dir,".","tst.doc") 14:12:06: -> * At this point we have looped over all named arguments and built 14:12:06: -> a coupla lists. Now we unroll the lists, setting up and 14:12:06: -> calling do_recursion. 14:12:06: -> call walklist() with unroll_files_proc and files_by_dir 14:12:06: -> unroll_files_proc() begin 14:12:06: -> * if this dir was also an explicitly named argument, then skip 14:12:06: -> it. We'll catch it later when we do dirs. 14:12:06: -> * otherwise, call dorecusion for this list of files. 14:12:06: -> Name_Repository((null),) 14:12:06: -> Name_Repository dup tmp is len 14:12:06: -> Name_Repository dup tmp is now len 14:12:06: -> Name_Repository open CVS/Repository 14:12:06: -> Name_Repository opened CVS/Repository ok so read a line 14:12:06: -> Name_Repository closed CVS/Repository 14:12:06: -> Name_Repository read 1 junk 14:12:06: -> Name_Repository (stripped the newline) read 2 junk 14:12:06: -> Name_Repository isabsolute( junk )? 14:12:06: -> Name_Repository isabsolute( junk )! 14:12:06: -> Name_Repository Sanitize_Repository_Name( /myrepo/junk )! 14:12:06: -> Name_Repository return ( /myrepo/junk )! 14:12:06: -> ParseTag() 14:12:06: -> ParseTag_Dir((null),,,0,) 14:12:06: -> open_directory(/myrepo/junk,.,(null),(null),0,(null),1) 14:12:06: -> open_directory() directory_stack_size increased by one to 1 14:12:06: -> Look for rename script file CVS/Rename 14:12:06: -> Rename script file does not exist 14:12:06: -> directory opened 14:12:06: -> do_recursion: begin 14:12:06: -> do_recursion: Check the value in CVSADM_ROOT 14:12:06: -> do_recursion: server does not appear to be active, update_dir= 14:12:06: -> do_recursion: Fill in repository with the current repository 14:12:06: -> do_recursion: update_dir= 14:12:06: -> Name_Repository((null),) 14:12:06: -> Name_Repository dup tmp is len 14:12:06: -> Name_Repository dup tmp is now len 14:12:06: -> Name_Repository open CVS/Repository 14:12:06: -> Name_Repository opened CVS/Repository ok so read a line 14:12:06: -> Name_Repository closed CVS/Repository 14:12:06: -> Name_Repository read 1 junk 14:12:06: -> Name_Repository (stripped the newline) read 2 junk 14:12:06: -> Name_Repository isabsolute( junk )? 14:12:06: -> Name_Repository isabsolute( junk )! 14:12:06: -> Name_Repository Sanitize_Repository_Name( /myrepo/junk )! 14:12:06: -> Name_Repository return ( /myrepo/junk )! 14:12:06: -> do_recursion: update_dir= repository=/myrepo/junk 14:12:06: -> !(repository && (server_active || !current_parsed_root->isremote)) - so just strdup 14:12:06: -> Repository = /myrepo/junk 14:12:06: -> Mapped repository = /myrepo/junk 14:12:06: -> * The filesdoneproc needs to be called for each directory where files 14:12:06: -> * processed, or each directory that is processed by a call where no 14:12:06: -> * directories were passed in. In fact, the only time we don't want to 14:12:06: -> * call back the filesdoneproc is when we are processing directories that 14:12:06: -> * were passed in on the command line (or in the special case of `.' when 14:12:06: -> * we were called with no args 14:12:06: -> do_recursion: dirlist == NULL && filelist == NULL 14:12:06: -> do_recursion: dodoneproc=1 14:12:06: -> * If filelist or dirlist is already set, we don't look again. Otherwise, 14:12:06: -> * find the files and directories 14:12:06: -> do_recursion: something was passed on the command line 14:12:06: -> do_recursion: we will process files, so pre-parse entries 14:12:06: -> Entries_Open() 14:12:06: -> Entries_Open ParseTag() 14:12:06: -> ParseTag() 14:12:06: -> ParseTag_Dir((null),,,0,) 14:12:06: -> Entries_Open aflag==0 && dirtag==0 && dirdate==0 14:12:06: -> Entries_Open CVS_FOPEN("CVS/Entries","r") 14:12:06: -> Entries_Open CVS_FOPEN CVSADM_ENT returned a file handle, now call the (slow) fgetentent() / AddEntryNode 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entries_Open fclose() CVSADM_ENT 14:12:06: -> Entries_Open CVS_FOPEN("CVS/Entries.Extra","r") 14:12:06: -> Entries_Open CVS_FOPEN CVSADM_ENTEXT returned a file handle 14:12:06: -> Entries_Open fclose() CVSADM_ENTEXT 14:12:06: -> Entries_Open CVS_FOPEN("CVS/Entries.Log","r") 14:12:06: -> Entries_Open clean up and return 14:12:06: -> Entries_Open done 14:12:06: -> do_recursion: process the files (if any) 14:12:06: -> do_recursion: read lock it if necessary 14:12:06: -> * For the server, we handle notifications in a completely different 14:12:06: -> place (server_notify). For local, we can't do them here--we don't 14:12:06: -> have writelocks in place, and there is no way to get writelocks here 14:12:06: -> do_recursion: process the files by calling walklist() 14:12:06: -> do_file_proc: process the files "tst.doc" 14:12:06: -> !(server_active || !current_parsed_root->isremote) - so just strdup 14:12:06: -> do_file_proc: mapped name of file "tst.doc" 14:12:06: -> do_file_proc: call findnode_fn() 14:12:06: -> do_file_proc: got a result from findnode_fn() 14:12:06: -> do_file_proc: verify_access() returned ok 14:12:06: -> find_fileproc(tst.doc) 14:12:06: -> Version_TS((null),(null),0) 14:12:06: -> Version_TS -- findnode_fn() not force_case_match 14:12:06: -> Version_TS -- findnode() found something that wasn't a subdir. 14:12:06: -> wnt_stat(tst.doc) 14:12:06: -> _statcore(00000000,tst.doc) 14:12:06: -> Trying GetFileAttributesEx.... 14:12:06: -> File attributes = 00000020 14:12:06: -> - read/write file 14:12:06: -> GetUnixFileModeNtEA(t,000002F4) returns 0600 14:12:06: -> _statcore(tst.doc) returns S_IWRITE 14:12:06: -> do_file_proc: finished fileproc() 14:12:06: -> do_file_proc: return 14:12:06: -> do_recursion: unlock it 14:12:06: -> do_recursion: clean up by calling dellist(filelist) 14:12:06: -> do_recursion: call-back files done proc (if any) 14:12:06: -> do_recursion: yes: call-back files done proc (if any) 14:12:06: -> find_filesdoneproc 14:12:06: -> do_recursion: at skip_directory 14:12:06: -> do_recursion: process the directories (if necessary) 14:12:06: -> do_recursion: cannot process the directories (dirlist == NULL) 14:12:06: -> Entries_Close - isfile ("CVS/Entries.Log") 14:12:06: -> Entries_Close - dellist (list) 14:12:06: -> do_recursion: free the saved copy of the pointer if necessary 14:12:06: -> more efficient - close directory in unroll_files_proc? 14:12:06: -> close_directory() 14:12:06: -> close_directory() directory_stack_size decreased by one to 0 14:12:06: -> unroll_files_proc() end 14:12:06: -> walklist call with unroll_files_proc done. err=0 14:12:06: -> freenode() free the badbad DIRS 14:12:06: -> dellist after unroll_files_proc done. 14:12:06: -> start_recursion: cannot do_recursion on the dirlist. 14:12:06: -> start_recursion: Free the data which expand_wild allocated. 14:12:06: -> start_recursion: Free the data - update_dir 14:12:06: -> start_recursion: Free the data - update_repos 14:12:06: -> start_recursion: (args_to_send_when_finished == NULL) 14:12:06: -> start_recursion: return 0. 14:12:06: -> Commit after start_recursion() find_args.argc=1 and find_args.renames=0 14:12:06: -> * Now we keep track of which files we actually are going to 14:12:06: -> operate on, and only work with those files in the future. 14:12:06: -> This saves time--we don't want to search the file system 14:12:06: -> of the working directory twice. 14:12:06: -> copy_ulist( ) create the argv[0] list "tst.doc". 14:12:06: -> Commit created the argv[] list with find_args.argc=1 14:12:06: -> send_to_server_untranslated() calls buf_output() len=9 nbytes=650 14:12:06: -> send_to_server_untranslated() calls buf_output() len=2 nbytes=659 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=661 14:12:06: -> send_to_server_untranslated() calls buf_output() len=9 nbytes=662 14:12:06: -> send_to_server_untranslated() calls buf_output() len=16 nbytes=671 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=687 14:12:06: -> send_to_server_untranslated() calls buf_output() len=9 nbytes=688 14:12:06: -> send_to_server_untranslated() calls buf_output() len=2 nbytes=697 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=699 14:12:06: -> client (1) calls start_recursion() with 1 args 14:12:06: -> start_recursion((null),(null)) 14:12:06: -> start_recursion() dirleaveproc is OK 14:12:06: -> start_recursion() update_dir set to "" 14:12:06: -> start_recursion - argument count (argc) == 1 14:12:06: -> * There were arguments, so we have to handle them by hand. To do 14:12:06: -> * that, we set up the filelist and dirlist with the arguments and 14:12:06: -> * call do_recursion. do_recursion recognizes the fact that the 14:12:06: -> * lists are non-null when it starts and doesn't update them. 14:12:06: -> 14:12:06: -> * explicitly named directories are stored in dirlist. 14:12:06: -> * explicitly named files are stored in filelist. 14:12:06: -> * other possibility is named entities whicha are not currently in 14:12:06: -> * the working directory. 14:12:06: -> * if this argument is a directory, then add it to the list of directories. 14:12:06: -> * otherwise, split argument into directory and component names. 14:12:06: -> * Now break out argv[i] into directory part (DIR) and file part (COMP). 14:12:06: -> DIR and COMP will each point to a newly malloc'd string. 14:12:06: -> ParseTag_Dir(.,,,0,) 14:12:06: -> start_recursion: (1) addfile(files_by_dir,".","tst.doc") 14:12:06: -> * At this point we have looped over all named arguments and built 14:12:06: -> a coupla lists. Now we unroll the lists, setting up and 14:12:06: -> calling do_recursion. 14:12:06: -> call walklist() with unroll_files_proc and files_by_dir 14:12:06: -> unroll_files_proc() begin 14:12:06: -> * if this dir was also an explicitly named argument, then skip 14:12:06: -> it. We'll catch it later when we do dirs. 14:12:06: -> * otherwise, call dorecusion for this list of files. 14:12:06: -> Name_Repository((null),) 14:12:06: -> Name_Repository dup tmp is len 14:12:06: -> Name_Repository dup tmp is now len 14:12:06: -> Name_Repository open CVS/Repository 14:12:06: -> Name_Repository opened CVS/Repository ok so read a line 14:12:06: -> Name_Repository closed CVS/Repository 14:12:06: -> Name_Repository read 1 junk 14:12:06: -> Name_Repository (stripped the newline) read 2 junk 14:12:06: -> Name_Repository isabsolute( junk )? 14:12:06: -> Name_Repository isabsolute( junk )! 14:12:06: -> Name_Repository Sanitize_Repository_Name( /myrepo/junk )! 14:12:06: -> Name_Repository return ( /myrepo/junk )! 14:12:06: -> ParseTag() 14:12:06: -> ParseTag_Dir((null),,,0,) 14:12:06: -> open_directory(/myrepo/junk,.,(null),(null),0,(null),1) 14:12:06: -> open_directory() directory_stack_size increased by one to 1 14:12:06: -> Look for rename script file CVS/Rename 14:12:06: -> Rename script file does not exist 14:12:06: -> directory opened 14:12:06: -> do_recursion: begin 14:12:06: -> do_recursion: Check the value in CVSADM_ROOT 14:12:06: -> do_recursion: server does not appear to be active, update_dir= 14:12:06: -> do_recursion: Fill in repository with the current repository 14:12:06: -> do_recursion: update_dir= 14:12:06: -> Name_Repository((null),) 14:12:06: -> Name_Repository dup tmp is len 14:12:06: -> Name_Repository dup tmp is now len 14:12:06: -> Name_Repository open CVS/Repository 14:12:06: -> Name_Repository opened CVS/Repository ok so read a line 14:12:06: -> Name_Repository closed CVS/Repository 14:12:06: -> Name_Repository read 1 junk 14:12:06: -> Name_Repository (stripped the newline) read 2 junk 14:12:06: -> Name_Repository isabsolute( junk )? 14:12:06: -> Name_Repository isabsolute( junk )! 14:12:06: -> Name_Repository Sanitize_Repository_Name( /myrepo/junk )! 14:12:06: -> Name_Repository return ( /myrepo/junk )! 14:12:06: -> do_recursion: update_dir= repository=/myrepo/junk 14:12:06: -> !(repository && (server_active || !current_parsed_root->isremote)) - so just strdup 14:12:06: -> Repository = /myrepo/junk 14:12:06: -> Mapped repository = /myrepo/junk 14:12:06: -> * The filesdoneproc needs to be called for each directory where files 14:12:06: -> * processed, or each directory that is processed by a call where no 14:12:06: -> * directories were passed in. In fact, the only time we don't want to 14:12:06: -> * call back the filesdoneproc is when we are processing directories that 14:12:06: -> * were passed in on the command line (or in the special case of `.' when 14:12:06: -> * we were called with no args 14:12:06: -> do_recursion: dirlist == NULL && filelist == NULL 14:12:06: -> do_recursion: dodoneproc=1 14:12:06: -> * If filelist or dirlist is already set, we don't look again. Otherwise, 14:12:06: -> * find the files and directories 14:12:06: -> do_recursion: something was passed on the command line 14:12:06: -> do_recursion: we will process files, so pre-parse entries 14:12:06: -> Entries_Open() 14:12:06: -> Entries_Open ParseTag() 14:12:06: -> ParseTag() 14:12:06: -> ParseTag_Dir((null),,,0,) 14:12:06: -> Entries_Open aflag==0 && dirtag==0 && dirdate==0 14:12:06: -> Entries_Open CVS_FOPEN("CVS/Entries","r") 14:12:06: -> Entries_Open CVS_FOPEN CVSADM_ENT returned a file handle, now call the (slow) fgetentent() / AddEntryNode 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entries_Open fclose() CVSADM_ENT 14:12:06: -> Entries_Open CVS_FOPEN("CVS/Entries.Extra","r") 14:12:06: -> Entries_Open CVS_FOPEN CVSADM_ENTEXT returned a file handle 14:12:06: -> Entries_Open fclose() CVSADM_ENTEXT 14:12:06: -> Entries_Open CVS_FOPEN("CVS/Entries.Log","r") 14:12:06: -> Entries_Open clean up and return 14:12:06: -> Entries_Open done 14:12:06: -> do_recursion: process the files (if any) 14:12:06: -> do_recursion: read lock it if necessary 14:12:06: -> * For the server, we handle notifications in a completely different 14:12:06: -> place (server_notify). For local, we can't do them here--we don't 14:12:06: -> have writelocks in place, and there is no way to get writelocks here 14:12:06: -> do_recursion: process the files by calling walklist() 14:12:06: -> do_file_proc: process the files "tst.doc" 14:12:06: -> !(server_active || !current_parsed_root->isremote) - so just strdup 14:12:06: -> do_file_proc: mapped name of file "tst.doc" 14:12:06: -> do_file_proc: call findnode_fn() 14:12:06: -> do_file_proc: got a result from findnode_fn() 14:12:06: -> do_file_proc: verify_access() returned ok 14:12:06: -> send_fileproc (1) 14:12:06: -> send_a_repository(,/myrepo/junk,) 14:12:06: -> send_repository(,/myrepo/junk,) 14:12:06: -> allocate adm_name * 80 is large enough for any of CVSADM_*. 14:12:06: -> send_to_server_untranslated() calls buf_output() len=10 nbytes=700 14:12:06: -> * Send the directory name. 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=710 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=711 14:12:06: -> send_to_server_untranslated() calls buf_output() len=12 nbytes=712 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=724 14:12:06: -> Version_TS((null),(null),0) 14:12:06: -> Version_TS -- findnode_fn() not force_case_match 14:12:06: -> Version_TS -- findnode() found something that wasn't a subdir. 14:12:06: -> wnt_stat(tst.doc) 14:12:06: -> _statcore(00000000,tst.doc) 14:12:06: -> Trying GetFileAttributesEx.... 14:12:06: -> File attributes = 00000020 14:12:06: -> - read/write file 14:12:06: -> GetUnixFileModeNtEA(t,000002F4) returns 0600 14:12:06: -> _statcore(tst.doc) returns S_IWRITE 14:12:06: -> send_to_server_untranslated() calls buf_output() len=7 nbytes=725 14:12:06: -> send_to_server_untranslated() calls buf_output() len=7 nbytes=732 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=739 14:12:06: -> send_to_server_untranslated() calls buf_output() len=4 nbytes=740 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=744 14:12:06: -> send_to_server_untranslated() calls buf_output() len=24 nbytes=745 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=769 14:12:06: -> send_to_server_untranslated() calls buf_output() len=2 nbytes=770 14:12:06: -> send_to_server_untranslated() calls buf_output() len=2 nbytes=772 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=774 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=775 14:12:06: -> send_to_server_untranslated() calls buf_output() len=12 nbytes=776 14:12:06: -> send_to_server_untranslated() calls buf_output() len=7 nbytes=788 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=795 14:12:06: -> send_to_server_untranslated() calls buf_output() len=0 nbytes=796 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=796 14:12:06: -> send_to_server_untranslated() calls buf_output() len=0 nbytes=797 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=797 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=798 14:12:06: -> send_to_server_untranslated() calls buf_output() len=4 nbytes=799 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=803 14:12:06: -> send_to_server_untranslated() calls buf_output() len=4 nbytes=804 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=808 14:12:06: -> send_to_server_untranslated() calls buf_output() len=0 nbytes=809 14:12:06: -> send_to_server_untranslated() calls buf_output() len=2 nbytes=809 14:12:06: -> Sending file 'tst.doc' to server 14:12:06: -> wnt_stat(tst.doc) 14:12:06: -> _statcore(00000000,tst.doc) 14:12:06: -> Trying GetFileAttributesEx.... 14:12:06: -> File attributes = 00000020 14:12:06: -> - read/write file 14:12:06: -> GetUnixFileModeNtEA(t,000002F4) returns 0600 14:12:06: -> _statcore(tst.doc) returns S_IWRITE 14:12:06: -> If the file is unicode (and the remote server supports it), translate it to utf8 before transmitting. 14:12:06: -> encode is NOT set. 14:12:06: -> wnt_stat(tst.doc) 14:12:06: -> _statcore(00000000,tst.doc) 14:12:06: -> Trying GetFileAttributesEx.... 14:12:06: -> File attributes = 00000020 14:12:06: -> - read/write file 14:12:06: -> GetUnixFileModeNtEA(t,000002F4) returns 0600 14:12:06: -> _statcore(tst.doc) returns S_IWRITE 14:12:06: -> send_to_server_untranslated() calls buf_output() len=13 nbytes=811 14:12:06: -> send_to_server_untranslated() calls buf_output() len=26 nbytes=824 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=850 14:12:06: -> send_to_server_untranslated() calls buf_output() len=9 nbytes=851 14:12:06: -> send_to_server_untranslated() calls buf_output() len=7 nbytes=860 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=867 14:12:06: -> send_to_server_untranslated() calls buf_output() len=10 nbytes=868 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=878 14:12:06: -> send_to_server_untranslated() calls buf_output() len=3 nbytes=879 14:12:06: -> Sending binary file of size '94' to server unencoded without md5. 14:12:06: -> send_to_server_untranslated() calls buf_output() len=94 nbytes=882 14:12:06: -> Sending completed, count=0, avg size=0. 14:12:06: -> do_file_proc: finished fileproc() 14:12:06: -> do_file_proc: return 14:12:06: -> do_recursion: unlock it 14:12:06: -> do_recursion: clean up by calling dellist(filelist) 14:12:06: -> do_recursion: call-back files done proc (if any) 14:12:06: -> do_recursion: yes: call-back files done proc (if any) 14:12:06: -> do_recursion: at skip_directory 14:12:06: -> do_recursion: process the directories (if necessary) 14:12:06: -> do_recursion: cannot process the directories (dirlist == NULL) 14:12:06: -> Entries_Close - isfile ("CVS/Entries.Log") 14:12:06: -> Entries_Close - dellist (list) 14:12:06: -> do_recursion: free the saved copy of the pointer if necessary 14:12:06: -> more efficient - close directory in unroll_files_proc? 14:12:06: -> close_directory() 14:12:06: -> close_directory() directory_stack_size decreased by one to 0 14:12:06: -> unroll_files_proc() end 14:12:06: -> walklist call with unroll_files_proc done. err=0 14:12:06: -> freenode() free the badbad DIRS 14:12:06: -> dellist after unroll_files_proc done. 14:12:06: -> start_recursion: cannot do_recursion on the dirlist. 14:12:06: -> start_recursion: Free the data which expand_wild allocated. 14:12:06: -> start_recursion: Free the data - update_dir 14:12:06: -> start_recursion: Free the data - update_repos 14:12:06: -> start_recursion: (args_to_send_when_finished == NULL) 14:12:06: -> start_recursion: return 0. 14:12:06: -> send_repository(,/myrepo/junk,.) 14:12:06: -> send_files (1) -- Send Max-dotdot if needed. 14:12:06: -> Entries_Open() 14:12:06: -> Entries_Open ParseTag() 14:12:06: -> ParseTag() 14:12:06: -> ParseTag_Dir((null),,,2000295484,) 14:12:06: -> Entries_Open aflag==0 && dirtag==0 && dirdate==0 14:12:06: -> Entries_Open CVS_FOPEN("CVS/Entries","r") 14:12:06: -> Entries_Open CVS_FOPEN CVSADM_ENT returned a file handle, now call the (slow) fgetentent() / AddEntryNode 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entries_Open fclose() CVSADM_ENT 14:12:06: -> Entries_Open CVS_FOPEN("CVS/Entries.Extra","r") 14:12:06: -> Entries_Open CVS_FOPEN CVSADM_ENTEXT returned a file handle 14:12:06: -> Entries_Open fclose() CVSADM_ENTEXT 14:12:06: -> Entries_Open CVS_FOPEN("CVS/Entries.Log","r") 14:12:06: -> Entries_Open clean up and return 14:12:06: -> Entries_Open done 14:12:06: -> Entries_Close - isfile ("CVS/Entries.Log") 14:12:06: -> Entries_Close - dellist (list) 14:12:06: -> send_to_server_untranslated() calls buf_output() len=9 nbytes=976 14:12:06: -> send_to_server_untranslated() calls buf_output() len=7 nbytes=985 14:12:06: -> send_to_server_untranslated() calls buf_output() len=1 nbytes=992 14:12:06: -> send_to_server_untranslated() calls buf_output() len=3 nbytes=993 14:12:06: -> tcp_write(346,576) 14:12:06: -> tcp_read(4138) using WSAEventSelect 14:12:06: -> tcp_read(4138) immediate timeout previous thread count -1/0 12:12:06: S -> change_mode (tst.doc,u=rw,g=,o=,0) 14:12:06: -> tcp_read(4086) using WSAEventSelect 14:12:06: -> tcp_read(4086) immediate timeout previous thread count -1/0 12:12:06: S -> wnt_chmod(tst.doc,0600) 12:12:06: S -> SetUnixFileModeNtEA(t,0600) 12:12:06: S -> server_main started 12:12:06: S -> server_main process id is 1308 12:12:06: S -> server_main CVS2_SERVER_SLEEP not set. 12:12:06: S -> run plugintools proc server 12:12:06: S -> run_trigger() 12:12:06: S -> LoadTrigger(audit.dll) 12:12:06: S -> CLibraryAccess::Load loading C:\PROGRA~2\CVSSUI~1\CVSNT/triggers/audit.dll 12:12:06: S -> Audit trigger not enabled. 12:12:06: S -> Couldn't load trigger audit.dll 12:12:06: S -> LoadTrigger(bugzilla.dll) 12:12:06: S -> CLibraryAccess::Load loading C:\PROGRA~2\CVSSUI~1\CVSNT/triggers/bugzilla.dll 12:12:06: S -> Defect Tracking trigger not enabled. 12:12:06: S -> Couldn't load trigger bugzilla.dll 12:12:06: S -> Checking admin file C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/admin for user luserb 12:12:06: S -> Checked admin file (null) for user luserb they are not an admin. 12:12:06: S -> Check windows admin for user. 12:12:06: S -> Determine if the current thread is running as a user that is a member of the local admins group. 12:12:06: S -> No - is NOT admin (WIN32). 12:12:06: S -> Check windows admin for user completed. 12:12:06: S -> InitTrigger(checkout.dll) 12:12:06: S -> Checkout trigger not enabled. 12:12:06: S -> Couldn't load trigger checkout.dll 12:12:06: S -> InitTrigger(email.dll) 12:12:06: S -> InitTrigger(info.dll) 12:12:06: S -> InitTrigger(make.dll) 14:12:06: -> tcp_read(2612) using WSAEventSelect 14:12:06: -> tcp_read(2612) immediate timeout previous thread count -1/0 12:12:06: S -> Make trigger not enabled. 12:12:06: S -> Couldn't load trigger make.dll 12:12:06: S -> InitTrigger(script.dll) 12:12:06: S -> Script trigger not enabled. 12:12:06: S -> Couldn't load trigger script.dll 12:12:06: S -> InitTrigger(sync.dll) 12:12:06: S -> Sync trigger not enabled. 12:12:06: S -> Couldn't load trigger sync.dll 12:12:06: S -> Call pre-loaded 'email.dll' 12:12:06: S -> plugintools_proc() 12:12:06: S -> Call pre-loaded 'email.dll' returned 0, total ret 0 12:12:06: S -> Call pre-loaded 'info.dll' 12:12:06: S -> plugintools_proc() 12:12:06: S -> Call pre-loaded 'info.dll' returned 0, total ret 0 12:12:06: S -> run_trigger returning 0 12:12:06: S -> run precommand proc server 12:12:06: S -> run_trigger() 12:12:06: S -> Call pre-loaded 'email.dll' 12:12:06: S -> precommand_proc() 12:12:06: S -> Call pre-loaded 'email.dll' returned 0, total ret 0 12:12:06: S -> Call pre-loaded 'info.dll' 12:12:06: S -> precommand_proc() 12:12:06: S -> default_trigger: parse_info(CVSROOT/precommand,%r %c,%) 12:12:06: S -> CFileAccess::open('C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/precommand','rb') 12:12:06: S -> CFileAccess::open() setvbuf(_IONBF) 12:12:06: S -> CFileAccess::close() 12:12:06: S -> CFileAccess::close() 12:12:06: S -> Call pre-loaded 'info.dll' returned 0, total ret 0 12:12:06: S -> run_trigger returning 0 12:12:06: S -> Commit start_recursion "Run the recursion processor to verify the files are all up-to-date" argc=1 14:12:06: -> tcp_read(1081) using WSAEventSelect 14:12:06: -> tcp_read(1081) immediate timeout previous thread count -1/0 12:12:06: S -> start_recursion((null),(null)) 12:12:06: S -> start_recursion() dirleaveproc is NULL 12:12:06: S -> start_recursion() update_dir set to "" 12:12:06: S -> start_recursion - argument count (argc) == 1 12:12:06: S -> * There were arguments, so we have to handle them by hand. To do 12:12:06: S -> * that, we set up the filelist and dirlist with the arguments and 12:12:06: S -> * call do_recursion. do_recursion recognizes the fact that the 12:12:06: S -> * lists are non-null when it starts and doesn't update them. 12:12:06: S -> 12:12:06: S -> * explicitly named directories are stored in dirlist. 12:12:06: S -> * explicitly named files are stored in filelist. 12:12:06: S -> * other possibility is named entities whicha are not currently in 12:12:06: S -> * the working directory. 12:12:06: S -> * if this argument is a directory, then add it to the list of directories. 12:12:06: S -> * otherwise, split argument into directory and component names. 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> * Now break out argv[i] into directory part (DIR) and file part (COMP). 12:12:06: S -> DIR and COMP will each point to a newly malloc'd string. 12:12:06: S -> ParseTag_Dir(.,,,0,) 12:12:06: S -> verify_access .,,(null) 12:12:06: S -> Name_Repository(.,) 12:12:06: S -> Name_Repository allocate tmp of size 26, len1=24, len2=16 12:12:06: S -> Name_Repository open ./CVS/Repository 12:12:06: S -> Name_Repository opened ./CVS/Repository ok so read a line 14:12:06: -> tcp_read(4693) using WSAEventSelect 14:12:06: -> tcp_read(4693) immediate timeout previous thread count -1/0 12:12:06: S -> Name_Repository closed ./CVS/Repository 12:12:06: S -> Name_Repository read 1 C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> Name_Repository (stripped the newline) read 2 C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> Name_Repository isabsolute( C:/PROGRA~3/MARCHH~1/myrepo/junk )? 12:12:06: S -> Name_Repository not isabsolute( C:/PROGRA~3/MARCHH~1/myrepo/junk ) 12:12:06: S -> Name_Repository Sanitize_Repository_Name( C:/PROGRA~3/MARCHH~1/myrepo/junk )! 12:12:06: S -> Name_Repository return ( C:/PROGRA~3/MARCHH~1/myrepo/junk )! 12:12:06: S -> verify_perm(C:/PROGRA~3/MARCHH~1/myrepo/junk,tst.doc,write,(null),(null)) 12:12:06: S -> verify_perm: verify_owner_dir() 12:12:06: S -> verify_owner(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> fileattr_read(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> _fileattr_read() malloc [strlen(C:/PROGRA~3/MARCHH~1/myrepo/junk)=]32+[sizeof(CVS/fileattr.xml)=]4+20=56 12:12:06: S -> fileattr_read() xmalloc fname OK 12:12:06: S -> _fileattr_read() allocated memory for fname - will now sprintf() 12:12:06: S -> _fileattr_read() ReadXmlFile("C:/PROGRA~3/MARCHH~1/myrepo/junk/CVS/fileattr.xml") 12:12:06: S -> fileattr_read() ReadXmlFile() 12:12:06: S -> fileattr_read() close 12:12:06: S -> fileattr_read() xfree fname 12:12:06: S -> fileattr_read() OK 12:12:06: S -> cache_directory_permissions() - cache directory(fileattr,) 14:12:06: -> tcp_read(3182) using WSAEventSelect 14:12:06: -> tcp_read(3182) immediate timeout previous thread count -1/0 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo/junk",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() last_component=junk 12:12:06: S -> fileattr_read(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> _fileattr_read() malloc [strlen(C:/PROGRA~3/MARCHH~1/myrepo)=]27+[sizeof(CVS/fileattr.xml)=]4+20=51 12:12:06: S -> fileattr_read() xmalloc fname OK 12:12:06: S -> _fileattr_read() allocated memory for fname - will now sprintf() 12:12:06: S -> _fileattr_read() no file "C:/PROGRA~3/MARCHH~1/myrepo/CVS/fileattr.xml", so allocate ofname of 60 bytes. 12:12:06: S -> fileattr_read() xmalloc ofname OK 12:12:06: S -> _fileattr_read() no old "C:/PROGRA~3/MARCHH~1/myrepo/CVS/fileattr". 12:12:06: S -> _fileattr_read() no old "C:/PROGRA~3/MARCHH~1/myrepo//.owner". 12:12:06: S -> _fileattr_read() no old "C:/PROGRA~3/MARCHH~1/myrepo//.perms". 12:12:06: S -> _fileattr_read() CXmlNode("fileattr") 12:12:06: S -> fileattr_read() xfree ofname and fname OK 12:12:06: S -> cache_directory_permissions() - cache directory(fileattr,) 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() free(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> cache_directory_permissions() return 12:12:06: S -> verify_valid_name(lusera) 14:12:06: -> tcp_read(1721) using WSAEventSelect 14:12:06: -> tcp_read(1721) immediate timeout previous thread count -1/0 12:12:06: S -> Find all the groups the user is in and add them to the list of valid names. 12:12:06: S -> Open the admin group file CVSROOT/group 12:12:06: S -> Finished reading the admin group file CVSROOT/group 12:12:06: S -> Get the groups for windows 12:12:06: S -> Checking local access token for groups 12:12:06: S -> add_valid_group(None) 12:12:06: S -> add_valid_group(Everyone) 12:12:06: S -> add_valid_group(Users) 12:12:06: S -> add_valid_group(NETWORK) 12:12:06: S -> add_valid_group(Authenticated Users) 12:12:06: S -> add_valid_group(This Organization) 12:12:06: S -> add_valid_group(NTLM Authentication) 12:12:06: S -> add_valid_group(Medium Mandatory Level) 12:12:06: S -> Got the groups for windows 12:12:06: S -> cache_directory_permissions(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo/junk",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() last_component=junk 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() free(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> cache_directory_permissions() return 12:12:06: S -> verify_perm() Read directory permission cache OK 12:12:06: S -> ACL lookup on directory C:/PROGRA~3/MARCHH~1/myrepo/junk 14:12:06: -> tcp_read(257) using WSAEventSelect 14:12:06: -> tcp_read(257) immediate timeout previous thread count -1/0 12:12:06: S -> verify_acl(write,HEAD,(null)) 12:12:06: S -> user_state = 0, group_state = 0 12:12:06: S -> no match at this level 12:12:06: S -> ACL lookup on directory C:/PROGRA~3/MARCHH~1/myrepo 12:12:06: S -> verify_acl(write,HEAD,(null)) 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> user_state = 0, group_state = 0 12:12:06: S -> no match at this level 12:12:06: S -> Match found. user_state = 0, group_state = 0 12:12:06: S -> verify_perm() return 12:12:06: S -> start_recursion: (1) addfile(files_by_dir,".","tst.doc") 12:12:06: S -> * At this point we have looped over all named arguments and built 12:12:06: S -> a coupla lists. Now we unroll the lists, setting up and 12:12:06: S -> calling do_recursion. 12:12:06: S -> call walklist() with unroll_files_proc and files_by_dir 12:12:06: S -> unroll_files_proc() begin 12:12:06: S -> * if this dir was also an explicitly named argument, then skip 12:12:06: S -> it. We'll catch it later when we do dirs. 12:12:06: S -> * otherwise, call dorecusion for this list of files. 12:12:06: S -> Name_Repository((null),) 12:12:06: S -> Name_Repository dup tmp is len 12:12:06: S -> Name_Repository dup tmp is now len 12:12:06: S -> Name_Repository open CVS/Repository 12:12:06: S -> Name_Repository opened CVS/Repository ok so read a line 12:12:06: S -> Name_Repository closed CVS/Repository 12:12:06: S -> Name_Repository read 1 C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> Name_Repository (stripped the newline) read 2 C:/PROGRA~3/MARCHH~1/myrepo/junk 14:12:06: -> tcp_read(3839) using WSAEventSelect 14:12:06: -> tcp_read(3839) immediate timeout previous thread count -1/0 12:12:06: S -> Name_Repository isabsolute( C:/PROGRA~3/MARCHH~1/myrepo/junk )? 12:12:06: S -> Name_Repository not isabsolute( C:/PROGRA~3/MARCHH~1/myrepo/junk ) 12:12:06: S -> Name_Repository Sanitize_Repository_Name( C:/PROGRA~3/MARCHH~1/myrepo/junk )! 12:12:06: S -> Name_Repository return ( C:/PROGRA~3/MARCHH~1/myrepo/junk )! 12:12:06: S -> ParseTag() 12:12:06: S -> ParseTag_Dir((null),,,0,) 12:12:06: S -> open_directory(C:/PROGRA~3/MARCHH~1/myrepo/junk,.,(null),(null),0,(null),0) 12:12:06: S -> open_directory() directory_stack_size increased by one to 1 12:12:06: S -> open_directory, (!remote) try and find a mapping file in this directory . 12:12:06: S -> RCS_parse(.directory_history,C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/.directory_history,v) 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/.directory_history,v) failed to open file 1 times 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/.directory_history,v) file does not exist, so return 0 12:12:06: S -> rcsbuf_open failed 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/Attic/.directory_history,v) 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/Attic/.directory_history,v) failed to open file 1 times 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/Attic/.directory_history,v) file does not exist, so return 0 14:12:06: -> tcp_read(2376) using WSAEventSelect 14:12:06: -> tcp_read(2376) immediate timeout previous thread count -1/0 12:12:06: S -> rcsbuf_open failed 12:12:06: S -> No mapping file in this directory. 12:12:06: S -> open_directory copy the tag and date. 12:12:06: S -> open_directory copied the tag and date. 12:12:06: S -> Look for rename script file CVS/Rename 12:12:06: S -> Rename script file does not exist 12:12:06: S -> directory opened 12:12:06: S -> do_recursion: begin 12:12:06: S -> do_recursion: Check the value in CVSADM_ROOT 12:12:06: S -> do_recursion: Fill in repository with the current repository 12:12:06: S -> do_recursion: update_dir= 12:12:06: S -> Name_Repository((null),) 12:12:06: S -> Name_Repository dup tmp is len 12:12:06: S -> Name_Repository dup tmp is now len 12:12:06: S -> Name_Repository open CVS/Repository 12:12:06: S -> Name_Repository opened CVS/Repository ok so read a line 12:12:06: S -> Name_Repository closed CVS/Repository 12:12:06: S -> Name_Repository read 1 C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> Name_Repository (stripped the newline) read 2 C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> Name_Repository isabsolute( C:/PROGRA~3/MARCHH~1/myrepo/junk )? 12:12:06: S -> Name_Repository not isabsolute( C:/PROGRA~3/MARCHH~1/myrepo/junk ) 12:12:06: S -> Name_Repository Sanitize_Repository_Name( C:/PROGRA~3/MARCHH~1/myrepo/junk )! 12:12:06: S -> Name_Repository return ( C:/PROGRA~3/MARCHH~1/myrepo/junk )! 12:12:06: S -> do_recursion: update_dir= repository=C:/PROGRA~3/MARCHH~1/myrepo/junk 14:12:06: -> tcp_read(894) using WSAEventSelect 14:12:06: -> tcp_read(894) immediate timeout previous thread count -1/0 12:12:06: S -> (repository && (server_active || !current_parsed_root->isremote)) 12:12:06: S -> map_repository(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> lookup_module2() 12:12:06: S -> lookup_module2(junk) after rename? 12:12:06: S -> lookup_module2() call _lookup_module2() 12:12:06: S -> Loading modules2 from C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/modules2 12:12:06: S -> _lookup_module2 - continue_if_no_mod2=1 (default) 12:12:06: S -> lookup_module2(junk,1) 12:12:06: S -> _lookup_module2 !p lookup_repository_module(junk) 12:12:06: S -> lookup_repository_module(junk) 12:12:06: S -> lookup_module2() calls to lookup_repository_module() returned nothing 12:12:06: S -> _lookup_module2 !mod return 0 left,right(,junk) 12:12:06: S -> lookup_module2() call _lookup_module2 returned 0 12:12:06: S -> lookup_module2() no recursion permitted so give up now 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> lookup_module2() ret=0, current_directory!=NULL, current_directory->directory_mappings===NULL 12:12:06: S -> lookup_module2() return ret=0 renamed=0 12:12:06: S -> map_repository - return(repository) "C:/PROGRA~3/MARCHH~1/myrepo/junk" 12:12:06: S -> Repository = C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> Mapped repository = C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> (repository && (server_active || !current_parsed_root->isremote)) 12:12:06: S -> ParseTag() 12:12:06: S -> ParseTag_Dir((null),,,0,) 12:12:06: S -> verify_access C:/PROGRA~3/MARCHH~1/myrepo/junk,,(null) 14:12:06: -> tcp_read(4500) using WSAEventSelect 14:12:06: -> tcp_read(4500) immediate timeout previous thread count -1/0 12:12:06: S -> verify_perm(C:/PROGRA~3/MARCHH~1/myrepo/junk,(null),write,(null),(null)) 12:12:06: S -> verify_perm: verify_owner_dir() 12:12:06: S -> verify_owner(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo/junk",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() last_component=junk 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() free(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> cache_directory_permissions() return 12:12:06: S -> verify_valid_name(lusera) 12:12:06: S -> cache_directory_permissions(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo/junk",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() last_component=junk 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() free(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> cache_directory_permissions() return 12:12:06: S -> verify_perm() Read directory permission cache OK 14:12:06: -> tcp_read(3028) using WSAEventSelect 14:12:06: -> tcp_read(3028) immediate timeout previous thread count -1/0 12:12:06: S -> ACL lookup on directory C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> verify_acl(write,HEAD,(null)) 12:12:06: S -> user_state = 0, group_state = 0 12:12:06: S -> no match at this level 12:12:06: S -> ACL lookup on directory C:/PROGRA~3/MARCHH~1/myrepo 12:12:06: S -> verify_acl(write,HEAD,(null)) 12:12:06: S -> user_state = 0, group_state = 0 12:12:06: S -> no match at this level 12:12:06: S -> Match found. user_state = 0, group_state = 0 12:12:06: S -> verify_perm() return 12:12:06: S -> fileattr_startdir(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> * The filesdoneproc needs to be called for each directory where files 12:12:06: S -> * processed, or each directory that is processed by a call where no 12:12:06: S -> * directories were passed in. In fact, the only time we don't want to 12:12:06: S -> * call back the filesdoneproc is when we are processing directories that 12:12:06: S -> * were passed in on the command line (or in the special case of `.' when 12:12:06: S -> * we were called with no args 12:12:06: S -> do_recursion: dirlist == NULL && filelist == NULL 12:12:06: S -> do_recursion: dodoneproc=1 12:12:06: S -> * If filelist or dirlist is already set, we don't look again. Otherwise, 12:12:06: S -> * find the files and directories 12:12:06: S -> do_recursion: something was passed on the command line 12:12:06: S -> do_recursion: we will process files, so pre-parse entries 14:12:06: -> tcp_read(1557) using WSAEventSelect 14:12:06: -> tcp_read(1557) immediate timeout previous thread count -1/0 12:12:06: S -> Entries_Open() 12:12:06: S -> Entries_Open ParseTag() 12:12:06: S -> ParseTag() 12:12:06: S -> ParseTag_Dir((null),,,12517812,) 12:12:06: S -> Entries_Open aflag==0 && dirtag==0 && dirdate==0 12:12:06: S -> Entries_Open CVS_FOPEN("CVS/Entries","r") 12:12:06: S -> Entries_Open CVS_FOPEN CVSADM_ENT returned a file handle, now call the (slow) fgetentent() / AddEntryNode 12:12:06: S -> Entnode_Create() 12:12:06: S -> Entnode_Create() finished 12:12:06: S -> AddEntryNode() 12:12:06: S -> AddEntryNode() get a node and fill in the regular stuff 12:12:06: S -> AddEntryNode() this one gets a key of the name for hashing 12:12:06: S -> AddEntryNode() put the node into the list 12:12:06: S -> AddEntryNode() finished 12:12:06: S -> Entries_Open fclose() CVSADM_ENT 12:12:06: S -> Entries_Open CVS_FOPEN("CVS/Entries.Extra","r") 12:12:06: S -> Entries_Open CVS_FOPEN CVSADM_ENTEXT returned a file handle 12:12:06: S -> Entries_Open fclose() CVSADM_ENTEXT 12:12:06: S -> Entries_Open CVS_FOPEN("CVS/Entries.Log","r") 12:12:06: S -> Entries_Open (! sawdir) - so xmalloc() 12:12:06: S -> Entries_Open entrieslist is not NULL, add some sticky data... 12:12:06: S -> Entries_Open clean up and return 12:12:06: S -> Entries_Open done 12:12:06: S -> do_recursion: process the files (if any) 12:12:06: S -> do_recursion: read lock it if necessary 14:12:06: -> tcp_read(97) using WSAEventSelect 14:12:06: -> tcp_read(97) immediate timeout previous thread count -1/0 12:12:06: S -> * For the server, we handle notifications in a completely different 14:12:06: -> tcp_read(42) using WSAEventSelect 14:12:06: -> tcp_read(42) immediate timeout previous thread count -1/0 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> place (server_notify). For local, we can't do them here--we don't 12:12:06: S -> have writelocks in place, and there is no way to get writelocks here 12:12:06: S -> do_recursion: process the files by calling walklist() 12:12:06: S -> do_file_proc: process the files "tst.doc" 12:12:06: S -> (server_active || !current_parsed_root->isremote) 12:12:06: S -> map_filename(C:/PROGRA~3/MARCHH~1/myrepo/junk,tst.doc) 12:12:06: S -> map_filename - call map_repository(C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc) 12:12:06: S -> map_repository(C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc) 12:12:06: S -> lookup_module2() 12:12:06: S -> lookup_module2(junk/tst.doc) after rename? 12:12:06: S -> lookup_module2() call _lookup_module2() 12:12:06: S -> _lookup_module2 - continue_if_no_mod2=1 (default) 12:12:06: S -> lookup_module2(junk/tst.doc,2) 12:12:06: S -> _lookup_module2 p!=NULL lookup_repository_module(junk) 12:12:06: S -> lookup_repository_module(junk) 12:12:06: S -> lookup_module2() calls to lookup_repository_module() returned nothing 12:12:06: S -> _lookup_module2 !mod return 0 left,right(,junk/tst.doc) 12:12:06: S -> lookup_module2() call _lookup_module2 returned 0 12:12:06: S -> lookup_module2() no recursion permitted so give up now 12:12:06: S -> lookup_module2() ret=0, current_directory!=NULL, current_directory->directory_mappings===NULL 12:12:06: S -> lookup_module2() return ret=0 renamed=0 14:12:06: -> tcp_read(3699) using WSAEventSelect 14:12:06: -> tcp_read(3699) immediate timeout previous thread count -1/0 12:12:06: S -> map_repository - return(repository) "C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc" 12:12:06: S -> map_filename - map_repository() returns C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc 12:12:06: S -> do_file_proc: mapped name of file "tst.doc" 12:12:06: S -> do_file_proc: frfile->frame->dosrcs && mapped_file_repository 12:12:06: S -> RCS_parse(tst.doc,C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v) 12:12:06: S -> normalize_path(C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v) 12:12:06: S -> ...returns C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v 12:12:06: S -> Lock server command sent: Lock Read Full|C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v 12:12:06: S -> Lock server command received: 000 OK Lock granted (1669) 12:12:06: S -> do_lock_server: [12:12:06] obtained lock 1669 in tst.doc,v 12:12:06: S -> do_lock_file: lock server returns 1669 12:12:06: S -> rcsbuf_open(/myrepo/junk/tst.doc,v) -- obtained a new lock 12:12:06: S -> rcsbuf_fill(windows,BigMemory=0) 12:12:06: S -> rcsbuf_fill(0): expanded to 8192 (was: 0, req: 5120, inc: 5120, RCSBUF_BUFSIZE: 5120). 12:12:06: S -> do_file_proc: call findnode_fn() 12:12:06: S -> do_file_proc: got a result from findnode_fn() 12:12:06: S -> verify_access C:/PROGRA~3/MARCHH~1/myrepo/junk,,(null) 12:12:06: S -> verify_perm(C:/PROGRA~3/MARCHH~1/myrepo/junk,tst.doc,write,(null),(null)) 12:12:06: S -> verify_perm: verify_owner_dir() 14:12:06: -> tcp_read(2208) using WSAEventSelect 14:12:06: -> tcp_read(2208) immediate timeout previous thread count -1/0 12:12:06: S -> verify_owner(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo/junk",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() last_component=junk 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() free(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> cache_directory_permissions() return 12:12:06: S -> verify_valid_name(lusera) 12:12:06: S -> cache_directory_permissions(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo/junk",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() last_component=junk 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() free(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> cache_directory_permissions() return 12:12:06: S -> verify_perm() Read directory permission cache OK 12:12:06: S -> ACL lookup on directory C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> verify_acl(write,HEAD,(null)) 12:12:06: S -> user_state = 0, group_state = 0 14:12:06: -> tcp_read(705) using WSAEventSelect 14:12:06: -> tcp_read(705) immediate timeout previous thread count -1/0 12:12:06: S -> no match at this level 12:12:06: S -> ACL lookup on directory C:/PROGRA~3/MARCHH~1/myrepo 12:12:06: S -> verify_acl(write,HEAD,(null)) 12:12:06: S -> user_state = 0, group_state = 0 12:12:06: S -> no match at this level 12:12:06: S -> Match found. user_state = 0, group_state = 0 12:12:06: S -> verify_perm() return 12:12:06: S -> do_file_proc: verify_access() returned ok 12:12:06: S -> Call Classify_File from classify_file_internal / commit 12:12:06: S -> Classify_File (tst.doc) 12:12:06: S -> Version_TS((null),(null),1) 12:12:06: S -> Version_TS -- findnode_fn() not force_case_match 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> Version_TS -- findnode() found something that wasn't a subdir. 12:12:06: S -> Version_TS - call RCS_getversion("C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v",(null),(null),1,0) 12:12:06: S -> *RCS_head(HEAD) 12:12:06: S -> wnt_stat(tst.doc) 12:12:06: S -> _statcore(00000000,tst.doc) 12:12:06: S -> Trying GetFileAttributesEx.... 12:12:06: S -> File attributes = 00000020 12:12:06: S -> - read/write file 12:12:06: S -> GetUnixFileModeNtEA(t,00000288) returns 0600 12:12:06: S -> _statcore(tst.doc) returns S_IWRITE 12:12:06: S -> Classify_File vn_rcs=1.10 12:12:06: S -> Classify_File options=bx 12:12:06: S -> Classify_File A normal entry, TS_Rcs is valid 12:12:06: S -> Classify_File The RCS file is the same version as the user file 12:12:06: S -> RCS_cmp_file() called in No_Difference() 14:12:06: -> tcp_read(4356) using WSAEventSelect 14:12:06: -> tcp_read(4356) immediate timeout previous thread count -1/0 12:12:06: S -> RCS_checkin(2) calls RCS_checkout(RCSCHECKOUTPROC=cmp_file_buffer) 12:12:06: S -> RCS_checkout (/myrepo/junk/tst.doc,v, 1.10, bx, (function)) 12:12:06: S -> RCS_checkout() calls rcsbuf_setpos_to_delta_base() 12:12:06: S -> RCS_checkout() - We want the head revision. Try to read it directly. 12:12:06: S -> RCS_checkout() calls rcsbuf_valpolish() 12:12:06: S -> RCS_checkout() -- Handle zip expansion of head 12:12:06: S -> RCS_checkout options = "bx" 12:12:06: S -> got rcs_mode = 0600 from rcs-permissions-tag 12:12:06: S -> RCS_checkout() rcsbuf_valfree 12:12:06: S -> RCS_checkout() rcsbuf_valfree() done 12:12:06: S -> RCS_checkout() free_rev 12:12:06: S -> RCS_checkout() call pfn() 12:12:06: S -> checkout pfn completed 12:12:06: S -> RCS_checkout() now if (free_value)... 12:12:06: S -> RCS_checkout() now xfree(zbuf); 12:12:06: S -> RCS_checkout() calls modify_mode() 12:12:06: S -> RCS_checkout -> return ok 12:12:06: S -> Classify_File free up the vers struct, or just return it 12:12:06: S -> Classify_File return the status of the file 12:12:06: S -> Classify_File returned 4 12:12:06: S -> check_fileproc. classify_file_internal returned 4 12:12:06: S -> check_fileproc. Bug id in: (0), edit bug id: (0/+), server: active 12:12:06: S -> do_bug_msg bugmap=0 bug=0. 12:12:06: S -> do_bug_msg is now "". 12:12:06: S -> Begin Implement -b (do_bug_final) 12:12:06: S -> only_bug==0 14:12:06: -> tcp_read(2887) using WSAEventSelect 14:12:06: -> tcp_read(2887) immediate timeout previous thread count -1/0 12:12:06: S -> bugidsz.size()==0 12:12:06: S -> vers->edit_bugid REAL 12:12:06: S -> Since there is no bugidsz then there is no bugid_in_res (ie: NOT) 12:12:06: S -> End Implement -b (do_bug_final) 12:12:06: S -> All finished the bug number regular expression stuff for commit, continue with status stuff...! 12:12:06: S -> case T_MODIFIED, T_ADDED, T_REMOVED 12:12:06: S -> RCS_get_kflags called in commit check_fileproc() 12:12:06: S -> verify_perm(C:/PROGRA~3/MARCHH~1/myrepo/junk,tst.doc,write,(null),(null)) 12:12:06: S -> verify_perm: verify_owner_dir() 12:12:06: S -> verify_owner(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo/junk",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() last_component=junk 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() free(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> cache_directory_permissions() return 12:12:06: S -> verify_valid_name(lusera) 12:12:06: S -> cache_directory_permissions(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo/junk",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 14:12:06: -> tcp_read(1390) using WSAEventSelect 14:12:06: -> tcp_read(1390) immediate timeout previous thread count -1/0 12:12:06: S -> cache_directory_permissions() last_component=junk 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() free(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> cache_directory_permissions() return 12:12:06: S -> verify_perm() Read directory permission cache OK 12:12:06: S -> ACL lookup on directory C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> verify_acl(write,HEAD,(null)) 12:12:06: S -> user_state = 0, group_state = 0 12:12:06: S -> no match at this level 12:12:06: S -> ACL lookup on directory C:/PROGRA~3/MARCHH~1/myrepo 12:12:06: S -> verify_acl(write,HEAD,(null)) 12:12:06: S -> user_state = 0, group_state = 0 12:12:06: S -> no match at this level 12:12:06: S -> Match found. user_state = 0, group_state = 0 12:12:06: S -> verify_perm() return 12:12:06: S -> fileattr_find(file[@name=F'%s']/editor) 12:12:06: S -> fileattr_read(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> _fileattr_read() malloc [strlen(C:/PROGRA~3/MARCHH~1/myrepo/junk)=]32+[sizeof(CVS/fileattr.xml)=]4+20=56 12:12:06: S -> fileattr_read() xmalloc fname OK 12:12:06: S -> _fileattr_read() allocated memory for fname - will now sprintf() 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> _fileattr_read() ReadXmlFile("C:/PROGRA~3/MARCHH~1/myrepo/junk/CVS/fileattr.xml") 12:12:06: S -> fileattr_read() ReadXmlFile() 12:12:06: S -> fileattr_read() close 14:12:06: -> tcp_read(5019) using WSAEventSelect 14:12:06: -> tcp_read(5019) immediate timeout previous thread count -1/0 12:12:06: S -> fileattr_read() xfree fname 12:12:06: S -> fileattr_read() OK 12:12:06: S -> fileattr_read() return 12:12:06: S -> fileattr_getvalue(@name) 12:12:06: S -> fileattr_getvalue(tag) 12:12:06: S -> fileattr_find(exclusive) 12:12:06: S -> fileattr_find(file[@name=F'%s']/editor[@name=U'%s']) 12:12:06: S -> fileattr_getvalue(tag) 12:12:06: S -> normalize_path(C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v) 12:12:06: S -> ...returns C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v 12:12:06: S -> Lock server command sent: Lock Write Advisory|C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v 12:12:06: S -> Lock server command received: 000 OK Lock granted (1670) 12:12:06: S -> do_lock_server: [12:12:06] obtained lock 1670 in tst.doc,v 12:12:06: S -> do_lock_advisory: lock server returns 1670 12:12:06: S -> finished check_fileproc - free vers_ts 12:12:06: S -> finished check_fileproc - return 12:12:06: S -> do_file_proc: finished fileproc() 12:12:06: S -> Lock server command sent: Unlock 1669 12:12:06: S -> Lock server command received: 000 OK Unlocked 12:12:06: S -> do_unlock_file: (lock 1669) lock server returns 0 12:12:06: S -> do_file_proc: return 12:12:06: S -> do_recursion: unlock it 12:12:06: S -> do_recursion: clean up by calling dellist(filelist) 12:12:06: S -> do_recursion: call-back files done proc (if any) 12:12:06: S -> do_recursion: yes: call-back files done proc (if any) 14:12:06: -> tcp_read(3559) using WSAEventSelect 14:12:06: -> tcp_read(3559) immediate timeout previous thread count -1/0 12:12:06: S -> run precommit trigger 14:12:06: -> tcp_read(3520) using WSAEventSelect 14:12:06: -> tcp_read(3520) immediate timeout previous thread count -1/0 12:12:06: S -> run_trigger() 12:12:06: S -> Call pre-loaded 'email.dll' 12:12:06: S -> precommit_proc(junk,(null)) 12:12:06: S -> precommit_proc(junk,(null)) returns 0 12:12:06: S -> Call pre-loaded 'email.dll' returned 0, total ret 0 12:12:06: S -> Call pre-loaded 'info.dll' 12:12:06: S -> precommit_proc(junk,(null)) 12:12:06: S -> default_trigger: parse_info(CVSROOT/commitinfo,%r/%p,% CFileAccess::open('C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/commitinfo','rb') 12:12:06: S -> CFileAccess::open() setvbuf(_IONBF) 12:12:06: S -> CFileAccess::close() 12:12:06: S -> CFileAccess::close() 12:12:06: S -> precommit_proc(junk,(null)) returns 0 12:12:06: S -> Call pre-loaded 'info.dll' returned 0, total ret 0 12:12:06: S -> run_trigger returning 0 12:12:06: S -> precommit trigger returned 0 which is OK 12:12:06: S -> do_recursion: at skip_directory 12:12:06: S -> (repository && (server_active || !current_parsed_root->isremote)) 12:12:06: S -> fileattr_write() 12:12:06: S -> fileattr_free() 12:12:06: S -> do_recursion: process the directories (if necessary) 12:12:06: S -> do_recursion: cannot process the directories (dirlist == NULL) 12:12:06: S -> Entries_Close - isfile ("CVS/Entries.Log") 12:12:06: S -> Entries_Close - dellist (list) 12:12:06: S -> do_recursion: free the saved copy of the pointer if necessary 12:12:06: S -> more efficient - close directory in unroll_files_proc? 14:12:06: -> tcp_read(2053) using WSAEventSelect 14:12:06: -> tcp_read(2053) immediate timeout previous thread count -1/0 12:12:06: S -> close_directory() 12:12:06: S -> close_directory() directory_stack_size decreased by one to 0 12:12:06: S -> unroll_files_proc() end 12:12:06: S -> walklist call with unroll_files_proc done. err=0 12:12:06: S -> freenode() free the badbad DIRS 12:12:06: S -> dellist after unroll_files_proc done. 12:12:06: S -> start_recursion: cannot do_recursion on the dirlist. 12:12:06: S -> start_recursion: Free the data which expand_wild allocated. 12:12:06: S -> start_recursion: Free the data - update_dir 12:12:06: S -> start_recursion: Free the data - update_repos 12:12:06: S -> start_recursion: (args_to_send_when_finished == NULL) 12:12:06: S -> start_recursion: return 0. 12:12:06: S -> Commit start_recursion "Run the recursion processor to commit the files" argc=1 12:12:06: S -> start_recursion((null),(null)) 12:12:06: S -> start_recursion() dirleaveproc is OK 12:12:06: S -> start_recursion() update_dir set to "" 12:12:06: S -> start_recursion - argument count (argc) == 1 12:12:06: S -> * There were arguments, so we have to handle them by hand. To do 12:12:06: S -> * that, we set up the filelist and dirlist with the arguments and 12:12:06: S -> * call do_recursion. do_recursion recognizes the fact that the 12:12:06: S -> * lists are non-null when it starts and doesn't update them. 12:12:06: S -> 12:12:06: S -> * explicitly named directories are stored in dirlist. 12:12:06: S -> * explicitly named files are stored in filelist. 14:12:06: -> tcp_read(542) using WSAEventSelect 14:12:06: -> tcp_read(542) immediate timeout previous thread count -1/0 12:12:06: S -> * other possibility is named entities whicha are not currently in 12:12:06: S -> * the working directory. 12:12:06: S -> * if this argument is a directory, then add it to the list of directories. 12:12:06: S -> * otherwise, split argument into directory and component names. 12:12:06: S -> * Now break out argv[i] into directory part (DIR) and file part (COMP). 12:12:06: S -> DIR and COMP will each point to a newly malloc'd string. 12:12:06: S -> ParseTag_Dir(.,,,0,) 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> verify_access .,,(null) 12:12:06: S -> Name_Repository(.,) 12:12:06: S -> Name_Repository allocate tmp of size 26, len1=24, len2=16 12:12:06: S -> Name_Repository open ./CVS/Repository 12:12:06: S -> Name_Repository opened ./CVS/Repository ok so read a line 12:12:06: S -> Name_Repository closed ./CVS/Repository 12:12:06: S -> Name_Repository read 1 C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> Name_Repository (stripped the newline) read 2 C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> Name_Repository isabsolute( C:/PROGRA~3/MARCHH~1/myrepo/junk )? 12:12:06: S -> Name_Repository not isabsolute( C:/PROGRA~3/MARCHH~1/myrepo/junk ) 12:12:06: S -> Name_Repository Sanitize_Repository_Name( C:/PROGRA~3/MARCHH~1/myrepo/junk )! 12:12:06: S -> Name_Repository return ( C:/PROGRA~3/MARCHH~1/myrepo/junk )! 12:12:06: S -> verify_perm(C:/PROGRA~3/MARCHH~1/myrepo/junk,tst.doc,write,(null),(null)) 14:12:06: -> tcp_read(4197) using WSAEventSelect 14:12:06: -> tcp_read(4197) immediate timeout previous thread count -1/0 12:12:06: S -> verify_perm: verify_owner_dir() 12:12:06: S -> verify_owner(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo/junk",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() last_component=junk 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() free(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> cache_directory_permissions() return 12:12:06: S -> verify_valid_name(lusera) 12:12:06: S -> cache_directory_permissions(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo/junk",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() last_component=junk 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() free(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> cache_directory_permissions() return 12:12:06: S -> verify_perm() Read directory permission cache OK 12:12:06: S -> ACL lookup on directory C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> verify_acl(write,HEAD,(null)) 14:12:06: -> tcp_read(2694) using WSAEventSelect 14:12:06: -> tcp_read(2694) immediate timeout previous thread count -1/0 12:12:06: S -> user_state = 0, group_state = 0 12:12:06: S -> no match at this level 12:12:06: S -> ACL lookup on directory C:/PROGRA~3/MARCHH~1/myrepo 12:12:06: S -> verify_acl(write,HEAD,(null)) 12:12:06: S -> user_state = 0, group_state = 0 12:12:06: S -> no match at this level 12:12:06: S -> Match found. user_state = 0, group_state = 0 12:12:06: S -> verify_perm() return 12:12:06: S -> start_recursion: (1) addfile(files_by_dir,".","tst.doc") 12:12:06: S -> * At this point we have looped over all named arguments and built 12:12:06: S -> a coupla lists. Now we unroll the lists, setting up and 12:12:06: S -> calling do_recursion. 12:12:06: S -> call walklist() with unroll_files_proc and files_by_dir 12:12:06: S -> unroll_files_proc() begin 12:12:06: S -> * if this dir was also an explicitly named argument, then skip 12:12:06: S -> it. We'll catch it later when we do dirs. 12:12:06: S -> * otherwise, call dorecusion for this list of files. 12:12:06: S -> Name_Repository((null),) 12:12:06: S -> Name_Repository dup tmp is len 12:12:06: S -> Name_Repository dup tmp is now len 12:12:06: S -> Name_Repository open CVS/Repository 12:12:06: S -> Name_Repository opened CVS/Repository ok so read a line 12:12:06: S -> Name_Repository closed CVS/Repository 12:12:06: S -> Name_Repository read 1 C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> Name_Repository (stripped the newline) read 2 C:/PROGRA~3/MARCHH~1/myrepo/junk 14:12:06: -> tcp_read(1203) using WSAEventSelect 14:12:06: -> tcp_read(1203) immediate timeout previous thread count -1/0 12:12:06: S -> Name_Repository isabsolute( C:/PROGRA~3/MARCHH~1/myrepo/junk )? 12:12:06: S -> Name_Repository not isabsolute( C:/PROGRA~3/MARCHH~1/myrepo/junk ) 12:12:06: S -> Name_Repository Sanitize_Repository_Name( C:/PROGRA~3/MARCHH~1/myrepo/junk )! 12:12:06: S -> Name_Repository return ( C:/PROGRA~3/MARCHH~1/myrepo/junk )! 12:12:06: S -> ParseTag() 12:12:06: S -> ParseTag_Dir((null),,,0,) 12:12:06: S -> open_directory(C:/PROGRA~3/MARCHH~1/myrepo/junk,.,(null),(null),0,(null),0) 12:12:06: S -> open_directory() directory_stack_size increased by one to 1 12:12:06: S -> open_directory, (!remote) try and find a mapping file in this directory . 12:12:06: S -> The tests about to be executed are pointless since we know the result already (No mapping File in this directory.) 12:12:06: S -> RCS_parse(.directory_history,C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/.directory_history,v) 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/.directory_history,v) failed to open file 1 times 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/.directory_history,v) file does not exist, so return 0 12:12:06: S -> rcsbuf_open failed 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/Attic/.directory_history,v) 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/Attic/.directory_history,v) failed to open file 1 times 14:12:06: -> tcp_read(4851) using WSAEventSelect 14:12:06: -> tcp_read(4851) immediate timeout previous thread count -1/0 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/Attic/.directory_history,v) file does not exist, so return 0 12:12:06: S -> rcsbuf_open failed 12:12:06: S -> Duh! We already new this was rubbish... 12:12:06: S -> No mapping file in this directory. 12:12:06: S -> open_directory copy the tag and date. 12:12:06: S -> open_directory copied the tag and date. 12:12:06: S -> Look for rename script file CVS/Rename 12:12:06: S -> Rename script file does not exist 12:12:06: S -> directory opened 12:12:06: S -> do_recursion: begin 12:12:06: S -> do_recursion: Check the value in CVSADM_ROOT 12:12:06: S -> do_recursion: Fill in repository with the current repository 12:12:06: S -> do_recursion: update_dir= 12:12:06: S -> Name_Repository((null),) 12:12:06: S -> Name_Repository dup tmp is len 12:12:06: S -> Name_Repository dup tmp is now len 12:12:06: S -> Name_Repository open CVS/Repository 12:12:06: S -> Name_Repository opened CVS/Repository ok so read a line 12:12:06: S -> Name_Repository closed CVS/Repository 12:12:06: S -> Name_Repository read 1 C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> Name_Repository (stripped the newline) read 2 C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> Name_Repository isabsolute( C:/PROGRA~3/MARCHH~1/myrepo/junk )? 12:12:06: S -> Name_Repository not isabsolute( C:/PROGRA~3/MARCHH~1/myrepo/junk ) 12:12:06: S -> Name_Repository Sanitize_Repository_Name( C:/PROGRA~3/MARCHH~1/myrepo/junk )! 14:12:06: -> tcp_read(3353) using WSAEventSelect 14:12:06: -> tcp_read(3353) immediate timeout previous thread count -1/0 12:12:06: S -> Name_Repository return ( C:/PROGRA~3/MARCHH~1/myrepo/junk )! 12:12:06: S -> do_recursion: update_dir= repository=C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> (repository && (server_active || !current_parsed_root->isremote)) 12:12:06: S -> map_repository(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> lookup_module2() 12:12:06: S -> lookup_module2(junk) after rename? 12:12:06: S -> lookup_module2() call _lookup_module2() 12:12:06: S -> _lookup_module2 - continue_if_no_mod2=1 (default) 12:12:06: S -> lookup_module2(junk,3) 12:12:06: S -> _lookup_module2 !p lookup_repository_module(junk) 12:12:06: S -> lookup_repository_module(junk) 12:12:06: S -> lookup_module2() calls to lookup_repository_module() returned nothing 12:12:06: S -> _lookup_module2 !mod return 0 left,right(,junk) 12:12:06: S -> lookup_module2() call _lookup_module2 returned 0 12:12:06: S -> lookup_module2() no recursion permitted so give up now 12:12:06: S -> lookup_module2() ret=0, current_directory!=NULL, current_directory->directory_mappings===NULL 12:12:06: S -> lookup_module2() return ret=0 renamed=0 12:12:06: S -> map_repository - return(repository) "C:/PROGRA~3/MARCHH~1/myrepo/junk" 12:12:06: S -> Repository = C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> Mapped repository = C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> (repository && (server_active || !current_parsed_root->isremote)) 12:12:06: S -> ParseTag() 14:12:06: -> tcp_read(1884) using WSAEventSelect 14:12:06: -> tcp_read(1884) immediate timeout previous thread count -1/0 12:12:06: S -> ParseTag_Dir((null),,,0,) 12:12:06: S -> verify_access C:/PROGRA~3/MARCHH~1/myrepo/junk,,(null) 12:12:06: S -> verify_perm(C:/PROGRA~3/MARCHH~1/myrepo/junk,(null),write,(null),(null)) 12:12:06: S -> verify_perm: verify_owner_dir() 12:12:06: S -> verify_owner(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo/junk",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() last_component=junk 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() free(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> cache_directory_permissions() return 12:12:06: S -> verify_valid_name(lusera) 12:12:06: S -> cache_directory_permissions(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo/junk",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() last_component=junk 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() free(C:/PROGRA~3/MARCHH~1/myrepo) 14:12:06: -> tcp_read(406) using WSAEventSelect 14:12:06: -> tcp_read(406) immediate timeout previous thread count -1/0 12:12:06: S -> cache_directory_permissions() return 12:12:06: S -> verify_perm() Read directory permission cache OK 12:12:06: S -> ACL lookup on directory C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> verify_acl(write,HEAD,(null)) 12:12:06: S -> user_state = 0, group_state = 0 12:12:06: S -> no match at this level 12:12:06: S -> ACL lookup on directory C:/PROGRA~3/MARCHH~1/myrepo 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> verify_acl(write,HEAD,(null)) 12:12:06: S -> user_state = 0, group_state = 0 12:12:06: S -> no match at this level 12:12:06: S -> Match found. user_state = 0, group_state = 0 12:12:06: S -> verify_perm() return 12:12:06: S -> fileattr_startdir(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> * The filesdoneproc needs to be called for each directory where files 12:12:06: S -> * processed, or each directory that is processed by a call where no 12:12:06: S -> * directories were passed in. In fact, the only time we don't want to 12:12:06: S -> * call back the filesdoneproc is when we are processing directories that 12:12:06: S -> * were passed in on the command line (or in the special case of `.' when 12:12:06: S -> * we were called with no args 12:12:06: S -> do_recursion: dirlist == NULL && filelist == NULL 12:12:06: S -> do_recursion: dodoneproc=1 12:12:06: S -> * If filelist or dirlist is already set, we don't look again. Otherwise, 12:12:06: S -> * find the files and directories 12:12:06: S -> do_recursion: something was passed on the command line 14:12:06: -> tcp_read(4011) using WSAEventSelect 14:12:06: -> tcp_read(4011) immediate timeout previous thread count -1/0 12:12:06: S -> do_recursion: we will process files, so pre-parse entries 12:12:06: S -> Entries_Open() 12:12:06: S -> Entries_Open ParseTag() 12:12:06: S -> ParseTag() 12:12:06: S -> ParseTag_Dir((null),,,12517812,) 12:12:06: S -> Entries_Open aflag==0 && dirtag==0 && dirdate==0 12:12:06: S -> Entries_Open CVS_FOPEN("CVS/Entries","r") 12:12:06: S -> Entries_Open CVS_FOPEN CVSADM_ENT returned a file handle, now call the (slow) fgetentent() / AddEntryNode 12:12:06: S -> Entnode_Create() 12:12:06: S -> Entnode_Create() finished 12:12:06: S -> AddEntryNode() 12:12:06: S -> AddEntryNode() get a node and fill in the regular stuff 12:12:06: S -> AddEntryNode() this one gets a key of the name for hashing 12:12:06: S -> AddEntryNode() put the node into the list 12:12:06: S -> AddEntryNode() finished 12:12:06: S -> Entries_Open fclose() CVSADM_ENT 12:12:06: S -> Entries_Open CVS_FOPEN("CVS/Entries.Extra","r") 12:12:06: S -> Entries_Open CVS_FOPEN CVSADM_ENTEXT returned a file handle 12:12:06: S -> Entries_Open fclose() CVSADM_ENTEXT 12:12:06: S -> Entries_Open CVS_FOPEN("CVS/Entries.Log","r") 12:12:06: S -> Entries_Open (! sawdir) - so xmalloc() 12:12:06: S -> Entries_Open entrieslist is not NULL, add some sticky data... 12:12:06: S -> Entries_Open clean up and return 12:12:06: S -> Entries_Open done 12:12:06: S -> do_recursion: process the files (if any) 12:12:06: S -> do_recursion: read lock it if necessary 14:12:06: -> tcp_read(2505) using WSAEventSelect 14:12:06: -> tcp_read(2505) immediate timeout previous thread count -1/0 12:12:06: S -> * For the server, we handle notifications in a completely different 12:12:06: S -> place (server_notify). For local, we can't do them here--we don't 12:12:06: S -> have writelocks in place, and there is no way to get writelocks here 12:12:06: S -> do_recursion: process the files by calling walklist() 12:12:06: S -> do_file_proc: process the files "tst.doc" 12:12:06: S -> (server_active || !current_parsed_root->isremote) 12:12:06: S -> map_filename(C:/PROGRA~3/MARCHH~1/myrepo/junk,tst.doc) 12:12:06: S -> map_filename - call map_repository(C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc) 12:12:06: S -> map_repository(C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc) 12:12:06: S -> lookup_module2() 12:12:06: S -> lookup_module2(junk/tst.doc) after rename? 12:12:06: S -> lookup_module2() call _lookup_module2() 12:12:06: S -> _lookup_module2 - continue_if_no_mod2=1 (default) 12:12:06: S -> lookup_module2(junk/tst.doc,4) 12:12:06: S -> _lookup_module2 p!=NULL lookup_repository_module(junk) 12:12:06: S -> lookup_repository_module(junk) 12:12:06: S -> lookup_module2() calls to lookup_repository_module() returned nothing 12:12:06: S -> _lookup_module2 !mod return 0 left,right(,junk/tst.doc) 12:12:06: S -> lookup_module2() call _lookup_module2 returned 0 12:12:06: S -> lookup_module2() no recursion permitted so give up now 12:12:06: S -> lookup_module2() ret=0, current_directory!=NULL, current_directory->directory_mappings===NULL 14:12:06: -> tcp_read(1014) using WSAEventSelect 14:12:06: -> tcp_read(1014) immediate timeout previous thread count -1/0 12:12:06: S -> lookup_module2() return ret=0 renamed=0 12:12:06: S -> map_repository - return(repository) "C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc" 12:12:06: S -> map_filename - map_repository() returns C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc 12:12:06: S -> do_file_proc: mapped name of file "tst.doc" 12:12:06: S -> do_file_proc: frfile->frame->dosrcs && mapped_file_repository 12:12:06: S -> RCS_parse(tst.doc,C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v) 12:12:06: S -> normalize_path(C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v) 12:12:06: S -> ...returns C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v 12:12:06: S -> Lock server command sent: Lock Read Full|C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v 12:12:06: S -> Lock server command received: 000 OK Lock granted (1671) 12:12:06: S -> do_lock_server: [12:12:06] obtained lock 1671 in tst.doc,v 12:12:06: S -> do_lock_file: lock server returns 1671 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> rcsbuf_open(/myrepo/junk/tst.doc,v) -- obtained a new lock 12:12:06: S -> rcsbuf_fill(windows,BigMemory=0) 12:12:06: S -> rcsbuf_fill(0): expanded to 8192 (was: 0, req: 5120, inc: 5120, RCSBUF_BUFSIZE: 5120). 12:12:06: S -> do_file_proc: call findnode_fn() 12:12:06: S -> do_file_proc: got a result from findnode_fn() 12:12:06: S -> verify_access C:/PROGRA~3/MARCHH~1/myrepo/junk,,(null) 12:12:06: S -> verify_perm(C:/PROGRA~3/MARCHH~1/myrepo/junk,tst.doc,write,(null),(null)) 14:12:06: -> tcp_read(4635) using WSAEventSelect 14:12:06: -> tcp_read(4635) immediate timeout previous thread count -1/0 12:12:06: S -> verify_perm: verify_owner_dir() 12:12:06: S -> verify_owner(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo/junk",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() last_component=junk 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() free(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> cache_directory_permissions() return 12:12:06: S -> verify_valid_name(lusera) 12:12:06: S -> cache_directory_permissions(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo/junk",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() last_component=junk 12:12:06: S -> cache_directory_permissions() fncmp(d="C:/PROGRA~3/MARCHH~1/myrepo",current_parsed_root->directory="C:/PROGRA~3/MARCHH~1/myrepo") 12:12:06: S -> cache_directory_permissions() free(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> cache_directory_permissions() return 12:12:06: S -> verify_perm() Read directory permission cache OK 12:12:06: S -> ACL lookup on directory C:/PROGRA~3/MARCHH~1/myrepo/junk 12:12:06: S -> verify_acl(write,HEAD,(null)) 14:12:06: -> tcp_read(3132) using WSAEventSelect 14:12:06: -> tcp_read(3132) immediate timeout previous thread count -1/0 12:12:06: S -> user_state = 0, group_state = 0 12:12:06: S -> no match at this level 12:12:06: S -> ACL lookup on directory C:/PROGRA~3/MARCHH~1/myrepo 12:12:06: S -> verify_acl(write,HEAD,(null)) 12:12:06: S -> user_state = 0, group_state = 0 12:12:06: S -> no match at this level 12:12:06: S -> Match found. user_state = 0, group_state = 0 12:12:06: S -> verify_perm() return 12:12:06: S -> do_file_proc: verify_access() returned ok 12:12:06: S -> run verifymsg trigger 12:12:06: S -> run_trigger() 12:12:06: S -> Call pre-loaded 'email.dll' 12:12:06: S -> verifymsg_proc(junk,C:\test\cvsC8D5.tmp) 12:12:06: S -> Call pre-loaded 'email.dll' returned 0, total ret 0 12:12:06: S -> Call pre-loaded 'info.dll' 12:12:06: S -> verifymsg_proc(junk,C:\test\cvsC8D5.tmp) 12:12:06: S -> default_trigger: parse_info(CVSROOT/verifymsg,%l,,junk) 12:12:06: S -> CFileAccess::open('C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/verifymsg','rb') 12:12:06: S -> CFileAccess::open() setvbuf(_IONBF) 12:12:06: S -> CFileAccess::close() 12:12:06: S -> CFileAccess::close() 12:12:06: S -> Call pre-loaded 'info.dll' returned 0, total ret 0 12:12:06: S -> run_trigger returning 0 12:12:06: S -> unlink_file(C:\test\cvsC8D5.tmp) 12:12:06: S -> *RCS_head(HEAD) 12:12:06: S -> commit_fileproc(3a) merge1="". 12:12:06: S -> commit_fileproc(3a) merge2="". Checking in tst.doc; /myrepo/junk/tst.doc,v <-- tst.doc 12:12:06: S -> wnt_stat(tst.doc) 14:12:06: -> tcp_read(1659) using WSAEventSelect 14:12:06: -> tcp_read(1659) immediate timeout previous thread count -1/0 12:12:06: S -> _statcore(00000000,tst.doc) 12:12:06: S -> Trying GetFileAttributesEx.... 12:12:06: S -> File attributes = 00000020 12:12:06: S -> - read/write file 12:12:06: S -> GetUnixFileModeNtEA(t,00000288) returns 0600 12:12:06: S -> _statcore(tst.doc) returns S_IWRITE 12:12:06: S -> RCS_checkin got a real username 12:12:06: S -> RCS_checkin(1) calls RCS_checkout(RCSCHECKOUTPROC=NULL) 12:12:06: S -> RCS_checkout (/myrepo/junk/tst.doc,v, 1.10, b, C:\test\cvsC8D6.tmp) 12:12:06: S -> RCS_checkout() calls rcsbuf_setpos_to_delta_base() 12:12:06: S -> RCS_checkout() - We want the head revision. Try to read it directly. 12:12:06: S -> RCS_checkout() calls rcsbuf_valpolish() 12:12:06: S -> RCS_checkout() -- Handle zip expansion of head 12:12:06: S -> RCS_checkout options = "b" 12:12:06: S -> got rcs_mode = 0600 from rcs-permissions-tag 12:12:06: S -> RCS_checkout() rcsbuf_valfree 12:12:06: S -> RCS_checkout() rcsbuf_valfree() done 12:12:06: S -> RCS_checkout() free_rev 12:12:06: S -> RCS_checkout() Not a special file: write to WORKFILE or SOUT. 12:12:06: S -> checkout -> workfile != NULL || sout != RUN_TTY && !encode 12:12:06: S -> RCS_checkout() now if (free_value)... 12:12:06: S -> RCS_checkout() now xfree(zbuf); 12:12:06: S -> RCS_checkout() calls modify_mode() 12:12:06: S -> checkout -> "" (len=0) 12:12:06: S -> RCS_checkout -> return ok 12:12:06: S -> Insert delta at head (1.10,1.11) 14:12:06: -> tcp_read(194) using WSAEventSelect 14:12:06: -> tcp_read(194) immediate timeout previous thread count -1/0 12:12:06: S -> get_file(tst.doc,tst.doc,rb,6010001) 12:12:06: S -> wnt_stat(tst.doc) 12:12:06: S -> _statcore(00000000,tst.doc) 12:12:06: S -> Trying GetFileAttributesEx.... 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> File attributes = 00000020 12:12:06: S -> - read/write file 12:12:06: S -> GetUnixFileModeNtEA(t,00000288) returns 0600 12:12:06: S -> _statcore(tst.doc) returns S_IWRITE 12:12:06: S -> get_file -> boo fubar fubar sldkfjk sldkfjk sldkfjk kljlkasd kljdf kljdf lkjaksdlj 12:12:06: S -> RCS_checkin calls diff_exec(1) (tst.doc,C:\test\cvsC8D6.tmp,C:\test\cvsC8D7.tmp,-a -n --binary-input --binary-output) 12:12:06: S -> diff_exec(tst.doc,C:\test\cvsC8D6.tmp,(null),(null),-a -n --binary-input --binary-output,C:\test\cvsC8D7.tmp) 12:12:06: S -> call_diff(C:\test\cvsC8D7.tmp) 12:12:06: S -> diff_run() 12:12:06: S -> diff_run() calls compare_files 12:12:06: S -> compare_files(,,tst.doc,C:\test\cvsC8D6.tmp,0) 12:12:06: S -> wnt_stat(tst.doc) 12:12:06: S -> _statcore(00000000,tst.doc) 12:12:06: S -> Trying GetFileAttributesEx.... 12:12:06: S -> File attributes = 00000020 12:12:06: S -> - read/write file 12:12:06: S -> GetUnixFileModeNtEA(t,0000028C) returns 0600 12:12:06: S -> _statcore(tst.doc) returns S_IWRITE 12:12:06: S -> wnt_stat(C:\test\cvsC8D6.tmp) 12:12:06: S -> _statcore(00000000,C:\test\cvsC8D6.tmp) 12:12:06: S -> Trying GetFileAttributesEx.... 14:12:06: -> tcp_read(3854) using WSAEventSelect 14:12:06: -> tcp_read(3854) immediate timeout previous thread count -1/0 12:12:06: S -> File attributes = 00000020 14:12:06: -> tcp_read(3810) using WSAEventSelect 14:12:06: -> tcp_read(3810) immediate timeout previous thread count -1/0 12:12:06: S -> - read/write file 12:12:06: S -> GetUnixFileModeNtEA(C,0000028C) returns 0400 12:12:06: S -> _statcore(C:\test\cvsC8D6.tmp) returns S_IWRITE 12:12:06: S -> compare_files() Both exist and neither is a directory. 12:12:06: S -> compare_files() Compare the files, failed=0. 12:12:06: S -> diff_2_files() call read_files() 12:12:06: S -> read_files() call sip([0]'tst.doc') 12:12:06: S -> sip() 'tst.doc' would pick 8192 will pick 8192. 12:12:06: S -> read_files() 12:12:06: S -> read_files() call sip([1]'C:\test\cvsC8D6.tmp') 12:12:06: S -> sip() 'C:\test\cvsC8D6.tmp' would pick 8192 will pick 8192. 12:12:06: S -> read_files() call find_identical_ends() 12:12:06: S -> find_identical_ends() 0='tst.doc' 1='C:\test\cvsC8D6.tmp' 12:12:06: S -> slurp() all at once 'tst.doc' 12:12:06: S -> slurp() all at once 'C:\test\cvsC8D6.tmp' 12:12:06: S -> find_identical_ends() return 12:12:06: S -> read_files() find_identical_ends() returned 12:12:06: S -> read_files() return (0) 12:12:06: S -> diff_2_files() Allocate vectors for the results of comparison: 5 12:12:06: S -> diff_2_files() call discard_confusing_lines() 12:12:06: S -> diff_2_files() Now do the main comparison algorithm, considering just the 12:12:06: S -> diff_2_files() Set TOO_EXPENSIVE to be approximate square root of input size, 12:12:06: S -> diff_2_files() call compareseq() 12:12:06: S -> diff_2_files() call shift_boundaries() 14:12:06: -> tcp_read(2349) using WSAEventSelect 14:12:06: -> tcp_read(2349) immediate timeout previous thread count -1/0 12:12:06: S -> diff_2_files() Set CHANGES if we had any diffs. 12:12:06: S -> diff_2_files() if (no_details_flag) briefly_report 12:12:06: S -> diff_2_files() (!no_details_flag) 12:12:06: S -> diff_2_files() free stuff 12:12:06: S -> diff_2_files() return 1 12:12:06: S -> compare_files() diff_2_files=1. 12:12:06: S -> diff_run() call to compare_files() returns 1 12:12:06: S -> diff_run() returns 1 12:12:06: S -> call_diff(1) 12:12:06: S -> diff_exec() returns 1 from call_diff() 12:12:06: S -> RCS_checkin - diff_exec(1) returned 1 12:12:06: S -> RCS_checkin calls get_file (C:\test\cvsC8D7.tmp) 12:12:06: S -> get_file(C:\test\cvsC8D7.tmp,C:\test\cvsC8D7.tmp,rb,0001) 12:12:06: S -> wnt_stat(C:\test\cvsC8D7.tmp) 12:12:06: S -> _statcore(00000000,C:\test\cvsC8D7.tmp) 12:12:06: S -> Trying GetFileAttributesEx.... 12:12:06: S -> File attributes = 00000020 12:12:06: S -> - read/write file 12:12:06: S -> GetUnixFileModeNtEA(C,00000288) returns 0400 12:12:06: S -> _statcore(C:\test\cvsC8D7.tmp) returns S_IWRITE 12:12:06: S -> get_file -> d10 1 12:12:06: S -> RCS_checkin calls calc_add_remove (len=6) 12:12:06: S -> RCS_checkin added=0, removed=1 12:12:06: S -> run prercsdiff trigger 12:12:06: S -> run_trigger() 12:12:06: S -> Call pre-loaded 'email.dll' 12:12:06: S -> prercsdiff_proc(tst.doc,junk,C:\test\cvsC8D6.tmp,tst.doc) 12:12:06: S -> Call pre-loaded 'email.dll' returned 0, total ret 0 14:12:06: -> tcp_read(885) using WSAEventSelect 14:12:06: -> tcp_read(885) immediate timeout previous thread count -1/0 12:12:06: S -> Call pre-loaded 'info.dll' 12:12:06: S -> prercsdiff_proc(tst.doc,junk,C:\test\cvsC8D6.tmp,tst.doc) 12:12:06: S -> Call pre-loaded 'info.dll' returned 0, total ret 0 12:12:06: S -> run_trigger returning 0 new revision: 1.11; previous revision: 1.10 12:12:06: S -> RCS_rewrite(C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v,boo fubar fubar sldkfjk sldkfjk sldkfjk kljlkasd kljdf kljdf lkjaksdlj ,1.10,0) 12:12:06: S -> *rcs_internal_lockfile(C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v) -- Ask lockserver for an exclusive write lock 12:12:06: S -> normalize_path(C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v) 12:12:06: S -> ...returns C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v 12:12:06: S -> Lock server command sent: Lock Write Full|C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> Lock server command received: 000 OK Lock granted (1672) 12:12:06: S -> do_lock_server: [12:12:06] obtained lock 1672 in tst.doc,v 12:12:06: S -> do_lock_file: lock server returns 1672 12:12:06: S -> RCS_rewrite() calls rcsbuf_setpos_to_delta_base() 12:12:06: S -> RCS_rewrite() calls RCS_copydeltas() 12:12:06: S -> RCS_rewrite() newdtext=yes atomic_checkouts=0 12:12:06: S -> RCS_rewrite() calls rcsbuf_close() 12:12:06: S -> RCS_rewrite() calls rcs_internal_unlockfile() 12:12:06: S -> rename(C:/PROGRA~3/MARCHH~1/myrepo/junk/,tst.doc,,C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v) 14:12:06: -> tcp_read(4535) using WSAEventSelect 14:12:06: -> tcp_read(4535) immediate timeout previous thread count -1/0 12:12:06: S -> wnt_rename(C:/PROGRA~3/MARCHH~1/myrepo/junk/,tst.doc,,C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v) 12:12:06: S -> rename file /myrepo/junk/,tst.doc, to /myrepo/junk/tst.doc,v ... 12:12:06: S -> Lock server command sent: Unlock 1672 12:12:06: S -> Lock server command received: 000 OK Unlocked 12:12:06: S -> do_unlock_file: (lock 1672) lock server returns 0 12:12:06: S -> RCS_rewrite() calls free_rcsnode_contents() 12:12:06: S -> RCS_rewrite() calls RCS_reparsercsfile() 12:12:06: S -> rcsbuf_open(C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v) 12:12:06: S -> rcsbuf_open(/myrepo/junk/tst.doc,v) -- already has lock 12:12:06: S -> rcsbuf_fill(windows,BigMemory=0) 12:12:06: S -> rcsbuf_fill(0): expanded to 8192 (was: 0, req: 5120, inc: 5120, RCSBUF_BUFSIZE: 5120). 12:12:06: S -> RCS_rewrite() done. 12:12:06: S -> unlink_file(C:\test\cvsC8D6.tmp) 12:12:06: S -> unlink_file(C:\test\cvsC8D7.tmp) done 12:12:06: S -> The checkin succeeded. 12:12:06: S -> RCS_get_kflags called in Checkin 12:12:06: S -> RCS_cmp_file called in Checkin 12:12:06: S -> fileattr_find(file[@name=F'%s']/watched) 12:12:06: S -> fileattr_read(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> _fileattr_read() malloc [strlen(C:/PROGRA~3/MARCHH~1/myrepo/junk)=]32+[sizeof(CVS/fileattr.xml)=]4+20=56 12:12:06: S -> fileattr_read() xmalloc fname OK 12:12:06: S -> _fileattr_read() allocated memory for fname - will now sprintf() 14:12:06: -> tcp_read(3069) using WSAEventSelect 14:12:06: -> tcp_read(3069) immediate timeout previous thread count -1/0 12:12:06: S -> _fileattr_read() ReadXmlFile("C:/PROGRA~3/MARCHH~1/myrepo/junk/CVS/fileattr.xml") 12:12:06: S -> fileattr_read() ReadXmlFile() 12:12:06: S -> fileattr_read() close 12:12:06: S -> fileattr_read() xfree fname 12:12:06: S -> fileattr_read() OK 12:12:06: S -> fileattr_read() return 12:12:06: S -> xchmod(tst.doc,0) noexec=false 12:12:06: S -> xchmod() SetFileAttributes() done OK! 12:12:06: S -> Version_TS((null),(null),1) 12:12:06: S -> Version_TS -- findnode_fn() not force_case_match 12:12:06: S -> Version_TS -- findnode() found something that wasn't a subdir. 12:12:06: S -> Version_TS - call RCS_getversion("C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v",(null),(null),1,0) 12:12:06: S -> *RCS_head(HEAD) 12:12:06: S -> wnt_stat(tst.doc) 12:12:06: S -> _statcore(00000000,tst.doc) 12:12:06: S -> Trying GetFileAttributesEx.... 12:12:06: S -> File attributes = 00000021 12:12:06: S -> - FILE_ATTRIBUTE_READONLY 12:12:06: S -> GetUnixFileModeNtEA(t,0000028C) returns 0600 12:12:06: S -> _statcore(tst.doc) returns read-only 12:12:06: S -> history_write(M,(null),1.11,tst.doc,C:/PROGRA~3/MARCHH~1/myrepo/junk,,Commit as user B) 12:12:06: S -> history_write(workdir=EUROPA) 12:12:06: S -> run history trigger 12:12:06: S -> history_write() run history trigger(M,EUROPA,1.11,tst.doc,,Commit as user B,junk) 12:12:06: S -> run_trigger() 12:12:06: S -> Call pre-loaded 'email.dll' 12:12:06: S -> Call pre-loaded 'email.dll' returned 0, total ret 0 14:12:06: -> tcp_read(1557) using WSAEventSelect 14:12:06: -> tcp_read(1557) immediate timeout previous thread count -1/0 12:12:06: S -> Call pre-loaded 'info.dll' 12:12:06: S -> default_trigger: parse_info(CVSROOT/historyinfo,%t|%d|%u|%w|%s|%v,,) 12:12:06: S -> CFileAccess::open('C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/historyinfo','rb') 12:12:06: S -> CFileAccess::open() setvbuf(_IONBF) 12:12:06: S -> CFileAccess::close() 12:12:06: S -> CFileAccess::close() 12:12:06: S -> Call pre-loaded 'info.dll' returned 0, total ret 0 12:12:06: S -> run_trigger returning 0 12:12:06: S -> history_write() completed. 12:12:06: S -> CFileAccess::close() 12:12:06: S -> server_register(tst.doc, 1.11, Tue Aug 28 19:12:05 2012, bx, , , , , , , ) 12:12:06: S -> Register(tst.doc, 1.11, Tue Aug 28 19:12:05 2012, bx, , , , , ) 12:12:06: S -> Entnode_Create() 12:12:06: S -> Entnode_Create() finished 12:12:06: S -> AddEntryNode() 12:12:06: S -> AddEntryNode() was it already there? -- apparently yes 12:12:06: S -> AddEntryNode() take it out 12:12:06: S -> AddEntryNode() get a node and fill in the regular stuff 12:12:06: S -> AddEntryNode() this one gets a key of the name for hashing 12:12:06: S -> AddEntryNode() put the node into the list 12:12:06: S -> AddEntryNode() finished 12:12:06: S -> Register(): !noexec 12:12:06: S -> Register(): finished 12:12:06: S -> wnt_stat(tst.doc) 12:12:06: S -> _statcore(00000000,tst.doc) 12:12:06: S -> Trying GetFileAttributesEx.... 12:12:06: S -> File attributes = 00000021 12:12:06: S -> - FILE_ATTRIBUTE_READONLY 14:12:06: -> tcp_read(67) using WSAEventSelect 14:12:06: -> tcp_read(67) immediate timeout previous thread count -1/0 12:12:06: S -> GetUnixFileModeNtEA(t,00000284) returns 0600 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> _statcore(tst.doc) returns read-only 14:12:06: -> handle_checked_in(update_entries) 14:12:06: -> call_in_directory /myrepo/junk/tst.doc,./ 14:12:06: -> call_in_directory -- handle "." /myrepo/junk/tst.doc,./ 14:12:06: -> call_in_directory dir_name(.) created from pathname(./) no prune 14:12:06: -> call_in_directory compare last_dir_name((null)) dir_name(.) 14:12:06: -> call_in_directory dir_name!=last_dir_name, or no last_dir_name 14:12:06: -> call_in_directory chdir(toplevel_wd=C:\Users\Glen Starrett\Documents\test\w7x64\junk-B) 14:12:06: -> call_in_directory chdir(dir_name=.) 14:12:06: -> Entries_Open() 14:12:06: -> Entries_Open ParseTag() 14:12:06: -> ParseTag() 14:12:06: -> ParseTag_Dir((null),,,2,) 14:12:06: -> Entries_Open aflag==0 && dirtag==0 && dirdate==0 14:12:06: -> Entries_Open CVS_FOPEN("CVS/Entries","r") 14:12:06: -> Entries_Open CVS_FOPEN CVSADM_ENT returned a file handle, now call the (slow) fgetentent() / AddEntryNode 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Entries_Open fclose() CVSADM_ENT 14:12:06: -> Entries_Open CVS_FOPEN("CVS/Entries.Extra","r") 14:12:06: -> Entries_Open CVS_FOPEN CVSADM_ENTEXT returned a file handle 14:12:06: -> Entries_Open fclose() CVSADM_ENTEXT 14:12:06: -> Entries_Open CVS_FOPEN("CVS/Entries.Log","r") 14:12:06: -> Entries_Open clean up and return 14:12:06: -> Entries_Open done 14:12:06: -> freenode() free the badbad DIRS 14:12:06: -> call_in_directory - call the function with (./tst.doc,tst.doc) 14:12:06: -> update_entries(./tst.doc,tst.doc,insensitive=1,overwrite=0) 14:12:06: -> update_entries(UPDATE_ENTRIES_CHECKIN?) - if file was edit -A then will the ACL be removed? 14:12:06: -> *********************************************************** 14:12:06: -> Antivirus update/nokeywords entries in progress... 14:12:06: -> unlink_file(CVS/Base/_new_tst.doc) 14:12:06: -> unlink_file(tst.doc) 14:12:06: -> rename(CVS/Base/_new_tst.doc,tst.doc) 14:12:06: -> wnt_rename(CVS/Base/_new_tst.doc,tst.doc) 14:12:06: -> rename file CVS/Base/_new_tst.doc to tst.doc ... 14:12:06: -> unlink_file(CVS/Base/_new_tst.doc) 14:12:06: -> update_entries() change_mode(tst.doc,stored_mode=u=r,g=,o=) 14:12:06: -> change_mode (tst.doc,u=r,g=,o=,1) 14:12:06: -> wnt_chmod(tst.doc,0400) 14:12:06: -> SetUnixFileModeNtEA(t,0400) 14:12:06: -> wnt_stat(tst.doc) 14:12:06: -> _statcore(00000000,tst.doc) 14:12:06: -> Trying GetFileAttributesEx.... 14:12:06: -> File attributes = 00000021 14:12:06: -> - FILE_ATTRIBUTE_READONLY 14:12:06: -> GetUnixFileModeNtEA(t,000002F8) returns 0600 14:12:06: -> _statcore(tst.doc) returns read-only 14:12:06: -> wnt_stat(tst.doc) 14:12:06: -> _statcore(00000000,tst.doc) 14:12:06: -> Trying GetFileAttributesEx.... 14:12:06: -> File attributes = 00000021 14:12:06: -> - FILE_ATTRIBUTE_READONLY 14:12:06: -> GetUnixFileModeNtEA(t,000002F8) returns 0600 14:12:06: -> _statcore(tst.doc) returns read-only 14:12:06: -> update_entries() mark committed file up to date 14:12:06: -> mark_up_to_date() mark "tst.doc" up to date 14:12:06: -> unlink_file(CVS/Base/tst.doc) 14:12:06: -> unlink_file(CVS/Base/tst.doc.gz) 14:12:06: -> mark_up_to_date() done 14:12:06: -> try_copy_back_and_forth(tst.doc,antivirus=on=2) 14:12:06: -> Register(tst.doc, 1.11, Tue Aug 28 19:12:05 2012, bx, , , , , ) 14:12:06: -> Entnode_Create() 14:12:06: -> Entnode_Create() finished 14:12:06: -> AddEntryNode() 14:12:06: -> AddEntryNode() was it already there? -- apparently yes 14:12:06: -> AddEntryNode() take it out 14:12:06: -> AddEntryNode() get a node and fill in the regular stuff 14:12:06: -> AddEntryNode() this one gets a key of the name for hashing 14:12:06: -> AddEntryNode() put the node into the list 14:12:06: -> AddEntryNode() finished 14:12:06: -> Register(): !noexec 14:12:06: -> Register(): finished 14:12:06: -> update_entries() done. 14:12:06: -> handle_checked_in(update_entries) done 12:12:06: S -> notify_do (C, tst.doc, luserb, (null), (null), (null), (null), C:/PROGRA~3/MARCHH~1/myrepo/junk, (null), (null), (null), (null)) 12:12:06: S -> editor_set(C,tst.doc,luserb,(null),(null),(null)) 12:12:06: S -> fileattr_find(file[@name=F'%s']) 12:12:06: S -> fileattr_find(editor[@name=U'%s']) 12:12:06: S -> fileattr_delete_child() 12:12:06: S -> fileattr_find(editor[@name=U'%s']) 12:12:06: S -> history_write(u,(null),(null),tst.doc,C:/PROGRA~3/MARCHH~1/myrepo/junk,(null),(null)) 12:12:06: S -> history_write(workdir=EUROPA) 12:12:06: S -> run history trigger 12:12:06: S -> history_write() run history trigger(u,EUROPA,,tst.doc,(null),(null),junk) 12:12:06: S -> run_trigger() 12:12:06: S -> Call pre-loaded 'email.dll' 12:12:06: S -> Call pre-loaded 'email.dll' returned 0, total ret 0 12:12:06: S -> Call pre-loaded 'info.dll' 12:12:06: S -> default_trigger: parse_info(CVSROOT/historyinfo,%t|%d|%u|%w|%s|%v,,) 12:12:06: S -> Call pre-loaded 'info.dll' returned 0, total ret 0 12:12:06: S -> run_trigger returning 0 12:12:06: S -> history_write() completed. 12:12:06: S -> CFileAccess::close() 12:12:06: S -> fileattr_find(file[@name=F'%s']/watcher) 12:12:06: S -> fileattr_getvalue(@name) 14:12:06: -> tcp_read(3703) using WSAEventSelect 14:12:06: -> tcp_read(3703) immediate timeout previous thread count -1/0 12:12:06: S -> fileattr_find(commit) 12:12:06: S -> run notify trigger 1 12:12:06: S -> run_trigger() 12:12:06: S -> Call pre-loaded 'email.dll' 12:12:06: S -> email_trigger: parse_emailinfo(CVSROOT/notify_email,junk) 12:12:06: S -> CFileAccess::open('C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/notify_email','rb') 12:12:06: S -> CFileAccess::open() setvbuf(_IONBF) 12:12:06: S -> CFileAccess::close() 12:12:06: S -> CFileAccess::close() 12:12:06: S -> Regexp match: DEFAULT - junk 12:12:06: S -> Default found 12:12:06: S -> using default line 12:12:06: S -> Notify array modified, size=1, count=1 12:12:06: S -> Call pre-loaded 'email.dll' returned 0, total ret 0 12:12:06: S -> Call pre-loaded 'info.dll' 12:12:06: S -> default_trigger: parse_info(CVSROOT/notify,,%<< %p %f\n---\nTriggered %y watch on %r\nBy %u,junk) 12:12:06: S -> CFileAccess::open('C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/notify','rb') 12:12:06: S -> CFileAccess::open() setvbuf(_IONBF) 12:12:06: S -> CFileAccess::close() 12:12:06: S -> CFileAccess::close() 12:12:06: S -> Call pre-loaded 'info.dll' returned 0, total ret 0 12:12:06: S -> run_trigger returning 0 12:12:06: S -> fileattr_next() 12:12:06: S -> fileattr_getvalue(@name) 12:12:06: S -> fileattr_next() 12:12:06: S -> watch_modify_watchers(tst.doc,luserb) 12:12:06: S -> fileattr_find(file[@name=F'%s']/watcher[@name=U'%s']) 12:12:06: S -> fileattr_delete(temp_edit) 12:12:06: S -> fileattr_delete(temp_commit) 12:12:06: S -> fileattr_delete(temp_unedit) 12:12:06: S -> Lock server command sent: Unlock 1670 12:12:06: S -> Lock server command received: 000 OK Unlocked 12:12:06: S -> do_unlock_file: (lock 1670) lock server returns 0 12:12:06: S -> Call Classify_File from classify_file_internal / commit 12:12:06: S -> Classify_File (tst.doc) 12:12:06: S -> Version_TS((null),(null),1) 12:12:06: S -> Version_TS -- findnode_fn() not force_case_match 12:12:06: S -> Version_TS -- findnode() found something that wasn't a subdir. 12:12:06: S -> Version_TS - call RCS_getversion("C:/PROGRA~3/MARCHH~1/myrepo/junk/tst.doc,v",(null),(null),1,0) 12:12:06: S -> *RCS_head(HEAD) 12:12:06: S -> wnt_stat(tst.doc) 12:12:06: S -> _statcore(00000000,tst.doc) 12:12:06: S -> Trying GetFileAttributesEx.... 12:12:06: S -> File attributes = 00000021 12:12:06: S -> - FILE_ATTRIBUTE_READONLY 12:12:06: S -> GetUnixFileModeNtEA(t,00000280) returns 0600 12:12:06: S -> _statcore(tst.doc) returns read-only 12:12:06: S -> Classify_File vn_rcs=1.11 12:12:06: S -> Classify_File options=bx 12:12:06: S -> Classify_File A normal entry, TS_Rcs is valid 12:12:06: S -> Classify_File The RCS file is the same version as the user file 12:12:06: S -> Classify_File Check for expansion option changes 12:12:06: S -> Classify_File free up the vers struct, or just return it 12:12:06: S -> Classify_File return the status of the file 12:12:06: S -> Classify_File returned 9 12:12:06: S -> do_file_proc: finished fileproc() 12:12:06: S -> Lock server command sent: Unlock 1671 12:12:06: S -> Lock server command received: 000 OK Unlocked 12:12:06: S -> do_unlock_file: (lock 1671) lock server returns 0 12:12:06: S -> do_file_proc: return 12:12:06: S -> do_recursion: unlock it 12:12:06: S -> do_recursion: clean up by calling dellist(filelist) 12:12:06: S -> do_recursion: call-back files done proc (if any) 12:12:06: S -> do_recursion: yes: call-back files done proc (if any) 12:12:06: S -> run loginfo trigger 12:12:06: S -> run_trigger() 12:12:06: S -> Call pre-loaded 'email.dll' 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> email_trigger: parse_emailinfo(CVSROOT/commit_email,junk) 12:12:06: S -> CFileAccess::open('C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/commit_email','rb') 12:12:06: S -> CFileAccess::open() setvbuf(_IONBF) 12:12:06: S -> CFileAccess::close() 12:12:06: S -> CFileAccess::close() 12:12:06: S -> Regexp match: DEFAULT - junk 12:12:06: S -> Default found 12:12:06: S -> using default line 12:12:06: S -> Call pre-loaded 'email.dll' returned 0, total ret 0 12:12:06: S -> Call pre-loaded 'info.dll' 12:12:06: S -> default_trigger: parse_info(CVSROOT/loginfo,,%<< Update of %r/%p\nIn directory %H:%P\n\nModified Files:\n\ttst.doc \nLog Message:\n%m ,junk) 12:12:06: S -> CFileAccess::open('C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/loginfo','rb') 12:12:06: S -> CFileAccess::open() setvbuf(_IONBF) 14:12:06: -> tcp_read(4366) using WSAEventSelect 14:12:06: -> tcp_read(4366) immediate timeout previous thread count -1/0 12:12:06: S -> CFileAccess::close() 12:12:06: S -> CFileAccess::close() 12:12:06: S -> Call pre-loaded 'info.dll' returned 0, total ret 0 12:12:06: S -> run_trigger returning 0 12:12:06: S -> do_recursion: at skip_directory 12:12:06: S -> (repository && (server_active || !current_parsed_root->isremote)) 12:12:06: S -> fileattr_write() 12:12:06: S -> fileattr_write() file "/myrepo/junk/CVS/fileattr.bkp" written and closed 12:12:06: S -> fileattr_read(C:/PROGRA~3/MARCHH~1/myrepo/junk) 12:12:06: S -> _fileattr_read() malloc [strlen(C:/PROGRA~3/MARCHH~1/myrepo/junk)=]32+[sizeof(CVS/fileattr.bkp)=]4+20=56 12:12:06: S -> fileattr_read() xmalloc fname OK 12:12:06: S -> _fileattr_read() allocated memory for fname - will now sprintf() 12:12:06: S -> _fileattr_read() ReadXmlFile("C:/PROGRA~3/MARCHH~1/myrepo/junk/CVS/fileattr.bkp") 12:12:06: S -> fileattr_read() ReadXmlFile() 12:12:06: S -> fileattr_read() close 12:12:06: S -> fileattr_read() xfree fname 12:12:06: S -> fileattr_read() OK 12:12:06: S -> rename(C:/PROGRA~3/MARCHH~1/myrepo/junk/CVS/fileattr.bkp,C:/PROGRA~3/MARCHH~1/myrepo/junk/CVS/fileattr.xml) 12:12:06: S -> wnt_rename(C:/PROGRA~3/MARCHH~1/myrepo/junk/CVS/fileattr.bkp,C:/PROGRA~3/MARCHH~1/myrepo/junk/CVS/fileattr.xml) 12:12:06: S -> rename file /myrepo/junk/CVS/fileattr.bkp to /myrepo/junk/CVS/fileattr.xml ... 12:12:06: S -> fileattr_write() complete to "/myrepo/junk/CVS/fileattr.xml". 12:12:06: S -> fileattr_free() 14:12:06: -> tcp_read(2877) using WSAEventSelect 14:12:06: -> tcp_read(2877) immediate timeout previous thread count -1/0 12:12:06: S -> do_recursion: process the directories (if necessary) 12:12:06: S -> do_recursion: cannot process the directories (dirlist == NULL) 12:12:06: S -> Entries_Close - isfile ("CVS/Entries.Log") 12:12:06: S -> Entries_Close - write_entries (list) 12:12:06: S -> write_entries() CVSADM_ENTBAK entfilename="CVS/Entries.Log" 12:12:06: S -> write_entries() CVSADM_ENTBAK ok 12:12:06: S -> write_entries() CVSADM_ENTEXBAK ok 12:12:06: S -> write_entries() !sawdir 12:12:06: S -> write_entries() now, atomically (on systems that support it) rename it 12:12:06: S -> rename(CVS/Entries.Backup,CVS/Entries) 12:12:06: S -> wnt_rename(CVS/Entries.Backup,CVS/Entries) 12:12:06: S -> rename file CVS/Entries.Backup to CVS/Entries ... 12:12:06: S -> rename(CVS/Entries.Extra.Backup,CVS/Entries.Extra) 12:12:06: S -> wnt_rename(CVS/Entries.Extra.Backup,CVS/Entries.Extra) 12:12:06: S -> rename file CVS/Entries.Extra.Backup to CVS/Entries.Extra ... 12:12:06: S -> write_entries() now, remove the log file 12:12:06: S -> unlink_file(CVS/Entries.Log) 12:12:06: S -> unlink_file(CVS/Entries.Extra.Log) 12:12:06: S -> write_entries() done 12:12:06: S -> Entries_Close - dellist (list) 12:12:06: S -> do_recursion: free the saved copy of the pointer if necessary 12:12:06: S -> more efficient - close directory in unroll_files_proc? 12:12:06: S -> close_directory() 12:12:06: S -> close_directory() directory_stack_size decreased by one to 0 14:12:06: -> tcp_read(1391) using WSAEventSelect 14:12:06: -> tcp_read(1391) immediate timeout previous thread count -1/0 12:12:06: S -> unroll_files_proc() end 12:12:06: S -> walklist call with unroll_files_proc done. err=0 12:12:06: S -> freenode() free the badbad DIRS 12:12:06: S -> dellist after unroll_files_proc done. 12:12:06: S -> start_recursion: cannot do_recursion on the dirlist. 12:12:06: S -> start_recursion: Free the data which expand_wild allocated. 12:12:06: S -> start_recursion: Free the data - update_dir 12:12:06: S -> start_recursion: Free the data - update_repos 12:12:06: S -> start_recursion: (args_to_send_when_finished == NULL) 12:12:06: S -> start_recursion: return 0. 12:12:06: S -> Lock server command sent: Close 12:12:06: S -> Lock server command received: 000 OK 12:12:06: S -> open_module(C:/PROGRA~3/MARCHH~1/myrepo) 12:12:06: S -> Process warnings about client versions out of date... 12:12:06: S -> run postcommand proc server 12:12:06: S -> run_trigger() 12:12:06: S -> Call pre-loaded 'email.dll' 12:12:06: S -> postcommand_proc() 12:12:06: S -> commit server_active=yes 12:12:06: S -> CFileAccess::open('C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/commit_template1.txt','r') 12:12:06: S -> CFileAccess::open() setvbuf(_IONBF) 12:12:06: S -> email_trigger: map_username(luserb) 12:12:06: S -> CFileAccess::open('C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/users','r') 12:12:06: S -> CFileAccess::open() setvbuf(_IONBF) 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> CFileAccess::close() 12:12:06: S -> CFileAccess::close() 12:12:06: S -> email_trigger: map_username(luserb) 14:12:06: -> tcp_read(5002) using WSAEventSelect 14:12:06: -> tcp_read(5002) immediate timeout previous thread count -1/0 12:12:06: S -> email_trigger: map_username(luserb) 12:12:06: S -> CFileAccess::close() 12:12:06: S -> CFileAccess::close() 12:12:06: S -> Socket instantiated: no socket 12:12:06: S -> Socket create: 192.168.1.25:25 [120,120,1,1] 12:12:06: S -> Sort 1 sockets into ipv4 first then ipv6 second 12:12:06: S -> find the ipv4 addresses 12:12:06: S -> Found an ipv4 address at position 1 size=32 12:12:06: S -> find the non-ipv4 (ipv6) addresses 12:12:06: S -> Sorted 1 sockets into 1 new sockets (sorting 1/1 sockets). 12:12:06: S -> Socket IPv4 create: 192.168.1.25 : 25 12:12:06: S -> Socket connect: timeout 12000 12:12:06: S -> Socket connect: timeout 12000 has ipv4 0/-1 12:12:06: S -> Socket connect: IPv4 28 12:12:06: S -> Request socket 28 set to non-blocking mode 0 with ioctlsocket 12:12:06: S -> Socket connect fail: 2733 "A non-blocking socket operation could not be completed immediately. ", what to do? 12:12:06: S -> Socket connect: would block so use select() to wait 12000 (12sec, 0usec) 12:12:06: S -> Request socket 28 set to non-blocking mode 1 with ioctlsocket 12:12:06: S -> Socket connect: now connected after select 12:12:06: S -> Request socket 28 set to non-blocking mode 1 with ioctlsocket 12:12:06: S -> Socket connect: check addr, if OK then return true 12:12:06: S -> Socket connect: addr checks ok, so return true 12:12:06: S -> SMTP S: 220 stanley.sol.starretthome.net ESMTP Sendmail 8.14.1/8.14.1; Tue, 28 Aug 2012 14:12:04 -0500 14:12:06: -> tcp_read(3497) using WSAEventSelect 14:12:06: -> tcp_read(3497) immediate timeout previous thread count -1/0 12:12:06: S -> SMTP C: HELO w7x64 12:12:06: S -> SMTP S: 250 stanley.sol.starretthome.net Hello [192.168.1.138], pleased to meet you 12:12:06: S -> SMTP C: MAIL FROM: 12:12:06: S -> SMTP S: 250 2.1.0 ... Sender ok 12:12:06: S -> SMTP C: RCPT TO: 12:12:06: S -> SMTP S: 250 2.1.5 ... Recipient ok 12:12:06: S -> SMTP C: RCPT TO: 12:12:06: S -> SMTP S: 250 2.1.5 ... Recipient ok 12:12:06: S -> SMTP C: RCPT TO: 12:12:06: S -> SMTP S: 250 2.1.5 ... Recipient ok 12:12:06: S -> SMTP C: DATA 12:12:06: S -> SMTP S: 354 Enter mail, end with "." on a line by itself 12:12:06: S -> SMTP S: 250 2.0.0 q7SJC4wR032571 Message accepted for delivery 12:12:06: S -> SMTP C: QUIT 12:12:06: S -> SMTP S: 221 2.0.0 stanley.sol.starretthome.net closing connection 12:12:06: S -> Socket close 28 12:12:06: S -> email_trigger: map_username(glen@starretthome.net) 12:12:06: S -> CFileAccess::open('C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/notify_template.txt','r') 12:12:06: S -> CFileAccess::open() setvbuf(_IONBF) 12:12:06: S -> email_trigger: map_username(luserb) 12:12:06: S -> email_trigger: map_username(luserb) 12:12:06: S -> email_trigger: map_username(luserb) 12:12:06: S -> CFileAccess::close() 12:12:06: S -> CFileAccess::close() 14:12:06: -> tcp_read(2015) using WSAEventSelect 14:12:06: -> tcp_read(2015) immediate timeout previous thread count -1/0 12:12:06: S -> Socket instantiated: no socket 12:12:06: S -> Socket create: 192.168.1.25:25 [120,120,1,1] 12:12:06: S -> Sort 1 sockets into ipv4 first then ipv6 second 12:12:06: S -> find the ipv4 addresses 12:12:06: S -> Found an ipv4 address at position 1 size=32 12:12:06: S -> find the non-ipv4 (ipv6) addresses 12:12:06: S -> Sorted 1 sockets into 1 new sockets (sorting 1/1 sockets). 12:12:06: S -> Socket IPv4 create: 192.168.1.25 : 25 12:12:06: S -> Socket connect: timeout 12000 12:12:06: S -> Socket connect: timeout 12000 has ipv4 0/-1 12:12:06: S -> Socket connect: IPv4 640 12:12:06: S -> Request socket 640 set to non-blocking mode 0 with ioctlsocket 12:12:06: S -> Socket connect fail: 2733 "A non-blocking socket operation could not be completed immediately. ", what to do? 12:12:06: S -> Socket connect: would block so use select() to wait 12000 (12sec, 0usec) 12:12:06: S -> Request socket 640 set to non-blocking mode 1 with ioctlsocket 12:12:06: S -> Socket connect: now connected after select 12:12:06: S -> Request socket 640 set to non-blocking mode 1 with ioctlsocket 12:12:06: S -> Socket connect: check addr, if OK then return true 12:12:06: S -> Socket connect: addr checks ok, so return true 12:12:06: S -> SMTP S: 220 stanley.sol.starretthome.net ESMTP Sendmail 8.14.1/8.14.1; Tue, 28 Aug 2012 14:12:05 -0500 12:12:06: S -> SMTP C: HELO w7x64 12:12:06: S -> SMTP S: 250 stanley.sol.starretthome.net Hello [192.168.1.138], pleased to meet you 14:12:06: -> tcp_read(498) using WSAEventSelect 14:12:06: -> tcp_read(498) immediate timeout previous thread count -1/0 12:12:06: S -> SMTP C: MAIL FROM: 12:12:06: S -> SMTP S: 250 2.1.0 ... Sender ok 12:12:06: S -> SMTP C: RCPT TO: 12:12:06: S -> SMTP S: 250 2.1.5 ... Recipient ok 12:12:06: S -> SMTP C: RCPT TO: 12:12:06: S -> SMTP S: 250 2.1.5 ... Recipient ok 12:12:06: S -> SMTP C: RCPT TO: 14:12:06: -> tcp_read(5120) using WSAEventSelect 14:12:06: -> tcp_read(5120) immediate timeout previous thread count -1/0 12:12:06: S -> SMTP S: 250 2.1.5 ... Recipient ok 12:12:06: S -> SMTP C: DATA 12:12:06: S -> SMTP S: 354 Enter mail, end with "." on a line by itself 12:12:06: S -> SMTP S: 250 2.0.0 q7SJC5gX032574 Message accepted for delivery 12:12:06: S -> SMTP C: QUIT 12:12:06: S -> SMTP S: 221 2.0.0 stanley.sol.starretthome.net closing connection 12:12:06: S -> Socket close 640 12:12:06: S -> Call pre-loaded 'email.dll' returned 0, total ret 0 12:12:06: S -> Call pre-loaded 'info.dll' 12:12:06: S -> postcommand_proc() 12:12:06: S -> default_trigger: parse_info(CVSROOT/postcommit,%r/%p,,junk) 12:12:06: S -> CFileAccess::open('C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/postcommit','rb') 12:12:06: S -> default_trigger: no file 12:12:06: S -> CFileAccess::close() 12:12:06: S -> commit server_active=yes 12:12:06: S -> default_trigger: parse_info(CVSROOT/postcommand,%r/%p %c,,junk) 12:12:06: S -> CFileAccess::open('C:/PROGRA~3/MARCHH~1/myrepo/CVSROOT/postcommand','rb') 14:12:06: -> tcp_read(4116) using WSAEventSelect 14:12:06: -> tcp_read(4116) immediate timeout previous thread count -1/0 12:12:06: S -> CFileAccess::open() setvbuf(_IONBF) 12:12:06: S -> CFileAccess::close() 12:12:06: S -> CFileAccess::close() 12:12:06: S -> Call pre-loaded 'info.dll' returned 0, total ret 0 12:12:06: S -> run_trigger returning 0 12:12:06: S -> Unloading checkout.dll 12:12:06: S -> Unloading - about to destroy 12:12:06: S -> Unloading - destroyed 12:12:06: S -> Unloading - about to get lib 12:12:06: S -> Unloading - about to unload 12:12:06: S -> Unloading - unloaded 12:12:06: S -> Unloading - about to free 12:12:06: S -> Unloading - about to delete trigg 12:12:06: S -> Unloading - about to delete inf 12:12:06: S -> Unloading - complete 12:12:06: S -> Unloading email.dll 12:12:06: S -> Unloading - about to close 12:12:06: S -> Unloading - closed 12:12:06: S -> Unloading - about to destroy 12:12:06: S -> Unloading - destroyed 12:12:06: S -> Unloading - about to get lib 12:12:06: S -> Unloading - about to unload 12:12:06: S -> Unloading - unloaded 12:12:06: S -> Unloading - about to free 12:12:06: S -> Unloading - about to delete trigg 12:12:06: S -> Unloading - about to delete inf 12:12:06: S -> Unloading - complete 12:12:06: S -> Unloading info.dll 12:12:06: S -> Unloading - about to close 12:12:06: S -> Unloading - closed 12:12:06: S -> Unloading - about to destroy 12:12:06: S -> Unloading - destroyed 12:12:06: S -> Unloading - about to get lib 12:12:06: S -> Unloading - about to unload 14:12:06: -> tcp_read(2639) using WSAEventSelect 14:12:06: -> tcp_read(2639) immediate timeout previous thread count -1/0 12:12:06: S -> Unloading - unloaded 12:12:06: S -> Unloading - about to free 12:12:06: S -> Unloading - about to delete trigg 12:12:06: S -> Unloading - about to delete inf 12:12:06: S -> Unloading - complete 12:12:06: S -> Unloading make.dll 12:12:06: S -> Unloading - about to destroy 12:12:06: S -> Unloading - destroyed 12:12:06: S -> Unloading - about to get lib 12:12:06: S -> Unloading - about to unload 12:12:06: S -> Unloading - unloaded 12:12:06: S -> Unloading - about to free 12:12:06: S -> Unloading - about to delete trigg 12:12:06: S -> Unloading - about to delete inf 12:12:06: S -> Unloading - complete 12:12:06: S -> Unloading script.dll 12:12:06: S -> Unloading - about to destroy 12:12:06: S -> Unloading - destroyed 12:12:06: S -> Unloading - about to get lib 12:12:06: S -> Unloading - about to unload 12:12:06: S -> Unloading - unloaded 12:12:06: S -> Unloading - about to free 12:12:06: S -> Unloading - about to delete trigg 12:12:06: S -> Unloading - about to delete inf 12:12:06: S -> Unloading - complete 12:12:06: S -> Unloading sync.dll 12:12:06: S -> Unloading - about to destroy 12:12:06: S -> Unloading - destroyed 12:12:06: S -> Unloading - about to get lib 12:12:06: S -> Unloading - about to unload 12:12:06: S -> Unloading - unloaded 12:12:06: S -> Unloading - about to free 12:12:06: S -> Unloading - about to delete trigg 12:12:06: S -> Unloading - about to delete inf 14:12:06: -> tcp_read(1163) using WSAEventSelect 14:12:06: -> tcp_read(1163) immediate timeout previous thread count -1/0 12:12:06: S -> Unloading - complete 12:12:06: S -> Unloading - about to clear list 12:12:06: S -> Unloading - cleared list 14:12:06: -> Entries_Close - isfile ("CVS/Entries.Log") 14:12:06: -> Entries_Close - write_entries (list) 14:12:06: -> write_entries() CVSADM_ENTBAK entfilename="CVS/Entries.Log" 14:12:06: -> write_entries() CVSADM_ENTBAK ok 14:12:06: -> write_entries() CVSADM_ENTEXBAK ok 14:12:06: -> write_entries() now, atomically (on systems that support it) rename it 14:12:06: -> rename(CVS/Entries.Backup,CVS/Entries) 14:12:06: -> wnt_rename(CVS/Entries.Backup,CVS/Entries) 14:12:06: -> rename file CVS/Entries.Backup to CVS/Entries ... 14:12:06: -> rename(CVS/Entries.Extra.Backup,CVS/Entries.Extra) 14:12:06: -> wnt_rename(CVS/Entries.Extra.Backup,CVS/Entries.Extra) 14:12:06: -> rename file CVS/Entries.Extra.Backup to CVS/Entries.Extra ... 14:12:06: -> write_entries() now, remove the log file 14:12:06: -> unlink_file(CVS/Entries.Log) 14:12:06: -> unlink_file(CVS/Entries.Extra.Log) 14:12:06: -> write_entries() done 14:12:06: -> Entries_Close - dellist (list) 14:12:07: -> Server: return from the requested function 14:12:07: -> Unloading - about to clear list 14:12:07: -> Unloading - cleared list 14:12:07: -> Unloading sspi 14:12:07: -> Process 7792 exiting 14:12:07: -> free_directory() 14:12:07: -> free_modules2() directory_stack_size and rubbish set to zero 14:12:07: -> Free CVS_Username and cvs_locale 14:12:07: -> Perform SYSTEM_CLEANUP () 14:12:07: -> Free global_session_time and global_real_session_time 14:12:07: -> CCvsgui::Close 14:12:07: -> main return OK 14:12:07: -> Set the terminate semaphore 14:12:07: -> Free trace_file