[cvsnt] CVS Server Side Reporting Tools?

Arthur Barrett arthur.barrett at march-hare.com
Sun Nov 9 23:28:44 GMT 2008

Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


> I looked in the structure of my CVSNT Audit database (MSSQL) and these
> columns are actually integer *numbers*:
> Sessionlog.ID
> *.ID, *.SessionID

All the ID columns are automatic/sequence's that generate the primary
key for the table.  The *.SessionID columns all are foreign keys to the
primary key of SessionLog.  The SessionID itself is only stored once in
the SessionLog table.

> >
> >evs switched to guids for the session id.
> Then needs a different Audit database structure.

Yes - but it's out of scope for this discussion anyway.

> > Another question:
> > Is the commitid the same as the value stored into the Audit 
> > database sessionlog.sessionid column???
> Yes.

Well - for commits yes - but every row (and every server session) has a
session id, but only on commits are they commit id's too...

The code to make the sessionid is in cvsnt/src/main.cpp:

static void make_session_id()

For the purposes of migration if you used process id zero then you'd
always get a unique session id.

Just looking at that code it's actually a little dangerous since the
size of the getpid() is not (technically) limited in any way and yet the
maximum size of a session id is 64 characters.

Finally - CVSNT audit trigger was introduced after the commit id was
already available in CVSNT, so if any 'commit' does not have a commit id
then you can be sure that it is not already in the audit database.



More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook