SvnWrapper

From Pickwiki
Jump to navigationJump to search

HomePage>>SourceCode>>BasicSource

Wrapper for Linux 'svn' command for UniVerse and related programs/subroutines

This TCL Command line utility allows commands like:

SVN COMMIT DSI.BP AR.FREEZE AR.UNFREEZE
SVN COMMIT DSI.BP -L DSI.BP.FLIST"

See SVN -H for more info.

Note that this also supports a custom 'Release file' format, the syntax is basically:

* <comment>
** <special comment used for svn commit commands>
SVN: <last commit #: auto-filled by SVN command>
RECOMPILE: <list of program files to recompile '*'; for example for global common changes>

<filename>/<itemname>
<filename>/<itemname>
...

If files with this format are in '/home/release/<release#>/flist', the following commands are also enabled:

SVN COMMIT -R 570  : Commit EVERY program in Release 570 using the '**' line for the Comment

SVN COMPILE -R 570  : Compile EVERY program in Release 570: NOT REALLY SVN but it's handy!

SVN LISTS -R 570  : Save Select Lists for program files: NOT REALLY SVN but it's handy!


Included here are lots of supporting subroutines that we use extensively in many of our programs; here's a summary in case they're otherwise useful; but basically if they are all compiled and cataloged they 'should' work correctly (or could just be commented out in some cases; noted below).

STD.SETUP : Should always be run in LOGIN to setup some Global Common (RMS.COMMON). This is somewhat legacy and hasn't been cleaned up in awhile and does have some obsolete code; 'but it works'.
PARSE.CMDLINE: Handy utility to put command-line parameters; parameter count, etc; into Named Global Common.
CMDLINE.TEST: Test routine for PARSE.CMDLINE: handy for seeing the value of variables and cut/pasting into your calling routines.
GET.REALUSER: The user doing the 'svn' command is important; so this gets the 'real user' even when 'sudo'ed; it could be commented out if you don't do that.
ENV.COMMON: For 'GET.REALUSER' and other obscure issues; could be commented out and removed.
DEBUG.MSG: System for handling 'Debug' messages; see source for more info; or just comment out all 'DEBUG.MSG' calls.
OPEN.FILE: Replace with standard 'OPEN' statements if you don't want the caching, tracing, etc that this provides.


Source code with all related EQU's and subroutines

  • SVN - Core SVN program source code
  • EQU.CMDLINE - Equate for PARSE.CMDLINE
  • PARSE.CMDLINE - Parses a UniVerse command line into 'CMDLINE()' equates
  • GET.REALUSER - Utility to get the actual user even when 'sudo'ed in
  • OPEN.FILE - Utility to open a file or return cached file handle if already open
  • LOAD.ENV.COMMON - Utility to load standard environment variables
  • ENV.COMMON - Equates used by LOAD.ENV.COMMON
  • RMS.COMMON - Commons used by all Resource Management Systems programs
  • STD.SETUP - Must be run on LOGIN to setup misc Named Global Commons for all programs
  • DEBUG.MSG - Builds a list of Debug information for later display/email/etc.
  • DEBUG.COMMON - Named Global Common for DEBUG.MSG