ActiveCVS implements the Microsoft Common Source Code Control API (know variously as the SCC API or MSSCCI). For those brave souls willing to try out an early version you can download the following. Note that this version only reports status - the checkin/checkout operations are not functional.
A few years back I reached this same point, but the code was very unreliable. Combine a bit of an impasse with a distinct lack of free time - and I had to put this aside for a while. With a recent bit of inspiration (about SCC API calls to ignore of all things!) - and the code now seems to be completely reliable. Time to move forward.
This is the long delayed follow-on to the old CVSCC work.
The current distributed is a "debug" build and as such generates relatively detailed logs. ActiveCVS always creates a log file in the %TEMP% directory of the form:
{module}-{time}{pid}.LOGWhere {module} is the name of the current invoking executable, {time} is the current time() value (in hex), and {pid} is the current process id (in hex).
For example:
C:\DOCUME~1\PRESTO~1.ATH\LOCALS~1\Temp>dir ActiveCVS*.log
Volume in drive C has no label.
Volume Serial Number is AC08-10D1
Directory of C:\DOCUME~1\PRESTO~1.ATH\LOCALS~1\Temp
06/10/2004 02:13a 40,054 ActiveCVS-40C8262600000914.LOG
06/10/2004 02:15a 324 ActiveCVS-40C826B0000009A8.LOG
06/10/2004 02:22a 134,167 ActiveCVS-40C826B3000007C0.LOG
06/10/2004 02:27a 55,641 ActiveCVS-40C8288300000724.LOG
06/10/2004 09:22a 39,098 ActiveCVS-40C886E7000009DC.LOG
06/10/2004 10:49a 32,508 ActiveCVS-40C89A4F0000085C.LOG
06/10/2004 10:55a 23,308 ActiveCVS-40C8A07000000958.LOG
06/10/2004 03:05p 9,637 ActiveCVS-40C8D39E00000A24.LOG
06/10/2004 06:27p 324 ActiveCVS-40C90A7D00000320.LOG
06/10/2004 06:28p 25,241 ActiveCVS-40C90A8B000009A0.LOG
06/10/2004 06:28p 324 ActiveCVS-40C90ACE000007F4.LOG
06/10/2004 06:30p 324 ActiveCVS-40C90B280000042C.LOG
06/10/2004 06:30p 324 ActiveCVS-40C90B30000006F4.LOG
06/10/2004 06:31p 324 ActiveCVS-40C90B7F0000083C.LOG
06/10/2004 06:31p 324 ActiveCVS-40C90B8800000324.LOG
06/10/2004 07:32p 324 ActiveCVS-40C919B700000C04.LOG
06/10/2004 07:32p 326 ActiveCVS-40C919BC00000848.LOG
06/10/2004 07:35p 324 ActiveCVS-40C91A72000007C0.LOG
06/10/2004 07:35p 326 ActiveCVS-40C91A7600000904.LOG
06/10/2004 07:41p 324 ActiveCVS-40C91BE600000A9C.LOG
06/10/2004 07:41p 326 ActiveCVS-40C91BE900000734.LOG
06/10/2004 07:42p 326 ActiveCVS-40C91C3000000B0C.LOG
06/10/2004 07:57p 57 ActiveCVS-40C91F8600000724.LOG
06/10/2004 07:59p 324 ActiveCVS-40C92006000009DC.LOG
06/10/2004 07:59p 326 ActiveCVS-40C9200B00000138.LOG
06/10/2004 07:59p 324 ActiveCVS-40C9202800000AB8.LOG
06/10/2004 07:59p 326 ActiveCVS-40C9202B000006FC.LOG
06/10/2004 08:00p 326 ActiveCVS-40C9203F00000128.LOG
06/10/2004 08:00p 57 ActiveCVS-40C9206600000A3C.LOG
06/10/2004 08:05p 324 ActiveCVS-40C9219600000998.LOG
06/10/2004 08:06p 324 ActiveCVS-40C921D200000128.LOG
06/10/2004 08:07p 326 ActiveCVS-40C921D50000090C.LOG
06/10/2004 08:07p 326 ActiveCVS-40C921F200000534.LOG
06/10/2004 08:10p 57 ActiveCVS-40C922B800000BE4.LOG
06/10/2004 08:28p 326 ActiveCVS-40C926EB00000BF0.LOG
35 File(s) 367,621 bytes
0 Dir(s) 90,164,338,688 bytes free
As the timestamp is appended first, log files will naturally sort into the order in which they are created. Note that the contents of the log files, while generally readable, are really meant for use by the developer. I will not be describing how to decipher the contents :).
As you can see, I have been testing...