home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / PROG / UTILITY / SMUT100.ZIP / SMUT.DOC next >
Encoding:
Text File  |  1991-03-14  |  33.5 KB  |  1,074 lines

  1.                       SOFTWARE MANAGEMENT UTILITY (SMUT)
  2.                               USER GUIDE (v1.00)
  3.  
  4.  
  5.  
  6. 1. Introduction
  7.  
  8. SMUT is a library system to aid software development and maintenance. SMUT 
  9. stores files in a library, keeps track of changes made to those files, and 
  10. records user access to the files.
  11.  
  12. During development team members continually make changes to project files. 
  13. SMUT stores, keeps track of, and monitors these files (called elements). SMUT 
  14. also lets you manipulate collections of files (called groups or classes).
  15.  
  16. SMUT stores project files in a central library where they are available to all 
  17. team members. Some of the functions that can be performed are as follows:
  18.  
  19.    1) Store elements in a library;
  20.  
  21.    2) Retrieve elements from the library for local modification and test;
  22.  
  23.    3) Prevent concurrent modification of the same element;
  24.  
  25.    4) Create successive versions (called generations) of an element;
  26.  
  27.    5) Compare an element with other elements and external files to establish
  28.       the differences;
  29.  
  30.    6) Organise related library elements into groups;
  31.  
  32.    7) Define a set of various generations to be a baseline or release
  33.       version of a project;
  34.  
  35.    8) Track which users are working on which generations;
  36.  
  37.    9) Maintain a historical account of library transactions.
  38.  
  39.  
  40.  
  41. 2. Libraries
  42.  
  43. A SMUT library is stored in a DOS subdirectory which is dedicated to that 
  44. library. The subdirectory contains the database, history file and all the 
  45. elements. When SMUT is first invoked the current SMUT library is unset and 
  46. will need to be selected by the SET LIBRARY command. Once set the library 
  47. directory is stored in memory such that even if SMUT is exited and 
  48. subsequently rerun it will still be valid.
  49.  
  50.  
  51.  
  52. 3. Elements
  53.  
  54. Each new file which is put into the library becomes an element. An element 
  55. will contain all versions (generations) of that file. Subsequent generations 
  56. of a file are stored as changes from the previous generation, in this way many 
  57. generations of a single element can be stored in a single DOS file using a 
  58. relatively small amount of disk space.
  59.  
  60. Any format DOS file can be handled by SMUT. The only command which is 
  61. dependant on file format is the DIFFERENCE command which will give an error if 
  62. a non text file is specified.
  63.  
  64. When a file is first put into a library (using the CREATE ELEMENT command) it 
  65. is registered as generation 1. Subsequent generations are registered as 
  66. generation 2, 3, etc.
  67.  
  68. A generation is reserved (using the RESERVE command) when it is taken out of 
  69. the library to be worked on. Once a generation is reserved it cannot be 
  70. reserved again until the previous reservation is cancelled. A reservation is 
  71. cancelled when an updated generation is put into the library thereby creating 
  72. a descendant of the reserved generation (using the REPLACE command) or the 
  73. reservation is cancelled (using the UNRESERVE command).
  74.  
  75. SMUT allows multiple development paths for a single element. This is done by 
  76. creating a variant, that is a new and parallel development path. When a 
  77. generation is replaced normally the generation number will be incremented; if 
  78. however a variant ident (a single letter) is specified in the REPLACE command 
  79. (using the V flag) then a variant will be created. For example, generation 5 
  80. would have generation 6 as its direct descendant in its main line of decent 
  81. but could also have generation 5X1 as its descendant in a variant line of 
  82. decent identified by the letter X. Generation 5 can have in addition to its 
  83. main descendant (generation 6) up to 26 variants.
  84.  
  85. Once a variant has been created then that will have a main line of decent 
  86. characterised by incrementing generation numbers (e.g. 5X1, 5X2, 5X3, etc.).
  87.  
  88. The process of forming a variant line of decent can be applied recursively to 
  89. any level. For example generation 5X9 would have a descendant on its main line 
  90. of decent of 5X10, however a variant generation 5X9A1 could be established. 
  91.  
  92.  
  93.  
  94. 4. Groups and Classes
  95.  
  96. SMUT allows certain entities to be collected together and manipulated as a 
  97. whole.
  98.  
  99. Elements can be collected into groups.
  100.  
  101. A collection of generations which form a baseline or release version and can 
  102. be collected into a class.
  103.  
  104.  
  105.  
  106. 5. Users
  107.  
  108. Each library maintains a list of users that are allowed access. Each user has 
  109. a password associated with it to protect unauthorised access and a priority to 
  110. limit the types of operations which can be performed by some users.
  111.  
  112. The current user is initially unset and is set either by the SET USER or SET 
  113. LIBRARY commands which will require correct entry of that users password. The 
  114. current user remains set until it is changed to another user (using the SET 
  115. USER command) or becomes unset by either the UNSET USER command or by 
  116. selecting a new library.
  117.  
  118. The current user and user priority are stored with the current library in 
  119. memory and will hence remain set with subsequent calls to SMUT. However to 
  120. protect against unauthorised access by people subsequently using the library, 
  121. the user is unset automatically 10 minutes after the last command has been 
  122. entered.
  123.  
  124. Priorities are in the range 0 (lowest) to 3. Priority 0 is the priority 
  125. allocated before a user has been set. Users are allocated priorities of 1 to 
  126. 3. Increasing priority gives an increasing number of available commands. The 
  127. priority level at which each command becomes available is given with that 
  128. commands description in appendix A. The use of each priority is as follows:
  129.            Priority 0:     Examine library status
  130.            Priority 1:     Extract data
  131.            Priority 2:     Insert data and create library entities
  132.            Priority 3:     System manager functions
  133.  
  134. Once set the user name fulfils two roles. Firstly it is stored in the history 
  135. file against each command issued by that user. Secondly it is recorded in the 
  136. database against each reservation made by that user. At priority 2 only the 
  137. user that reserved a generation may replace or unreserve it. However a user at 
  138. priority 3 (system manager level) is not subject to this restriction.
  139.  
  140.  
  141.  
  142. 6. History
  143.  
  144. SMUT maintains a history file which records all transactions which either 
  145. insert data into the library, retrieve data from the library, or modify the 
  146. library. Each transaction is stored together with the date, time and the user 
  147. that performed it.
  148.  
  149. The date and time of a transaction is taken from DOS. Each time the library is 
  150. opened (before most commands) the DOS date and time are checked against the 
  151. date and time of the last entry in the history file. If the DOS date and time 
  152. is earlier than the date and time of the last transaction then the operator is 
  153. asked to confirm whether the present DOS date and time is correct. If the DOS 
  154. date and time is incorrect then the operator is prompted for a new date and 
  155. time. Once the operator confirms that the date and time is set correctly then 
  156. all entries in the history files which are marked as having been recorded 
  157. after that time are marked as "undated" as the date and time must have been 
  158. incorrect at the time the transaction was recorded.
  159.  
  160.  
  161.  
  162. 7. Remarks
  163.  
  164. Many commands allow optional remarks to the specified. The purpose of these is 
  165. twofold. Firstly they are stored in the history file to give an explanation of 
  166. the purpose of the transaction. Secondly when appended to a command which 
  167. creates a database entity they are stored with that entity to give some 
  168. explanation of what that entity is or is used for.
  169.  
  170.  
  171.  
  172. 8. Working directory
  173.  
  174. SMUT maintains the DOS current working directory and allows it to be changed 
  175. and its contents to be examined (SET DIRECTORY and SHOW DIRECTORY commands) 
  176. without the need to return to DOS.
  177.  
  178.  
  179.  
  180. 9. Files
  181.  
  182. When a library is created the result will be a directory containing two files: 
  183. the database and history file (SMUT.SMU and HIST.SMU respectively). 
  184. Subsequently an additional file with an extension of .SMU will be created for 
  185. each element created in the library. It is recommended that no other files are 
  186. stored in this directory.
  187.  
  188. The SMUT library has no knowledge of the directory in which it is located. 
  189. Consequently providing all the files were copied to another directory they 
  190. would function perfectly satisfactorily there. This also allows a backup or 
  191. archive copy of a library to be made by simply copying the files to the backup 
  192. media.
  193.  
  194.  
  195.  
  196. 10. Command input
  197.  
  198. There are two modes of command input. Firstly commands can be input directly 
  199. at the DOS level by appending them to the SMUT command thus:
  200.  
  201.     SMUT SHOW DIRECTORY
  202.  
  203. The command is executed and the system returns to the DOS prompt.
  204.  
  205. Secondly by entering only SMUT on the DOS command line the SMUT prompt will be 
  206. displayed and many commands can be entered until SMUT is exited with the QUIT 
  207. command.
  208.  
  209. Each command has a number of fields separated by one or more spaces. Commands 
  210. are of the general form:
  211.  
  212.     <command> <parameters> <flags>
  213.  
  214. Where:
  215.     <command>     is a one or two word command. For each word only sufficient 
  216.                   letters to make the command unambiguous need be typed (e.g. 
  217.                   REPLACE could be input as REP but not RE which would be 
  218.                   confused with REMARK, REMOVE and RESERVE).
  219.     <parameters>  the number and type of parameters are dependant on the 
  220.                   command. Parameters are order dependant and can specify such 
  221.                   things as names of entities, directory names, remarks, etc. 
  222.                   The restrictions on naming are given below.
  223.     <flags>       flags convey optional information and are order independent. 
  224.                   A flag is introduced by the string '-n' where 'n' is a 
  225.                   single alphabetic character which identifies the flag. Some 
  226.                   flags require additional information such as files name, 
  227.                   etc.
  228.  
  229. Naming restrictions are as follows:
  230.        1.   Element, Group and Class names are limited to 20 characters. Any 
  231.             character which is valid in a DOS file name can be used.
  232.        2.   User names and passwords are limited to 20 alpha/numeric 
  233.             characters.
  234.        3.   Remarks are limited to 60 characters. Because the space character 
  235.             is used to delimit fields in the command line, if it is required 
  236.             to include spaces with a remark then the remark field should be 
  237.             enclosed within double quotes thus; "a remark containing spaces".
  238.        4.   Generations are specified by element name followed by a semicolon 
  239.             (;) and the version string (e.g. FILE.C;15B6). If the final 
  240.             numeric subfield is omitted the generation referenced will be the 
  241.             latest in that line of decent (e.g. FRED; means the latest 
  242.             generation in the main line of decent and FRED;1A2A means the 
  243.             latest generation in the 1A2A line of decent).
  244.        5.   No input field is case dependant.
  245.        6.   Dates are input in the form dd-mm-yyyy where dd is the day, mm is 
  246.             the month and yyyy is the year.
  247.  
  248.  
  249.  
  250. 11. Installation
  251.  
  252. In order to install SMUT the files SMUT.EXE, SMUT.OVL, SMUT.REG and SMUT.HLP 
  253. should be copied to a directory which is specified in the DOS PATH command in 
  254. AUTOEXEC.BAT.
  255.  
  256. Additionally the FILES parameter in CONFIG.SYS should be set to at least 10.
  257.  
  258. SMUT requires DOS to be at version 3 or above.
  259.  
  260.  
  261.  
  262. 12. NET usage
  263.  
  264. The SMUT library is opened before most commands are actioned and 
  265. closed after them. This means that where the library is shared, such 
  266. as on a PC network, more than one user can access it. If a user tries 
  267. to open the library while it is already open to another user then a 
  268. warning message will be displayed and SMUT will continue to attempt to 
  269. open the library at intervals. If SMUT continues to fail to open the 
  270. library then additional warning messages will be displayed and the 
  271. operator may abort the command by pressing Esc.
  272.  
  273. The library may be locked open by a user (using the LOCK LIBRARY 
  274. command) hence preventing other users gaining access until either SMUT 
  275. is exited or the library is unlocked (using the UNLOCK LIBRARY 
  276. command).
  277.  
  278.  
  279.  
  280. 13. Help facility
  281.  
  282. Online help is available on each command. By typing HELP followed by 
  283. the one or two word command a short description of that command will 
  284. be displayed. The specified command can be abbreviated following the 
  285. same rules as if it were being entered as a command to be actioned.
  286.  
  287.  
  288.  
  289. Appendix A - Command Description
  290.  
  291. This appendix contains a description of each command. The following 
  292. information is given for each command:
  293.  
  294. Format:        The format of the command. Fields contained in brackets ([]) 
  295.                are optional. Fields contained within braces ({}) are 
  296.                optional and can be specified in any order, each optional 
  297.                field being separated by a bar (|).
  298.  
  299. Priority:      The user priority below which the command is unavailable.
  300.  
  301. History:       Whether the transaction is stored in the history file.
  302.  
  303. Description:   A description of the commands function.
  304.  
  305. Examples:      Where it is thought helpful one or more examples of the 
  306.                commands use.
  307.  
  308.  
  309.  
  310. COMPARE
  311.  
  312. Format:      COMPARE <file1> <file2>
  313.  
  314. Priority:    1
  315.  
  316. History:     No
  317.  
  318. Description: Compare the contents of <file1> and <file2> for equality. Both 
  319.              <file1> and <file2> can be either a generation or a DOS file. 
  320.              SMUT scans the field for a semicolon (;) to determine which.
  321.  
  322.  
  323.  
  324. CREATE CLASS
  325.  
  326. Format:      CREATE CLASS <class name> [<remark>]
  327.  
  328. Priority:    2
  329.  
  330. History:     Yes
  331.  
  332. Description: Create a class of the specified name.
  333.  
  334.  
  335.  
  336. CREATE ELEMENT
  337.  
  338. Format:      CREATE ELEMENT <element name> [<remark>] {-F<file>|-K}
  339.  
  340. Priority:    2
  341.  
  342. History:     Yes
  343.  
  344. Description: Create the named element at generation 1 from an input file.
  345.  
  346.              By default the input file is the file in the current working 
  347.              directory with the same name as the element. Alternatively 
  348.              this can be overridden by including the F flag and specifying 
  349.              a different input file.
  350.  
  351.              Normally the input file is deleted after the element is 
  352.              created. This can be suppressed by specifying the K flag.
  353.  
  354. Examples:    CREATE ELEMENT TEST.C "TEST FILE"
  355.  
  356.              Create the element TEST.C at generation 1 from the file of the 
  357.              same name in the current working directory and associate the 
  358.              remark TEST FILE with it. Delete TEST.C from the current 
  359.              working directory.
  360.  
  361.              CREATE ELEMENT TESTDOC "TEST DOCUMENTATION" -FA:\JIM\T.DOC -K
  362.  
  363.              Create the element TESTDOC at generation 1 from the file T.DOC 
  364.              on drive A in directory \JIM and associate the remark TEST 
  365.              DOCUMENTATION with it. Suppress deletion of the source file.
  366.  
  367.  
  368.  
  369. CREATE GROUP
  370.  
  371. Format:      CREATE GROUP <group name> [<remark>]
  372.  
  373. Priority:    2
  374.  
  375. History:     Yes
  376.  
  377. Description: Create a group of the specified name.
  378.  
  379.  
  380.  
  381. CREATE LIBRARY
  382.  
  383. Format:      CREATE LIBRARY <library directory> <user name> [<remark>]
  384.  
  385. Priority:    0
  386.  
  387. History:     Yes
  388.  
  389. Description: Create a library in the specified directory. Create a user of 
  390.              the specified name in the new library. The users password will 
  391.              be set to be identical to its name and the user priority to 3. 
  392.              The newly created library and user become the current library 
  393.              and user. If the specified library directory exists then it 
  394.              must be empty; if it does not exist it will be created 
  395.              providing it is a subdirectory of an existing directory.
  396.  
  397. Example:     CREATE LIBRARY A:\FILES\ALL JIM
  398.  
  399.              If the directory A:\FILES\ALL does not exist then create it 
  400.              providing the directory A:\FILES exists. Create a library in 
  401.              subdirectory A:\FILES\ALL providing it is empty. Create a user 
  402.              JIM in that library with a password of JIM and priority of 3. 
  403.              Set the current library and user to be the newly created 
  404.              library and user.
  405.  
  406.              CREATE LIBRARY SAVESET MANAGER "PROJECT FILES"
  407.  
  408.              If the subdirectory SAVESET of the current working directory 
  409.              does not exist then create it. Providing the subdirectory is 
  410.              empty create a library in it. Create a user MANAGER in that 
  411.              library with password of MANAGER and priority of 3. Associate 
  412.              the remark PROJECT FILES with that library. Set the current 
  413.              library and user to the newly created library and user.
  414.  
  415.  
  416.  
  417. CREATE USER
  418.  
  419. Format:      CREATE USER <user name> [<remark>] [-P<priority>]
  420.  
  421. Priority:    3
  422.  
  423. History:     Yes
  424.  
  425. Description: Create a user of the specified name. Associate the specified 
  426.              remark with the user. The user priority will default to 1 
  427.              unless overridden by the P flag. The user password will be 
  428.              prompted twice. Input of the password will not be echoed and 
  429.              only if both inputs match will the user be created.
  430.  
  431. Example:     CREATE USER BILL -P2
  432.  
  433.              Create user BILL with a priority of 2.
  434.  
  435.  
  436.  
  437. DELETE CLASS
  438.  
  439. Format:      DELETE CLASS <class name> [<remark>] [-R]
  440.  
  441. Priority:    2
  442.  
  443. History:     Yes
  444.  
  445. Description: Delete the specified class. If the -R flag is specified then 
  446.              any generations contained in the class are first removed. If 
  447.              the -R flag is not specified then deletion will only be 
  448.              allowed if the class is already empty.
  449.  
  450.  
  451.  
  452. DELETE ELEMENT
  453.  
  454. Format:      DELETE ELEMENT <element name> [<remark>]
  455.  
  456. Priority:    2
  457.  
  458. History:     Yes
  459.  
  460. Description: Delete the specified element. If the element is contained in a 
  461.              group, any of its generations are contained in a class, or any 
  462.              of its generations are reserved then deletion will be 
  463.              disallowed.
  464.  
  465.  
  466.  
  467. DELETE GROUP
  468.  
  469. Format:      DELETE GROUP <group name> [<remark>] [-R]
  470.  
  471. Priority:    2
  472.  
  473. History:     Yes
  474.  
  475. Description: Delete the specified group. If the -R flag is specified then 
  476.              any elements contained in the group are first removed. If the 
  477.              -R flag is not specified then deletion will only be allowed if 
  478.              the group is already empty.
  479.  
  480.  
  481.  
  482. DELETE HISTORY
  483.  
  484. Format:      DELETE HISTORY [<before date>]
  485.  
  486. Priority:    3
  487.  
  488. History:     Yes
  489.  
  490. Description: Delete all or part of the contents of the history file. If 
  491.              <before date> is specified then all history records on or 
  492.              before that date are deleted. If <before date> is not 
  493.              specified then all history records are deleted.
  494.  
  495. Example:     DELETE HISTORY 17-12-1989
  496.  
  497.              Delete all history records with dates on or before 17-12-1989.
  498.  
  499.  
  500.  
  501. DELETE LIBRARY
  502.  
  503. Format:      DELETE LIBRARY
  504.  
  505. Priority:    3
  506.  
  507. History:     No
  508.  
  509. Description: Delete the current library. The operator is asked to input the 
  510.              present users password again to confirm that library deletion 
  511.              is required. Following deletion the current library and user 
  512.              become unset.
  513.  
  514.  
  515.  
  516. DELETE USER
  517.  
  518. Format:      DELETE USER <user name> [<remark>]
  519.  
  520. Priority:    3
  521.  
  522. History:     Yes
  523.  
  524. Description: Delete the specified user. Deletion is only allowed if the 
  525.              specified user has no outstanding reservations. It is not 
  526.              possible to delete the current user, hence the library can 
  527.              never contain less than one priority 3 user.
  528.  
  529.  
  530.  
  531. DIFFERENCE
  532.  
  533. Format:      DIFFERENCE <file1> <file2> [<remark>]
  534.                {-F<output file>|-H|-N|-W<window size>|-M<max differences>}
  535.  
  536. Priority:    1
  537.  
  538. History:     Yes
  539.  
  540. Description: Find the differences between the text files <file1> and 
  541.              <file2>. Both files must be text files. The output is either 
  542.              sent to file <output file> if the F flag is specified or the 
  543.              screen if it is not. Both <file1> and <file2> can be either a 
  544.              generation or a DOS file. SMUT scans the field for a semicolon 
  545.              (;) to determine which. Normally line numbers are generated in 
  546.              the output, this can be suppressed by specifying the N flag. 
  547.              The difference process can be caused to terminate after a 
  548.              certain number of differences have been encountered using the 
  549.              M flag. If the M flag is not specified then the difference 
  550.              process will run until all differences are found.
  551.  
  552.              The difference process is achieved by scanning a window across 
  553.              both files and looking for a match. The default window size is 
  554.              3 however this can be overridden using the W flag.
  555.  
  556.              This command is only recorded in the history file if the H 
  557.              flag is specified.
  558.  
  559. Example:     DIFFERENCE DATA.ASM;5 DATA.ASM; -M50 -W5 -FDATA.DIFF
  560.  
  561.              Determine the differences between generations 5 and the latest 
  562.              generation in the main line of decent of element DATA.ASM 
  563.              using a window size of 5 and send them to file DATA.DIFF in 
  564.              the current working directory. Terminate the process after 50 
  565.              differences are found.
  566.  
  567.              DIFFERENCE PROG$5;2B1B12 A:\PROG -H
  568.  
  569.              Determine the differences between generation 2B1B12 of element 
  570.              PROG$5 and file PROG in the root directory of drive A with the 
  571.              default window size of 3 and display them on the screen. 
  572.              Record the command in the history file.
  573.  
  574.  
  575.  
  576. FETCH CLASS
  577.  
  578. Format:      FETCH CLASS <class name> [<remark>] [-H]
  579.  
  580. Priority:    1
  581.  
  582. History:     Yes
  583.  
  584. Description: Fetch all the generations contained within the specific class 
  585.              but do not mark them as reserved. The generations will be 
  586.              copied to files in the current working directory with the same 
  587.              name as the generations.
  588.  
  589.              This command is only recorded in the history file if the H 
  590.              flag is specified.
  591.  
  592.  
  593.  
  594. FETCH GENERATION
  595.  
  596. Format:      FETCH GENERATION <generation> [<remark>] {-H|-F<filename>}
  597.  
  598. Priority:    1
  599.  
  600. History:     Yes
  601.  
  602. Description: Fetch a specific generation but do not mark it as reserved. 
  603.              Normally the generation will be copied to a file in the 
  604.              current working directory with the same name as the 
  605.              generation. This can be overridden using the F flag.
  606.  
  607.              This command is only recorded in the history file if the H 
  608.              flag is specified.
  609.  
  610. Examples:    FETCH GENERATION X.DAT;6
  611.  
  612.              Fetch the contents of generation 6 of element X.DAT into file 
  613.              X.DAT on the current working directory.
  614.  
  615.              FETCH GENERATION DATA;1 -FTEMP.COR -H
  616.  
  617.              Fetch the contents of generation 1 of element DATA into file 
  618.              TEMP.COR in the current working directory and record the 
  619.              transaction in the history file.
  620.  
  621.  
  622.  
  623. HELP
  624.  
  625. Format:      HELP [<command>]
  626.  
  627. Priority:    0
  628.  
  629. History:     No
  630.  
  631. Description: If a command is specified then the help text for that command 
  632.              is displayed. If no command is specified then a list of 
  633.              available SMUT commands is displayed.
  634.  
  635.  
  636.  
  637. INSERT ELEMENT
  638.  
  639. Format:      INSERT ELEMENT <element name> <group name> [<remark>]
  640.  
  641. Priority:    2
  642.  
  643. History:     Yes
  644.  
  645. Description: Insert the specified element into the specified group.
  646.  
  647.  
  648.  
  649. INSERT GENERATION
  650.  
  651. Format:      INSERT GENERATION <generation name> <class name> [<remark>]
  652.  
  653. Priority:    2
  654.  
  655. History:     Yes
  656.  
  657. Description: Insert the specified generation into the specified class.
  658.  
  659.  
  660.  
  661. LOCK LIBRARY
  662.  
  663. Format:      LOCK LIBRARY
  664.  
  665. Priority:    3
  666.  
  667. History:     No
  668.  
  669. Description: Lock the library thereby preventing other NET users from 
  670.              gaining access.
  671.  
  672.  
  673.  
  674. MODIFY GROUP
  675.  
  676. Format:      MODIFY GROUP <old group name> <new group name> [<remark>]
  677.  
  678. Priority:    2
  679.  
  680. History:     Yes
  681.  
  682. Description: Modify the name and optionally the remark associated with the 
  683.              specified group.
  684.  
  685.  
  686.  
  687. MODIFY CLASS
  688.  
  689. Format:      MODIFY CLASS <old class name> <new class name> [<remark>]
  690.  
  691. Priority:    2
  692.  
  693. History:     Yes
  694.  
  695. Description: Modify the name and optionally the remark associated with the 
  696.              specified class.
  697.  
  698.  
  699.  
  700. MODIFY ELEMENT
  701.  
  702. Format:      MODIFY ELEMENT <old element name> <new element name> [<remark>]
  703.  
  704. Priority:    2
  705.  
  706. History:     Yes
  707.  
  708. Description: Modify the name and optionally the remark associated with the 
  709.              specified element
  710.  
  711.  
  712.  
  713. MODIFY LIBRARY
  714.  
  715. Format:      MODIFY LIBRARY <remark>
  716.  
  717. Priority:    3
  718.  
  719. History:     Yes
  720.  
  721. Description: Modify the remark associated with the current library.
  722.  
  723.  
  724.  
  725. MODIFY PASSWORD
  726.  
  727. Format:      MODIFY PASSWORD [<remark>]
  728.  
  729. Priority:    1
  730.  
  731. History:     Yes
  732.  
  733. Description: Prompt the operator for a new password for the current user. 
  734.              The password is input (without echo) twice, and only if both 
  735.              inputs match is the password changed.
  736.  
  737.  
  738.  
  739. MODIFY USER
  740.  
  741. Format:      MODIFY USER <user name> [<remark>] {-P<priority>|-W}
  742.  
  743. Priority:    3
  744.  
  745. History:     Yes
  746.  
  747. Description: Optionally modify the priority, password and remark associated 
  748.              with the specified user. The remark is modified if it is 
  749.              specified. The priority is modified if the P flag is specified. 
  750.              If the W flag is specified then a new password is prompted for. 
  751.              The password is input (without echo) twice, and only if both 
  752.              inputs match is it password changed.
  753.  
  754.  
  755.  
  756. QUIT
  757.  
  758. Format:        QUIT
  759.  
  760. Priority:      0
  761.  
  762. History:       No
  763.  
  764. Description:   Terminate SMUT and return to DOS.
  765.  
  766.  
  767.  
  768. REMARK
  769.  
  770. Format:        REMARK <remark>
  771.  
  772. Priority:      1
  773.  
  774. History:       Yes
  775.  
  776. Description:   Enter a remark into the history file.
  777.  
  778.  
  779.  
  780. REMOVE ELEMENT
  781.  
  782. Format:        REMOVE ELEMENT <element name> <group name> [<remark>]
  783.  
  784. Priority:      2
  785.  
  786. History:       Yes
  787.  
  788. Description:   Remove the specified element from the specified group.
  789.  
  790.  
  791.  
  792. REMOVE GENERATION
  793.  
  794. Format:        REMOVE GENERATION <generation name> <class name> [<remark>]
  795.  
  796. Priority:      2
  797.  
  798. History:       Yes
  799.  
  800. Description:   Remove the specified generation from the specified class.
  801.  
  802.  
  803.  
  804. REPLACE
  805.  
  806. Format:        REPLACE <generation> [<remark>] {-F<filename>|-K|-V<id>}
  807.  
  808. Priority:      2 providing the generation was originally reserved by the 
  809.                current user, else 3.
  810.  
  811. History:       Yes
  812.  
  813. Description:   Replace a reserved generation. Normally from a file with the 
  814.                same name as the element unless overridden by the F flag. 
  815.                Delete the input file unless suppressed by the K flag. 
  816.                Normally generate the next generation in the main line of 
  817.                decent unless overridden by the V flag.
  818.  
  819. Example:       REPLACE BIGDATA;12
  820.  
  821.                Replace generation 12 of element BIGDATA with the contents 
  822.                of the file BIGDATA in the current directory thereby 
  823.                creating generation 13. The file BIGDATA is then deleted.
  824.  
  825.                REPLACE FRED;2A2 -FFRED.TMP -VX
  826.  
  827.                Replace generation 2A2 of element FRED with the contents of 
  828.                the file FRED.TMP in the current directory thereby creating 
  829.                the first generation of a variant line of decent, 2A2X1. The 
  830.                file FRED.TMP is then deleted.
  831.  
  832.  
  833.  
  834. RESERVE
  835.  
  836. Format:        RESERVE <generation> [<remark>] {-F<filename>|-D}
  837.  
  838. Priority:      2
  839.  
  840. History:       Yes
  841.  
  842. Description:   Mark the specified generation as reserved by the current 
  843.                user. Unless the D flag is specified the contents of the 
  844.                reserved generation is written to an output file. Normally 
  845.                the output file is that with the same name as the element in 
  846.                the current working directory, however this can be 
  847.                overridden using the F flag. If the D flag is specified then 
  848.                the output is not copied to a file but is discarded.
  849.  
  850. Examples:      RESERVE Y.DAT;7M
  851.  
  852.                Fetch the contents of the latest generation in the 7M line 
  853.                of decent of element Y.DAT into file Y.DAT on the current 
  854.                working directory and mark it as reserved by the current 
  855.                user.
  856.  
  857.                RESERVE DATA;1 -FTEMP.COR
  858.  
  859.                Fetch the contents of generation 1 of element DATA into file 
  860.                TEMP.COR on the current working directory and mark it as 
  861.                reserved by the current user.
  862.  
  863.  
  864.  
  865. SET DIRECTORY
  866.  
  867. Format:        SET DIRECTORY <directory>
  868.  
  869. Priority:      0
  870.  
  871. History:       No
  872.  
  873. Description:   Set the current working directory and drive.
  874.  
  875.  
  876.  
  877. SET LIBRARY
  878.  
  879. Format:        SET LIBRARY <directory> [<user name>]
  880.  
  881. Priority:      0
  882.  
  883. History:       No
  884.  
  885. Description:   Set the current library and optionally prompt for the 
  886.                specified users password and if correct set that user to be 
  887.                the current user. This command is actioned in two parts so 
  888.                that if setting the user fails (because the user name does 
  889.                not exist or the password is incorrect) the new library will 
  890.                still be set.
  891.  
  892.  
  893.  
  894. SET USER
  895.  
  896. Format:        SET USER <user name>
  897.  
  898. Priority:      0
  899.  
  900. History:       No
  901.  
  902. Description:   Prompt for the specified users password and if correct set 
  903.                that user to be the current user.
  904.  
  905.  
  906.  
  907. SHOW CLASS
  908.  
  909. Format:        SHOW CLASS [<class name>] {-L<filename>|-A<filename>}
  910.  
  911. Priority:      0
  912.  
  913. History:       No
  914.  
  915. Description:   If a class name is specified, show the generations contained 
  916.                in that class. If no class name is specified then list all 
  917.                the classes. If neither the L nor A flag is specified output 
  918.                is to the screen; if the L flag is specified then a new file 
  919.                (of the given file name) is created and the output sent to 
  920.                that; if the A flag is specified then the output is appended 
  921.                to the given existing named file.
  922.  
  923.  
  924.  
  925. SHOW DIRECTORY
  926.  
  927. Format:        SHOW DIRECTORY {-L<filename>|-A<filename>}
  928.  
  929. Priority:      0
  930.  
  931. History:       No
  932.  
  933. Description:   Show the current working drive and directory and all the 
  934.                files contained therein. The A and L flags function as in 
  935.                SHOW CLASS.
  936.  
  937.  
  938.  
  939. SHOW ELEMENT
  940.  
  941. Format:        SHOW ELEMENT [<element name>] {-T|-L<filename>|-A<filename>}
  942.  
  943. Priority:      0
  944.  
  945. History:       No
  946.  
  947. Description:   If the element name is specified, show the generations of 
  948.                that element. If the element name is not specified then list 
  949.                all elements. If an element name is specified then the -T 
  950.                flag can optionally be included to change the form the 
  951.                version numbers are displayed in. With the -T a tree type 
  952.                display is given; otherwise they are simply listed. The A 
  953.                and L flags function as in SHOW CLASS.
  954.  
  955.  
  956.  
  957. SHOW GROUP
  958.  
  959. Format:        SHOW GROUP [<group name>] {-L<filename>|-A<filename>}
  960.  
  961. Priority:      0
  962.  
  963. History:       No
  964.  
  965. Description:   If a group name is specified, show the elements contained in 
  966.                that group. If no group name is specified then list all the 
  967.                groups. The A and L flags function as in SHOW CLASS.
  968.  
  969.  
  970.  
  971. SHOW HISTORY
  972.  
  973. Format:        SHOW HISTORY [<date1> [<date2>]] {-L<filename>|-A<filename>}
  974.  
  975. Priority:      0
  976.  
  977. History:       No
  978.  
  979. Description:   Show the contents of the history file. If no dates are 
  980.                specified then show the whole file. If one date is specified 
  981.                then show only entries after that date. If two dates are 
  982.                specified then show entries between the two dates. The A and 
  983.                L flags function as in SHOW CLASS.
  984.  
  985.  
  986.  
  987. SHOW LIBRARY
  988.  
  989. Format:        SHOW LIBRARY {-L<filename>|-A<filename>}
  990.  
  991. Priority:      0
  992.  
  993. History:       No
  994.  
  995. Description:   Show the current library, current user and current working 
  996.                directory. The A and L flags function as in SHOW CLASS.
  997.  
  998.  
  999.  
  1000. SHOW RESERVATIONS
  1001.  
  1002. Format:        SHOW RESERVATIONS {-L<filename>|-A<filename>}
  1003.  
  1004. Priority:      0
  1005.  
  1006. History:       No
  1007.  
  1008. Description:   Show all the reserved generations and the users that have 
  1009.                reserved them. The A and L flags function as in SHOW CLASS.
  1010.  
  1011.  
  1012.  
  1013. SHOW USER
  1014.  
  1015. Format:        SHOW USER [<user name>] {-L<filename>|-A<filename>}
  1016.  
  1017. Priority:      0
  1018.  
  1019. History:       No
  1020.  
  1021. Description:   If the user name is specified show information about that 
  1022.                user. If the user name is not specified then list all the 
  1023.                users. The A and L flags function as in SHOW CLASS.
  1024.  
  1025.  
  1026.  
  1027. SHOW VERSION
  1028.  
  1029. Format:        SHOW VERSION {-L<filename>|-A<filename>}
  1030.  
  1031. Priority:      0
  1032.  
  1033. History:       No
  1034.  
  1035. Description:   Show the current version of SMUT and additional registration 
  1036.                information. The A and L flags function as in SHOW CLASS.
  1037.  
  1038.  
  1039.  
  1040. UNLOCK LIBRARY
  1041.  
  1042. Format:        UNLOCK LIBRARY
  1043.  
  1044. Priority:      1
  1045.  
  1046. History:       No
  1047.  
  1048. Description:   Allow library access by other NET users.
  1049.  
  1050.  
  1051.  
  1052. UNRESERVE
  1053.  
  1054. Format:        UNRESERVE <generation> [<remark>]
  1055.  
  1056. Priority:      2 providing the generation was originally reserved by the 
  1057.                current user, else 3.
  1058.  
  1059. History:       Yes
  1060.  
  1061. Description:   Unreserve a reserved generation.
  1062.  
  1063.  
  1064.  
  1065. UNSET USER
  1066.  
  1067. Format:        UNSET USER
  1068.  
  1069. Priority:      1
  1070.  
  1071. History:       No
  1072.  
  1073. Description:   Unset the current user. The priority will hence become 0.
  1074.