Google
 

Trailing-Edge - PDP-10 Archives - BB-M836B-BM - tools/alu/aludoc.mem
There are 6 other files named aludoc.mem in the archive. Click here to see a list.


+---------------+
! d i g i t a l !   I N T E R O F F I C E  M E M O R A N D U M
+---------------+


                                        DATE:   9 July 1981
TO:     TOPS20 LIST
                                        FROM:   Dan Murphy
                                        DEPT:   LCG S.E.
                                        EXT:    6356
                                        LOC:    MR1-2/E37
                                        DOC #:  DLM-79-002-00-U
                                        FILE:   SNARK:<MURPHY.ALU>ALUDOC

SUBJ:   SOURCE CONTROL

              - - - - - - - - - - - - - - - -

ALU is now formally installed as the interlock mechanism for
monitor  sources.  It serves to prevent simultaneous editing
of files by two or more people.  In  addition,  it  provides
information  on  who  has  reserved a file at any particular
time, and keeps a log of new versions.

ALU does not limit access to the source directories  in  any
way.  Any user is allowed to reserve files.

To use ALU, the first thing you must do  is  to  'take'  the
file  SNARK:<MURPHY.ALU>ALUDEF.CMD  or  incorporate  it into
your LOGIN.CMD file.   It  defines  logical  names  for  the
active  monitor,  exec,  and utilities directories.  Yes, we
all  have  to  use  the  same  logical   names   for   these
directories.

The basic cycle is:

        1.  Reserve (interlock) the file, getting a  private
        copy.

        2.  Edit  the  private  copy;   ensure  that  it  is
        reasonably correct.

        3.  Release  the  file  (automatically  copying  the
        edited   private   copy   back   onto   the  regular
        directory).

1.  To reserve the file, run ALU:ALU and use the GET or QGET
command.  E.g.,
        ALU>GET (file) M50:TTYSRV

ALU then asks you
        (Till when?)

Your answer to this is strictly information for anyone  else
who  may  try  to  get  the  file  while  you have it.  Your
                                                      Page 2


reservation does not automatically expire at  the  time  you
say or at any other time.  If you use the QGET command, this
question is not asked and the answer is defaulted to "SOON".
By  default,  GET  and QGET do not copy the source into your
connected directory.  If you want a  copy  immediately,  use
the  /COPY  switch  after the filename.  Otherwise, you will
get the file from the library directory when you edit it the
first  time.   Note  that  you  cannot  be  connected to the
library directory - ALU will detect this and complain.

2.  You then  edit  your  private  copy.   As  with  current
practice,  you should add a comment at the very beginning of
the file to say what you did.  You need not add an edit line
however;   ALU  will do that when it puts the file back into
the library directory.

3.  When you are ready to have your file put back  into  the
library, run ALU and use the REPLACE command.  E.g.,
        ALU>REPLACE (file) M50:TTYSRV

If you did NOT put a comment at the beginning of  the  file,
ALU will ask:
        (Why?) <comment>

In either case, the comment will go into the  ALU  log  file
along  with  other  information  about the transaction.  ALU
will then run REDIT, comparing your source with  the  source
on  the library.  The changes files goes into a subdirectory
of the library called <library.ALU>.   ALU  will  copy  your
private  version  back  into the library directory and put a
new edit/update line at the beginning of the file.   Nothing
is  removed  or  replaced from the file.  The private source
will then be deleted from your connected directory.

A log file of new sources put on the  library  directory  is
maintained as <library.ALU>FILUPD.HST.

There are other commands in ALU which you can discover  with
"?",  including  one  to  CANCEL  your  reservation (without
putting anything back on the library) if you decide to  give
up.   Of  course, a GET will tell you if someone already has
reserved the file, and a REPLACE will not put  a  file  back
unless  you  had the reservation.  There are also STATUS and
INFORMATION commands which will  tell  you  what  files  are
currently reserved.

ALU uses various little bookkeeping files;  they are kept in
a    subdirectory    of    the   library   directory   (e.g.
<4.1.MONITOR.ALU>) so as to be out of the way.

MISCELLANEOUS

ALU has project-specific information built into it, so  each
project has its own version.  Therefore, the ALU.EXE on SYS:
simply runs ALU:ALU.EXE,  assuming  that  ALU:   is  defined
                                                      Page 3


appropriately for each project.

ALU looks for a rescan line, so you can  say  to  the  EXEC,
e.g.,

@ALU QGET M50:TTYSRV

or

@ALU REPLACE M50:TTYSRV

Let me know of any bugs, problems, or suggestions.

- Dan Murphy