Nick.
We currenlty use CVS (we used RCS before a server migration) and this allows us to keep track of all the code and more usefully, we can display the revisions on the code that we use and check that it is the correct revision.
Note that we perform almost all of our translations in TCL
eg
11:22:40 TEST :INFO : RCS Info $Id: ccm_xlate_ult.tcl,v 1.10 2005/05/12 05:56:37 he62180 Exp $
11:22:40 TEST :INFO : RCS Info $Id: gen_library.tcl,v 1.29 2005/01/10 06:46:44 he00387 Exp $
11:22:40 TEST :INFO : RcsVerChk min = 1.28
11:22:40 TEST :INFO : RcsVerChk chk = 1.29
11:22:41 TEST :INFO : RCS Info $Id: ccm_library.tcl,v 1.6 2005/05/05 02:04:00 he00387 Exp $
11:22:41 TEST :INFO : RcsVerChk min = 1.6
11:22:41 TEST :INFO : RcsVerChk chk = 1.6
11:22:41 TEST :INFO : MODE = start; CONTEXT = sms_ib_data; APPL = ult; LEVEL = test; SITE = nt; DATA = ult; FLOW = in
11:22:41 TEST :INFO : Load the Configuration file
11:22:41 TEST :INFO : RCS Info $Id: ccm_tables_ult.tcl,v 1.2 2005/01/07 01:45:32 he00387 Exp $
11:22:41 TEST :INFO : RcsVerChk min = 1.1
11:22:41 TEST :INFO : RcsVerChk chk = 1.2
11:22:41 TEST :INFO : RCS Info $Id: ccm_tables_ult_NT.tcl,v 1.1 2004/12/24 03:55:13 he00197 Exp $
11:22:41 TEST :INFO : RcsVerChk min = 1.1
11:22:41 TEST :INFO : RcsVerChk chk = 1.1
11:22:41 TEST :INFO : RCS Info $Id: ccm_tables_bucket.tcl,v 1.2 2005/04/22 05:33:52 he00387 Exp $
11:22:41 TEST :INFO : RcsVerChk min = 1.1
11:22:41 TEST :INFO : RcsVerChk chk = 1.2