Presentation is loading. Please wait.

Presentation is loading. Please wait.

RCS Revision Control System

Similar presentations


Presentation on theme: "RCS Revision Control System"— Presentation transcript:

1 RCS Revision Control System
SIMG 726 Winter Quarter 2003 Rolando V. Raqueño

2 What is RCS? RCS (Revision Control System)
Allows you to locally journal and archive code/files under development Protects copies of working code from being destroyed by experimental modifications Assures that only one person is editing each file Facilitates additional documentation associated with different versions of code Winter Quarter 2003 Rolando V. Raqueño

3 Sample RCS Case We will create a sample case to illustrate the mechanics of using RCS Use the simple sum program case test_sum.pro sum.pro input.dat output.dat Winter Quarter 2003 Rolando V. Raqueño

4 General Setup and Use of RCS
Initial setup Create a directory for the “project” Create the RCS repository directory Create the program and data files Check in the files into RCS After initial setup Check out the files out of RCS Edit the files Check the files back into RCS Repeat as needed Winter Quarter 2003 Rolando V. Raqueño

5 Create a directory for the project
% mkdir test_sum test_sum test_sum.pro sum.pro input.dat Winter Quarter 2003 Rolando V. Raqueño

6 test_sum.pro pro test_sum data = fltarr(2,3,4)
openr,input_file,‘input.dat’,/get_lun openw,output_file,‘output.dat’,/get_lun readf, input_file, data answer = sum( data ) printf, output_file, answer free_lun, input_file, output_file end Winter Quarter 2003 Rolando V. Raqueño

7 sum.pro function sum, x n = n_elements(x) answer = double(x[0])
for i = 1L, n-1 do begin answer = answer + x[i] end return, answer Winter Quarter 2003 Rolando V. Raqueño

8 input.dat Winter Quarter 2003 Rolando V. Raqueño

9 Create an RCS directory repository
% mkdir RCS test_sum test_sum.pro sum.pro input.dat RCS Winter Quarter 2003 Rolando V. Raqueño

10 Check in your files using the ci command
% ci test_sum.pro sum.pro input.dat You will be prompted for input describing each of the files. Enter an appropriate description to help you and others document the file Winter Quarter 2003 Rolando V. Raqueño

11 Description of input.dat
RCS/input.dat,v <-- input.dat enter description, terminated with single '.' or end of file: NOTE: This is NOT the log message! >> This is the test input data set for test_sum.pro >> and sum.pro >> . initial revision: 1.1 done Winter Quarter 2003 Rolando V. Raqueño

12 Description of sum.pro RCS/sum.pro,v <-- sum.pro
enter description, terminated with single '.' or end of file: NOTE: This is NOT the log message! >> This function sums an array in IDL >> . initial revision: 1.1 done Winter Quarter 2003 Rolando V. Raqueño

13 Description of test_sum.pro
RCS/test_sum.pro,v <-- test_sum.pro enter description, terminated with single '.' or end of file: NOTE: This is NOT the log message! >> This program is a test program to validate sum.pro >> . initial revision: 1.1 done Winter Quarter 2003 Rolando V. Raqueño

14 Create an RCS directory repository
% ls RCS test_sum RCS test_sum.pro,v sum.pro,v input.dat,v Winter Quarter 2003 Rolando V. Raqueño

15 Checking the status of a file in the RCS repository
% rlog test_sum.pro RCS file: RCS/test_sum.pro,v Working file: test_sum.pro head: 1.1 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 1; selected revisions: 1 description: This program is a test program to validate sum.pro revision 1.1 date: 2003/02/05 13:45:30; author: rvrpci; state: Exp; Initial revision Winter Quarter 2003 Rolando V. Raqueño

16 Checking out a file for read-only
% co sum.pro RCS/sum.pro,v --> sum.pro revision 1.1 done test_sum sum.pro RCS test_sum.pro,v sum.pro,v input.dat,v Winter Quarter 2003 Rolando V. Raqueño

17 sum.pro ONLY for VIEWING
You cannot edit this file because of the protections % ls -l sum.pro -r--r … sum.pro Winter Quarter 2003 Rolando V. Raqueño

18 To Make sum.pro writable
% co -l sum.pro RCS/sum.pro,v --> sum.pro revision 1.1 (locked) done % ls -l sum.pro -rw-r … sum.pro Winter Quarter 2003 Rolando V. Raqueño

19 sum.pro ;$Header$ ;$Log$ function sum, x n = n_elements(x)
answer = double(x[0]) for i = 1L, n-1 do begin answer = answer + x[i] end return, answer Winter Quarter 2003 Rolando V. Raqueño

20 Create an RCS directory repository
% ls RCS test_sum test_sum.pro sum.pro input.dat RCS test_sum.pro,v sum.pro,v input.dat,v Winter Quarter 2003 Rolando V. Raqueño

21 Subsequent Check in of sum.pro after edits
% ci sum.pro RCS/sum.pro,v <-- sum.pro new revision: 1.2; previous revision: 1.1 enter log message, terminated with single '.' or end of file: >> Added RCS keywords for documentation. >> . done Winter Quarter 2003 Rolando V. Raqueño

22 Checking out current version of sum.pro
% co sum.pro RCS/sum.pro,v --> sum.pro revision 1.2 done Winter Quarter 2003 Rolando V. Raqueño

23 Current sum.pro % more sum.pro
;$Header: /cis/staff/rvrpci/public_html/teaching/simg726/20022/testing/test_sum/ RCS/sum.pro,v /02/05 14:11:49 rvrpci Exp $ ;$Log: sum.pro,v $ ;Revision /02/05 14:11:49 rvrpci ;Added RCS keywords for documentation. ; function sum,x end Winter Quarter 2003 Rolando V. Raqueño

24 Checking for differences
% rcsdiff -r1.1 sum.pro =========================================================== RCS file: RCS/sum.pro,v retrieving revision 1.1 diff -r1.1 sum.pro 0a1,5 > ;$Header: /cis/staff/rvrpci/public_html/teaching/simg726/20022/testing/test_sum/RCS/sum.pro,v /02/05 14:11:49 rvrpci Exp $ > ;$Log: sum.pro,v $ > ;Revision /02/05 14:11:49 rvrpci > ;Added RCS keywords for documentation. > ; Winter Quarter 2003 Rolando V. Raqueño

25 Checking the log of a file
% rlog sum.pro revision 1.2 date: 2003/02/05 14:11:49; author: rvrpci; state: Exp; lines: +2 -0 Added RCS keywords for documentation. revision 1.1 date: 2003/02/05 13:45:30; author: rvrpci; state: Exp; Initial revision ====================================================== Winter Quarter 2003 Rolando V. Raqueño

26 rcsfreeze Allows you to group checked in RCS entries into a logical unit Example % rcsfreeze Ground_Hog_Day % co -rGround_Hog_Day RCS/*,v Winter Quarter 2003 Rolando V. Raqueño


Download ppt "RCS Revision Control System"

Similar presentations


Ads by Google