PVDE5

VDE
Guide to Using
VDE



 p
PreviousZ Contents\ Index

O

3.6 Displaying Users



?The SHOW USER command lists information about the users of the ;OpenVMS source control system. These users are the OpenVMS <developers and others who are allowed to access the OpenVMS Fcurrent library. The following example shows how to use the SHOW USER command:

 

"
VSC> SHOW USER SMITH


>This example displays information about the user with OpenVMS @user name SMITH. If the user name is omitted, the command shows @information about all users recorded in the database. With this Gcommand, you can specify a list of user names separated by commas, and Fyou can use the asterisk (*) and percent sign (%) wildcard characters @in the user names. All users whose OpenVMS user names match the wildcard patterns are displayed.

CThe qualifiers available on the SHOW USER command are described in >Table 3-6.

p                      
Table 3-6 Qualifiers to the SHOW USER command
 /BRIEF
 /FULL
  I Determine the type of information displayed for each user. /BRIEF H displays the OpenVMS user name and the full name (first name and K last name) of each user who matches the user name parameters. /FULL 9 displays all database information about each user.
' /OUTPUT=filespec
  J Directs the printed output of this command to a specified file. TheJ filespec parameter specifies the name of the file. C VSC creates a new file with that name, directs the command's N print output to that file, and prints nothing on your terminal. If this ? qualifier is omitted, all output appears on the terminal.
 /TOTAL
  I Shows the total number of users that match the specified username N parameters. Only the total count is shown; other information about the % individual users is not shown.


:Examples


@This is an example of the brief output of the SHOW USER command:

 

"
VSC> SHOW USER S*User SMITH (Jane Smith)User SNURD (Mortimer Snurd)VSC>




EThe following example shows the full output of the SHOW USER command:

 

"
VSC> SHOW USER/FULL SNURDUser SNURD (Mortimer Snurd)4   User added to database on 19-OCT-1990 22:12:40.913   User added to database by user JONES (Jim Jones)   Remark: VMS Developer   Default privileges:      CREMOD RESREP   Authorized privileges:      CREMOD RESREP VSC>





J

Chapter 4
Reviewing Queued Replacements




BThis chapter tells you how to review modules on behalf of another Gdeveloper who has queued those modules for replacement. When you are a Dreviewer for a replacement, it is your responsibility to review the Ecode being replaced for errors, quality, and appropriateness for the Hdevelopment stream. Based on these factors, you must then record in the Fsource control database that you either accept or reject the proposed Dreplacement. This chapter tells you how to perform these operations.k

4.1 Reviewing Modules Queued for Replacement



GWhen you queue a replacement with the REPLACE command, you can use the F/REVIEWER qualifier to that command to specify who should review your ?replacement. The source control system might assign additional Dreviewers to your replacement because some developers automatically ?review every change to certain modules or development streams. =VSC records the reviewer list in the database and sends mail Gto all the reviewers to request that they review your replacement. The ESHOW REPLACEMENT/FULL command will display the reviewer list for you.

GOnce a replacement has been queued, the reviewers for that replacement Gare allowed to review it and to vote to accept or reject it. Reviewing Hthe replacement means examining the source changes about to be replaced Dinto the source code library to determine if they appear correct in Fstyle, substance, and appropriateness. The REVIEW REPLACEMENT command Ehelps you review the source changes that comprise a replacement. For Hexample, if you are a reviewer for the replacement SMITH--1, you should )enter the following command to review it:

 

"
"VSC> REVIEW REPLACEMENT SMITH-1


=This command places you in a VSC subsystem that presents the HVSC_REVIEW> prompt. This subsystem accepts a limited set of Ccommands that allow you to examine the source code being replaced, Edifferences between the new source code and the previous code in the Asource code library, and text files written by the replacement's Asubmittor or by other reviewers. When you are done reviewing the Ereplacement, you enter the EXIT command or press Ctrl/Z to return to #the normal VSC> prompt.

HTo perform its function, the REVIEW REPLACEMENT command first creates a @review list for the specified replacement. The ?elements of the review list consist of the information Dfile created by the user queing the replacement (if such a Cfile was specified), the comment files created by Cprevious reviewers (if such files were specified), and the modules Equeued for replacement. The review list will also contain a log file Bfrom the PERFORM REPLACEMENT command if that command was used but Aencountered errors when it tried to perform the replacement. One Gelement of the review list is always designated as the current Felement; that is the element whose contents you can display. EInitially, the first element on the list is the current element, but 9various commands allow you to change the current element.

EThe commands in the REVIEW REPLACEMENT subsystem let you display the Greview list, navigate back and forth among the elements of the list to Dselect the current element, and display the contents of the current 8element. To display an information or comment file, VSC Asimply types the file on your terminal. To diplay a module being 6reviewed, VSC can show the source being replaced, the Foriginal source currently in the library, and the differences between <these two. VSC also lets you use an editor to examine files if you prefer.

GThe REVIEW REPLACEMENT command accepts several qualifiers that let you rcontrol the composition of the review list. Table 4-1 lists these -qualifiers and describes their functions.

y                         
Table 4-1 Qualifiers to the REVIEW REPLACEMENT command
 /COMMENT
  N Causes all comment files provided by previous reviewers to be included  in the review list.
# /INFORMATION
  M Causes the replacement owner's information file to be included in the  review list.
 /MODULE
  H Causes all source modules that are part of the replacement to be # included in the review list.
O You can use these qualifiers in combination to include the elements you N want in the review list. If you omit all three qualifiers, the command M automatically includes all three kinds of elements in the review list.


BSubsystem Commands


AAs already mentioned, the REVIEW REPLACEMENT subsystem accepts a Hspecial set of commands and keeps prompting for such commands until you qenter the EXIT command. Table 4-2 lists the REVIEW REPLACEMENT 1subsystem commands and describes their functions.

ä                                                                                                       
Table 4-2 Commands Accepted in the REVIEW REPLACEMENT Subsystem
 EXIT
  6 Exits from the subsystem and returns you to the- VSC> prompt. Pressing Ctrl/, Z performs the same function.
DIRECTORY
  H Displays the review list for the replacement being reviewed. The N command displays one line for each information file, comment file, log ? file, and module that is part of the queued replacement.
 CURRENT
  H Displays the name of the current element in the review list. The B current element is the file or module that VSC displays if ( you enter a SHOW or EDIT command.
 NEXT
  I Makes the next element on the review list the current element and M displays the name of that element. Pressing the KP0 key (the 0 key on J the numeric keypad) is equivalent to entering a NEXT command. As a O result, you can step from element to element by repeatedly pressing the N KP0 key. Similarly, the COMMA (,) key on the numeric keypad enters the M NEXT and SHOW commands with a single keystroke and the MINUS (--) key ? on the numeric keypad enters the NEXT and EDIT commands.
 BACK
  M Makes the previous element on the review list the current element and ) displays the name of that element.
 FIRST
  J Makes the first element on the review list the current element and ) displays the name of that element.
 LAST
  I Makes the last element on the review list the current element and ) displays the name of that element.
& SELECT mod-name
  5 Makes the review-list element specified by theK mod-name parameter the current element and displays 7 the name of that element. To select a module, theH mod-name parameter must specify the name of that @ module in the normal VSC module-name syntax. To select an & information or comment file, theL mod-name parameter must specify the user name of the L developer who created that information or comment file. To select the = log file that VSC created if an attempt to perform the  replacement failed, theI mod-name parameter must specify the file name LOG.
 SHOW
  O Types the contents of the current review-list element on your terminal. L The SHOW command takes an optional keyword parameter. If the current L element is a module, the NEW keyword displays the new version of the O module queued for replacement, the OLD keyword displays the old version L of that module currently in the library, and the DIFFERENCES keyword L displays the differences between the new and the old versions. If no E keyword is given, VSC displays differences by default. If the D current element is an information, comment, or log file, VSC J displays the text of that file and ignores any keyword you specify.
 EDIT
  M Spawns an editing session to display the current review-list element. L The EDIT command takes an optional keyword parameter. If the current L element is a module, the NEW keyword displays the new version of the O module queued for replacement, the OLD keyword displays the old version L of that module currently in the library, and the DIFFERENCES keyword L displays the differences between the new and the old versions. If no E keyword is given, VSC displays differences by default. If the D current element is an information, comment, or log file, VSC J displays the text of that file and ignores any keyword you specify.
  ( Use the SET EDITOR command at theC VSC> prompt to specify your preferred editor. If D you have not specified an editor, VSC uses the system default  text editor by default.
/ ACCEPT ["remark-string"]
  C Records in the VSC database that you accept the replacement O currently being reviewed. You must be a reviewer for the replacement to N use this command. You can specify the optional remark string to give a K reason for accepting the replacement. This command accepts the same > qualifiers as the VSC-level ACCEPT REPLACEMENT command.
- REJECT "remark-string"
  C Records in the VSC database that you reject the replacement O currently being reviewed. You must be a reviewer for the replacement to G use this command. The remark string should specify a reason for D rejecting the replacement. If you omit the remark parameter, C VSC prompts you for a remark. This command accepts the same D qualifiers as the VSC-level REJECT REPLACEMENT command. Like N REJECT REPLACEMENT, the REJECT command lets you specify a comment file H to more fully explain your reasons for rejecting the replacement.
 SPAWN
  H Spawns a subprocess. This command accepts the same parameters and 0 qualifiers as the VSC-level SPAWN command.
 ATTACH
  H Attaches to a specified subprocess. This command accepts the same @ parameters and qualifiers as the VSC-level ATTACH command.


GThe normal way to use the REVIEW REPLACEMENT subsystem is to step from Fone review-list element to the next with the NEXT command (or the KP0 Ekey on the numeric keypad) and to then examine each element with the GSHOW or EDIT command. To examine an information, comment, or log file, Ejust use the SHOW command. To examine a module, you should generally Gstart by examining the differences between the new and old versions of Fthe module. The SHOW or EDIT command without a keyword parameter will Ccreate and display the differences file. If that does not give you Eenough information, use the EDIT NEW command to see the full text of Gthe source module to be replaced. Use the EDIT OLD command if you want Gto see the old source code for comparison. When you are done reviewing 9the replacement, enter the EXIT command to return to the VSC> prompt.

FTo traverse and display the review-list elements slightly faster, you Fcan press the COMMA (,) key on the numeric keypad to perform the NEXT Hand SHOW commands with a single keystroke. Similarly, you can press the BMINUS (--) key on the numeric keypad to perform the NEXT and EDIT !commands with a single keystroke.

HThe new version, old version, and differences file for a module are all =stored in the queued replacement's staging area. VSC fetches Dthe old version and generates the differences file the first time a =reviewer displays differences. For subsequent reviewers, VSC 6uses the files that already exist in the staging area.

9Examples


>In the following example, Jane Smith has queued a replacement Gconsisting of two modules, [FACIL]FOO.MAR and [RMS]FUMBLE.B32. She has Ealso supplied an information file for the replacement. If you were a Creviewer for this replacement, you might first enter the following (command to display information about it:

 

"
%VSC> SHOW REPLACEMENT/FULL SMITH-5Queued replacement SMITH-50   Replacement queued by user SMITH (Jane Smith)0   Replacement queued on  4-OCT-1997 16:55:02.06S   Replacement staging directory is VSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115]&   Replacement review status: Rejected$   Replacement is for stream PHOENIX#   Unique replacement number is 115   Reservations in replacement:8      Reservation 1 of [FACIL]FOO.MAR for stream PHOENIX9      Reservation 1 of [RMS]FUMBLE.B32 for stream PHOENIX&   Replacement contains 2 reservations   Reviewers for replacement:D      Not reviewed by  BROWN (Bill Brown) on  4-OCT-1997 17:08:03.08C      Rejected by user JONES (Jim Jones) on  4-OCT-1997 17:08:03.08,         Remark: Bad choice of variable name-      Not reviewed by  SNURD (Mortimer Snurd)   Remark: Fix bad-status bug VSC>




8You would then enter the following command to review it:

 

"
"VSC> REVIEW REPLACEMENT SMITH-1VSC_REVIEW>


FAt the subsystem prompt, you might want to see what modules and files Eare in the replacement's review list. The DIRECTORY command performs this function:

 

"
VSC_REVIEW> DIRECTORY9Modules and files being reviewed for replacement SMITH-1:.   Information file by user SMITH (Jane Smith)C   Comment file by reviewer JONES (Jim Jones) rejecting replacement   Module [FACIL]FOO.MAR   Module [RMS]FUMBLE.B32 VSC_REVIEW>


GThe review list includes SMITH's information file, a comment file from Danother reviewer JONES, and the two source modules. The information Gfile is initially the current element since it is the first element on 7the list. To display that file, enter the SHOW command:

 

"
VSC_REVIEW> SHOW BPlease perform this replacement after replacement SNURD-2 has run.=This replacement depends on a data cell defined by that code. VSC_REVIEW>


GThe next element on the list is a comment file that user JONES created Fwhen he voted to reject the replacement. Such a comment file normally Fgives the reason for rejecting the replacement. To select and display Gthat comment file, enter the NEXT command followed by the SHOW command:

 

"
VSC_REVIEW> NEXT @Comment file by reviewer JONES (Jim Jones) rejecting replacement VSC_REVIEW> SHOW FThe code looks correct, but the name of variable USER_IS_A_JERK shouldBbe changed to something more appropriate, such as USER_ERROR_FLAG. VSC_REVIEW>


GTo see the differences for the first module on the review list (module FFOO.MAR), enter another NEXT command followed again by a SHOW command:

 

"
VSC_REVIEW> NEXT Module [FACIL]FOO.MAR VSC_REVIEW> SHOWC%VDE-I-FETCHED, generation [FACIL]FOO.MAR;5(5) fetched from libraryM%VDE-I-OUTFILE, output file is VSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115.FACIL]FOO.MAR_VDE$OLD; ************CFile VSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115.FACIL]FOO.MAR;1&   46       Init_Linked_List(LST_PTR);   47       X = 5;******KFile VSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115.FACIL]FOO.MAR_VDE$OLD;1   46       X = 5;************ &Number of difference sections found: 1%Number of difference records found: 1 \DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=VSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115.FACIL]FOO.MAR_VDE$DIFF;1-C    VSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115.FACIL]FOO.MAR;1-J    VSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115.FACIL]FOO.MAR_VDE$OLD;1 VSC_REVIEW>


DIf the difference file had been large, it might have been easier to Edisplay it with the EDIT command. Also, to see the actual code to be ;replaced, you could use the EDIT NEW command at this point.

HTo examine module FUMBLE.B32, you repeat the NEXT and SHOW commands, as Fshown in the previous example. If you enter yet another NEXT command, ;VSC tells you that there are no more modules on the review ;list. You can then enter the EXIT command to return to the VSC> prompt:

 

"
VSC_REVIEW> EXITVSC>


7At this point, you can enter normal VSC commands again.m

4.2 Accepting or Rejecting a Queued Replacement



FOnce you have reviewed the changes that make up a queued replacement, Gyou should record whether the replacement is acceptable or not. If you Afind the replacement acceptable, you enter the following command:

 

"
2VSC> ACCEPT REPLACEMENT SMITH-1 "Remark string"


DThis command records, in the source-control database, that you have @reviewed the source changes in the specified queued replacement E(SMITH--1) and have found them to be acceptable. Optionally, you can Aspecify a remark string (using the /REMARK qualifier or a remark Fparameter as shown) or a comment file (using the /INPUT qualifier) to >explain or comment on your decision to accept the replacement.

HIf you decide that the source changes in the queued replacement are not Bacceptable, you reject the replacement with the following command:

 

"
2VSC> REJECT REPLACEMENT SMITH-1 "Remark string"


DThis command records, in the source-control database, that you have @reviewed the source changes in the specified queued replacement @(SMITH--1) and have rejected them for some reason. This command Erequires you to specify a one-line remark string that summarizes why Gyou reject the replacement. You can specify the remark string with the E/REMARK qualifier or with a remark parameter as shown. If you do not =specify a remark, VSC prompts you for the remark string. You Fmust always give a reason for rejecting a replacement so the owner of 1the replacement learns how to make it acceptable.

EIf your reasons for rejecting the replacement are too long to fit in Fthe remark string, you should explain your reasons in a comment file. HYou can edit this file ahead of time and specify its file name with the F/INPUT qualifier. Alternatively, you can specify the /EDIT qualifier, ;which causes VSC to invoke an editor to create the comment Ffile. The owner of the replacement can read your comment file through Hthe REVIEW REPLACEMENT subsystem. If you specify neither the /INPUT nor <the /EDIT qualifier for the REJECT REPLACEMENT command, VSC Aasks you whether you want to edit a comment file. For the ACCEPT BREPLACEMENT command, the default is to not provide a comment file.

EIf you have accepted or rejected a replacement and change your mind, Fyou can enter another ACCEPT or REJECT REPLACEMENT command to reverse Bthe earlier judgement. You can also enter another such command to *modify your remark string or comment file.

FYou can accept or reject a replacement only if you are a reviewer for Cthat replacement. Anyone can review a queued replacement using the GREVIEW REPLACEMENT command, but only designated reviewers can vote for @or against a replacement. Also, the votes of the reviewers only Cconstitute advice to the release project leader to help him or her Edecide whether to perform the replacement or not. The project leader Ecan decide for or against a given replacement regardless of what the Creviewers say. Normally, however, the project leader relies on the Hreviewers to certify the quality and correctness of the replacement and takes their advice accordingly.

qTable 4-3 lists the qualifiers for the ACCEPT REPLACEMENT and >REJECT REPLACEMENT commands and describes their functions.

ö                                        
Table 4-3 Qualifiers to the ACCEPT REPLACEMENT and REJECT REPLACEMENT commands
& /INPUT=filespec
  J Specifies a text file with comments about the replacement, such as N reasons for rejecting it or descriptions of possible improvements. The K source control system copies this file to the replacement's staging N area. If you omit the directory specification from this qualifier, the 1 file is taken from your default directory.
 /EDIT
  E Specifies that VSC should start an editing session for you to N create a text file with comments about the replacement. These comments I can give reasons for rejecting the replacement or descriptions of O possible improvements. The editor creates the file in the replacement's O staging area. If you specify neither the /INPUT nor the /EDIT qualifier D for the REJECT REPLACEMENT command, VSC asks you whether you # want to edit a comment file.
  K Use the SET EDITOR command to specify your preferred editor. If you @ have not specified an editor, VSC defaults to the system  default text editor.
 /LOG
 /NOLOG
  H Specify whether informational log messages are printed after the L replacement is accepted or rejected. /LOG causes such messages to be ? printed and /NOLOG suppresses them. /LOG is the default.
' /REMARK="string"
  E Specifies a one-line remark string to be associated with your N acceptance or rejection of the replacement. If you omit this qualifier J from the REJECT REPLACEMENT command, the command prompts you for a K remark string. (A replacement can thus be accepted without giving a = reason but cannot be rejected without a stated cause.)
) /USERNAME=username
  O Specifies that the replacement should be accepted or rejected on behalf : of the user whose OpenVMS user name is given by the? username parameter. You must have a VSC J privilege (USERNAME) to use this qualifier; it is meant for release G project leaders and others who manage the OpenVMS libraries, and C is intended to be used only in special or unusual situations.
 




 p
PreviousW NextZ Contents\ Index