Index of /~billard/se/cs4320/ex6

      Name                    Last modified       Size  Description

[DIR] Parent Directory 20-Apr-2008 08:49 - [TXT] hello.c 19-May-2009 09:03 1k [   ] print.bat 19-May-2009 09:03 1k [   ] printdoc.bat 19-May-2009 09:03 1k


CS 4320 Software Testing and QA: Ex6 SOURCE CONTROL
===================================================

Platform: UNIX

Given: Source code for hello.c

Goals: to learn how to control multiple versions of software.
       Large-scale software development requires that various modules
       are allowed to modify over time. this creates a difficult
       challenge in terms of consistency because one version may
       with other modules, but this may not be the case for a different
       version. There are tools to help in this process and, in this
       exercise, we will use Unix Source Code Control System (SCCS).

a. Reference:

   % man sccs

b. initiate source control on hello.c 

   % more hello.c
   % mkdir SCCS
   % sccs create hello.c
   creates version: 1.1 (release.level) 

   % ls
   ,hello.c is the most recent backup

   % ls SCCS
   s.hello.c has all version information

c. check out the source and do some editing
    
   % sccs get -e hello.c 
   the new version will be 1.2

   see who has checked out any files
   % sccs info

   edit the file and change the 1 to a 2
   % vi hello.c 

   do a diff between the last version and the new version
   % diff ,hello.c hello.c

   check the source back in and give a comment about what you did
   % sccs delget hello.c

   verify that nothing is checked out
   % sccs info

   show current version
   % sccs get -p hello.c
 
   show a particular version
   % sccs get -p -r1.1 hello.c

   show history and current version - note the line #'s
   % sccs print hello.c

   get the original version but as read-only 
   % sccs get -r1.1 hello.c
   % ls -l hello.c
   % vi hello.c

   check out the file but go back to the original version
   % sccs get -e -r1.1 hello.c
   
   the new version is: 1.1.1.1 (release.level.branch.sequence)
 
        1.1
       /   \
     1.2   1.1.1.1 because this started with an older version
      /
    1.3
 

   edit the file and change the 1 to a 3
   % vi hello.c 
   % sccs delget hello.c
   % sccs print hello.c
   1.2 is the current version but can see there is a 1.1.1.1

   check out the file but use this new branch
   % sccs get -e -r1.1.1.1 hello.c
   new version: 1.1.1.2 because the sequence on the new branch is incremented
  
   edit the file and change the 3 to a 4
   % vi hello.c 
   % sccs delget hello.c

   QUESTION 1: How would a 1.1.2.1 be created?
   go ahead a make such a version
   
   QUESTION 2: How would a 1.2.1.2 be created?
   go ahead a make such a version
   
   get a history ready for the printer
   % sccs print hello.c >sccs.out

d. fill-out report.txt, including the answers to the questions above.

e. project notebook (see print.bat):

   README
   report.txt
   sccs.out