next up previous contents
Next: 識別關鍵字串 Up: *RCS 版本控制系統 Previous: 版本控制   Contents

RCS 基本功能

  • 管理檔案( archive file )
    1. 必先針對個別檔案產生屬於該檔的管理檔案,以儲存該檔案的各個版本。
    2. 各檔案 archive file 的檔名是在該檔案名後加上 ,v 來標示。
    3. 例如 : 檔名 test.c 的管理檔案即為 test.c,v。
  • 讀出( check-out )與寫入( check-in )
    1. 一個檔案的管理檔案存放該檔的各個版本,可以透過讀出( check-out )與寫入( check-in )動作,取出已存入的版本修改或存入新的版本。

      \begin{picture}(150,75)
\setlength{\unitlength}{1mm}
\put(0,5){\dashbox{}(30,15...
...-out}
\put(50,10){\vector(-1,0){20}}
\put(30,15){\vector(1,0){20}}
\end{picture}
      1. check in ( ci ):將檔案版本寫入管理檔案的動作。
      2. check out ( co ):把檔案的某個版本從管理檔案讀出的動作。
    2. 預設為唯讀狀態取出版本,不可修改。若要修改檔案,必須將其鎖住。
  • 版本序號 (revision number)
    1. 在 RCS 的檔案中每一個版本,都會有一個版本序號以區分各個版本;
    2. 對於特定版本的存取都利用版本序號來指定;
    3. 版本序號的設定是以 m.n 為單位, m 為主要號碼 (major number),n 為次要號碼 (minor number);
    4. 預設的版本序號從 1.1 開始。

      \begin{picture}(150,60)
\setlength{\unitlength}{1mm}
\put(0,5){\dashbox{}(20,10...
...)(2,0){3}{\circle*{1}}
\multiput(20,10)(30,0){3}{\vector(1,0){10}}
\end{picture}

  • 分支( branch )
    1. 檔案的發展可能因為修改或是目的的不同, 會從一個版本產生不同的分支。
    2. 分支的序號為在原版本的版本序號後加上 .m.n,其中 m 用以區分不同的分支, n 區分在同一分支下的不同版本。
    3. 例如:版本 1.2 產生的分支為 1.2.1.1,版本 1.2.1.1 產生的分支為 1.2.1.1.1.1。

      \begin{picture}(150,150)
\setlength{\unitlength}{1mm}
\put(0,35){\dashbox{}(20,...
...15,25)(2,0){3}{\circle*{1}}
\multiput(115,10)(2,0){3}{\circle*{1}}
\end{picture}

  • 附記( log )
    1. 每個版本在寫入( check in ) archive file 時,都會要求使用者產生該版本的附記以記錄該版本的一些特性。
    2. 例如:為何產生該版本、該板本解決了那些問題、甚至該版本用了那些想法與技巧等等。
  • 產生 RCS archive file
    1. rcs 命令
      [root@dywHome2 ~]# rcs [-Aabeilmnotu] parameter
      -A file    將其它檔案的可存取名單寫入該檔的可存取名單
      -a name    將使用者寫入可存取名單
      -b branch number    設定主支( default branch )
      -e name    將使用者自可存取名單內剔除
      -i file    產生及初始化一個新的 RCS 檔案
      -l[number]  lock 該版本但不取出
      -m         更改檔案版本的附注( log ) 的內容
      -n symbol  產生或去除標記符號( mark symbol ) 
      -o[number]  從檔案的 archive file 中移除某版本
      -t         改檔案版本的描述( description ) 的內容 
      -u[number]  去除該版本 lock 的狀態
      # u[number] 表示選項 u 後面馬上接版本序號
      
    2. 以 vi 編輯 important.c:
      [dywang@dywOffice testrcs]$ vi important.c
      /*
         This is an important file for managing the project.
         It implements the canoncial "Hello World" program.
      */
      
      #include <stdlib.h>
      #include <stdio.h>
      
      int main()
      {
          printf("Hello World\n");
          exit(EXIT_SUCCESS);
      }
      
    3. 初始 RCS 檔案管理:使用 rcs -i 命令初始一個 RCS 管理檔案。
      [dywang@dywOffice testrcs]$ rcs -i important.c
      RCS file: important.c,v
      enter description, terminated with single '.' or end of file:
      NOTE: This is NOT the log message!
      >> This is an important demonstration file
      >> .
      done
      # 可以輸入很多註解。要跳離提示符號,必須輸入(.),或者在檔案字元的結尾輸入 Ctrl+D。
      
    4. rcs 命令後會產生一個新的唯讀檔案,其檔尾為(,v):
      [dywang@dywOffice testrcs]$ ll
      total 12
      -rw-r--r-- 1 dywang users  226 Mar  5 13:45 important.c
      -r--r--r-- 1 dywang users  105 Mar  5 13:55 important.c,v
      
    5. 如果要將 RCS 檔案放在不同的目錄,可先產生一個 RCS 子目錄。所有的 rcs 命令都會自動將 rcs 檔案儲存在 RCS 子目錄。

      \begin{picture}(150,105)
\setlength{\unitlength}{1mm}
\put(0,20){\dashbox{}(30,...
...ne(1,0){8}}
\put(37,10){\line(1,0){8}}
\put(37,10){\line(0,1){15}}
\end{picture}
      [dywang@dywOffice testrcs]$ mkdir RCS
      [dywang@dywOffice testrcs]$ ll
      total 8
      -rw-r--r-- 1 dywang users  226 Mar  5 13:45 important.c
      drwxr-xr-x 2 dywang users 4096 Mar  5 13:49 RCS/
      
      [dywang@dywOffice testrcs]$ rcs -i important.c
      RCS file: RCS/important.c,v
      enter description, terminated with single '.' or end of file:
      NOTE: This is NOT the log message!
      >> This is an important demonstration file
      >> .
      done
      
      [dywang@dywOffice testrcs]$ ll . RCS
      .:
      total 8
      -rw-r--r-- 1 dywang users  226 Mar  5 13:45 important.c
      drwxr-xr-x 2 dywang users 4096 Mar  5 13:49 RCS/
      
      RCS:
      total 4
      -r--r--r-- 1 dywang users 105 Mar  5 13:49 important.c,v
      
    6. 查看 important.c,v 內容
      [dywang@dywOffice testrcs]$ cat RCS/important.c,v
      head    ;
      access;
      symbols;
      locks; strict;
      comment @ * @;
      
      
      
      desc
      @This is an important demonstration file
      @
      

  • 將程式內容寫入 archive file
    1. ci (check in) 命令
      [root@dywHome2 ~]# ci [-dfwmnrtlu] parameter
      -d date         給定版本生成時間
      -f              強制產生新版本(不管是否寫入相同版本內容) 
      -w name         給定生成該版本的作者名 
      -m log-message  直接以 log-message 寫入附記( log ) 
      -n symbol       在寫入 archive file 同時, 給定標記符號( mark symbol )
      -r[number]      寫入時指定版本的 rivision number 
      -t description  直接以檔案的形式寫入描述( description )
      -l              寫入後再取出該版本為工作檔案( lock ) 
      -u              寫入後再取出該版本為工作檔案( unlock )
      
    2. 利用 ci 命令寫入(check in)檔案,儲存現在的版本。
      [dywang@dywOffice testrcs]$ ci important.c
      RCS/important.c,v  <--  important.c
      initial revision: 1.1
      done
      
    3. important.c 的內容和管理資訊,會被存在 important.c,v 中。
      [dywang@dywOffice testrcs]$ ll . RCS
      .:
      total 4
      drwxr-xr-x 2 dywang users 4096 Mar  5 14:06 RCS/
      
      RCS:
      total 4
      -r--r--r-- 1 dywang users 446 Mar  5 14:06 important.c,v
      
    4. 查看 important.c,v 內容
      [dywang@dywOffice testrcs]$ cat RCS/important.c,v
      head    1.1;
      access;
      symbols;
      locks; strict;
      comment @ * @;
      
      
      1.1
      date    2008.03.05.06.06.15;    author dywang;  state Exp;
      branches;
      next    ;
      
      
      desc
      @This is an important demonstration file
      @
      
      
      1.1
      log
      @Initial revision
      @
      text
      @/*
         This is an important file for managing the project.
         It implements the canoncial "Hello World" program.
      */
      
      #include <stdlib.h>
      #include <stdio.h>
      
      int main()
      {
          printf("Hello World\n");
          exit(EXIT_SUCCESS);
      }
      
      @
      

  • 產生新版本:將工作檔案從 archive file 讀出、修改,再寫入 archive file
    1. co (check out) 命令
      [root@dywHome2 ~]# co [-dfjlprwu] parameter
      -d date   取出在指定時間前最後生成的版本 
      -f        強制取出版本內容取代目前工作檔案 
      -j        取出並整合指定的版本內容
      -l        lock 取出版本 
      -p        取出版本內容至標準輸出( standard output ) 
      -r number 指定取出版本 
      -w name   取出指定作者名之版本 
      -u        取出 unlock 的版本內容
      
    2. 將檔案 important.c 讀出(check out)。
      [dywang@dywOffice testrcs]$ co important.c
      RCS/important.c,v  -->  important.c
      revision 1.1
      done
      [dywang@dywOffice testrcs]$ ll
      total 8
      -r--r--r-- 1 dywang users  226 Mar  5 14:15 important.c
      drwxr-xr-x 2 dywang users 4096 Mar  5 14:06 RCS/
      
    3. 將檔案 important.c 讀出(check out),以 co -l 鎖定取出版本。
      [dywang@dywOffice testrcs]$ co -l important.c
      RCS/important.c,v  -->  important.c
      revision 1.1 (locked)
      done
      [dywang@dywOffice testrcs]$ ll
      total 8
      -rw-r--r-- 1 dywang users  226 Mar  5 14:18 important.c
      drwxr-xr-x 2 dywang users 4096 Mar  5 14:18 RCS/
      
    4. 編輯 important.c,加入一行,並儲存新的版本:
      [dywang@dywOffice testrcs]$ vi important.c
      [dywang@dywOffice testrcs]$ cat important.c
      /*
         This is an important file for managing the project.
         It implements the canoncial "Hello World" program.
      */
      
      #include <stdlib.h>
      #include <stdio.h>
      
      int main()
      {
          printf("Hello World\n");
          printf("This is an extra line added later\n");
          exit(EXIT_SUCCESS);
      }
      
    5. 利用 ci 命令儲存改變處:
      [dywang@dywOffice testrcs]$ ci important.c
      RCS/important.c,v  <--  important.c
      new revision: 1.2; previous revision: 1.1
      enter log message, terminated with single '.' or end of file:
      >> Added an extra line to be printed out
      >> .
      done
      
    6. 查看目錄看到 important.c 再次被刪除。
      [dywang@dywOffice testrcs]$ ll . RCS
      .:
      total 8
      -rw-r--r-- 1 dywang users  226 Mar  5 14:18 important.c~
      drwxr-xr-x 2 dywang users 4096 Mar  5 14:24 RCS/
      
      RCS:
      total 4
      -r--r--r-- 1 dywang users 639 Mar  5 14:24 important.c,v
      
    7. 查看 important.c,v 內容
      [dywang@dywOffice testrcs]$ cat RCS/important.c,v
      head    1.2;
      access;
      symbols;
      locks; strict;
      comment @ * @;
      
      
      1.2
      date    2008.03.05.06.23.52;    author dywang;  state Exp;
      branches;
      next    1.1;
      
      1.1
      date    2008.03.05.06.06.15;    author dywang;  state Exp;
      branches;
      next    ;
      
      
      desc
      @This is an important demonstration file
      @
      
      
      1.2
      log
      @Added an extra line to be printed out
      @
      text
      @/*
         This is an important file for managing the project.
         It implements the canoncial "Hello World" program.
      */
      
      #include <stdlib.h>
      #include <stdio.h>
      
      int main()
      {
          printf("Hello World\n");
          printf("This is an extra line added later\n");
          exit(EXIT_SUCCESS);
      }
      
      @
      
      
      1.1
      log
      @Initial revision
      @
      text
      @d12 1
      @
      
  • 加上自己對該版本的附註( log )
    1. check in 時 RCS 會自動要求輸入:
      1. 初始 RCS archive file
        [dywang@dywOffice testrcs]$ rcs -i important.c
        RCS file: important.c,v
        enter description, terminated with single '.' or end of file:
        NOTE: This is NOT the log message!
        >> This is an important demonstration file
        >> .
        done
        # 可以輸入很多註解。要跳離提示符號,必須輸入(.),或者在檔案字元的結尾輸入 Ctrl+D。
        
      2. 寫入 archive file
        [dywang@dywOffice testrcs]$ ci important.c
        RCS/important.c,v  <--  important.c
        new revision: 1.2; previous revision: 1.1
        enter log message, terminated with single '.' or end of file:
        >> Added an extra line to be printed out
        >> .
        done
        
    2. 使用指令 ci -m"comment" file.c,將版本附註 comment 直接寫入 archive file 中,而不會再產生提示訊息。
      [dywang@dywOffice testrcs]$ co -l important.c
      RCS/important.c,v  -->  important.c
      revision 1.3
      done
      [dywang@dywOffice testrcs]$ vi important.c
      [dywang@dywOffice testrcs]$ ci -m"test for comment" important.c
      RCS/important.c,v  <--  important.c
      new revision: 1.4; previous revision: 1.3
      done
      [dywang@dywOffice testrcs]$ rlog -r1.4 important.c
      
      RCS file: RCS/important.c,v
      Working file: important.c
      head: 1.4
      branch:
      locks: strict
      access list:
      symbolic names:
      keyword substitution: kv
      total revisions: 5;     selected revisions: 1
      description:
      This is an important demonstration file
      ----------------------------
      revision 1.4
      date: 2008/03/07 02:30:48;  author: dywang;  state: Exp;  lines: +1 -0
      test for comment
      =======================================================================
      

  • 查詢檔案各版本附記( log )
    1. rlog 命令
      [root@dywHome2 ~]# rlog [-bhLRt] parameter
      -b    列出檔案主分支( default branch )的附記( log )一覽表 
      -h    列出檔案附記( log )的標頭( header ) 
      -L    若該檔有被 lock 則列出各版本附記( log )一覽表
      -R    列出檔案的 archive file 路徑與名稱
      -t    列出檔案附記( log )的標頭( header )+ 描述( description )
      
    2. 透過 rlog 命令查看檔案修改的摘要。
      [dywang@dywOffice testrcs]$ rlog important.c
      
      RCS file: RCS/important.c,v
      Working file: important.c
      head: 1.2
      branch:
      locks: strict
      access list:
      symbolic names:
      keyword substitution: kv
      total revisions: 2;     selected revisions: 2
      description:
      This is an important demonstration file
      ----------------------------
      revision 1.2
      date: 2008/03/05 06:23:52;  author: dywang;  state: Exp;  lines: +1 -0
      Added an extra line to be printed out
      ----------------------------
      revision 1.1
      date: 2008/03/05 06:06:15;  author: dywang;  state: Exp;
      Initial revision
      =======================================================================
      # 在 1.2 版中的第一行行尾 lines:+1 -0 表示增加了一行,但沒有刪除任何行。
      
    3. 透過 rlog 命令查看檔案附記( log )的標頭( header )。
      [dywang@dywOffice testrcs]$ rlog -h important.c
      
      RCS file: RCS/important.c,v
      Working file: important.c
      head: 1.2
      branch:
      locks: strict
      access list:
      symbolic names:
      keyword substitution: kv
      total revisions: 2
      =======================================================================
      
    4. 透過 rlog 命令查看檔案的 archive file 路徑與名稱。
      [dywang@dywOffice testrcs]$ rlog -R important.c
      RCS/important.c,v
      
    5. 透過 rlog 命令查看檔案附記( log )的標頭( header )+ 描述( description )。
      [dywang@dywOffice testrcs]$ rlog -t important.c
      
      RCS file: RCS/important.c,v
      Working file: important.c
      head: 1.2
      branch:
      locks: strict
      access list:
      symbolic names:
      keyword substitution: kv
      total revisions: 2
      description:
      This is an important demonstration file
      =======================================================================
      

  • 解決檔案未鎖住之錯誤
    1. 讀出 important.c,但未鎖住。
      [dywang@dywOffice testrcs]$ co important.c
      RCS/important.c,v  -->  important.c
      revision 1.2
      done
      [dywang@dywOffice testrcs]$ ll
      total 12
      -r--r--r-- 1 dywang users  276 Mar  6 09:56 important.c
      -rw-r--r-- 1 dywang users  277 Mar  5 21:09 important.c~
      drwxr-xr-x 2 dywang users 4096 Mar  6 09:56 RCS/
      
    2. 修改 important.c,並強制存檔後,無法寫入 archive file。
      [dywang@dywOffice testrcs]$ vi important.c
      [dywang@dywOffice testrcs]$ ci important.c
      RCS/important.c,v  <--  important.c
      ci: RCS/important.c,v: no lock set by dywang
      
    3. 以 rcs 鎖住後,即可寫入 archive file。
      [dywang@dywOffice testrcs]$ rcs -l1.2 important.c
      RCS file: RCS/important.c,v
      1.2 locked
      done
      [dywang@dywOffice testrcs]$ ci important.c
      RCS/important.c,v  <--  important.c
      new revision: 1.3; previous revision: 1.2
      enter log message, terminated with single '.' or end of file:
      >> test for lock
      >> .
      done
      

  • 版本之刪除
    1. 讀出 important.c,並鎖住。
      [dywang@dywOffice testrcs]$ co -l important.c
      RCS/important.c,v  -->  important.c
      revision 1.2 (locked)
      done
      
    2. 修改 important.c,存檔後,指定為原先版本( 1.2 ),則無法寫入 archive file。
      [dywang@dywOffice testrcs]$ vi important.c
      [dywang@dywOffice testrcs]$ ci -r1.2 important.c
      RCS/important.c,v  <--  important.c
      ci: RCS/important.c,v: revision 1.2 too low; must be higher than 1.2
      
    3. 寫入 archive file,版本為 1.3。
      [dywang@dywOffice testrcs]$ ci important.c
      RCS/important.c,v  <--  important.c
      new revision: 1.3; previous revision: 1.2
      enter log message, terminated with single '.' or end of file:
      >> test for lock
      >> .
      done
      
    4. 重新讀出 important.c( 版本為 1.3),並鎖住,修改後存檔。
      [dywang@dywOffice testrcs]$ co -l important.c
      RCS/important.c,v  -->  important.c
      revision 1.3 (locked)
      done
      [dywang@dywOffice testrcs]$ vi important.c
      
    5. 先移除原先版本( 1.3 )。
      [dywang@dywOffice testrcs]$ rcs -o1.3 important.c
      RCS file: RCS/important.c,v
      rcs: RCS/important.c,v: can't remove locked revision 1.3
      [dywang@dywOffice testrcs]$ rcs -u1.3 important.c
      RCS file: RCS/important.c,v
      1.3 unlocked
      done
      [dywang@dywOffice testrcs]$ rcs -o1.3 important.c
      RCS file: RCS/important.c,v
      deleting revision 1.3
      done
      
    6. 最後寫入 archive file,版本仍為 1.3。
      [dywang@dywOffice testrcs]$ ci important.c
      RCS/important.c,v  <--  important.c
      ci: RCS/important.c,v: no lock set by dywang
      [dywang@dywOffice testrcs]$ rcs -l1.2 important.c
      RCS file: RCS/important.c,v
      1.2 locked
      done
      [dywang@dywOffice testrcs]$ ci important.c
      RCS/important.c,v  <--  important.c
      new revision: 1.3; previous revision: 1.2
      enter log message, terminated with single '.' or end of file:
      >> test for deletes
      >> .
      done
      

  • 產生分支( branch )
    如果在版本 1.2 產生版本 1.3 之後, 又修改版本 1.2 的內容而欲生成新的版本, 則需在版本 1.2 處產生分支( branch ) 1.2.1.1。

    \begin{picture}(150,135)
\setlength{\unitlength}{1mm}
\put(0,20){\dashbox{}(20,...
...1)(0,-7)(1,-1)\qbezier(-1,1)(-1,0)(-1,-1)\qbezier(1,1)(1,0)(1,-1)}
\end{picture}
    1. 取出可寫入的版本 1.2
      [dywang@dywOffice testrcs]$ co -r1.2 -l important.c
      RCS/important.c,v  -->  important.c
      revision 1.2 (locked)
      done
      
    2. 如果沒有變動,直接寫入,不會產生版本 1.2.1.1
      [dywang@dywOffice testrcs]$ ci important.c
      RCS/important.c,v  <--  important.c
      file is unchanged; reverting to previous revision 1.2
      done
      [dywang@dywOffice testrcs]$ ll
      total 8
      -rw-r--r-- 1 dywang users  276 Mar  6 10:12 important.c~
      drwxr-xr-x 2 dywang users 4096 Mar  6 13:05 RCS/
      

    3. 重新讀出,並更改版本 1.2 的內容
      [dywang@dywOffice testrcs]$ co -r1.2 -l important.c
      RCS/important.c,v  -->  important.c
      revision 1.2 (locked)
      done
      [dywang@dywOffice testrcs]$ vi important.c
      [dywang@dywOffice testrcs]$ cat important.c
      /*
         This is an important file for managing the project.
         It implements the canoncial "Hello World" program.
      */
      
      #include <stdlib.h>
      #include <stdio.h>
      
      int main()
      {
          printf("Hello World\n");
          printf("This is an extra line added later\n");
          printf("test for branch\n");
          exit(EXIT_SUCCESS);
      }
      

    4. 寫入產生版本 1.2.1.1
      [dywang@dywOffice testrcs]$ ci important.c
      RCS/important.c,v  <--  important.c
      new revision: 1.2.1.1; previous revision: 1.2
      enter log message, terminated with single '.' or end of file:
      >> test for branch
      >> .
      done
      

    5. 查看版本訊息
      [dywang@dywOffice testrcs]$ rlog important.c
      
      RCS file: RCS/important.c,v
      Working file: important.c
      head: 1.3
      branch:
      locks: strict
      access list:
      symbolic names:
      keyword substitution: kv
      total revisions: 4;     selected revisions: 4
      description:
      This is an important demonstration file
      ----------------------------
      revision 1.3
      date: 2008/03/06 03:17:00;  author: dywang;  state: Exp;  lines: +1 -0
      test for deletes
      ----------------------------
      revision 1.2
      date: 2008/03/05 06:23:52;  author: dywang;  state: Exp;  lines: +1 -0
      branches:  1.2.1;
      Added an extra line to be printed out
      ----------------------------
      revision 1.1
      date: 2008/03/05 06:06:15;  author: dywang;  state: Exp;
      Initial revision
      ----------------------------
      revision 1.2.1.1
      date: 2008/03/06 05:07:38;  author: dywang;  state: Exp;  lines: +1 -0
      test for branch
      =======================================================================
      
練習題
  1. 如何以 rcs 指令初始程式 important.c 的 RCS 管理檔案。
    Sol. rcs -i important.c
  2. 若程式檔名為 important.c ,則其 RCS 管理檔案( archive file )檔名為何?
    Sol. important.c,v
  3. 以 rcs 指令初始 RCS 管理檔案或以 ci 指令寫入 RCS 管理檔案,會被要求輸入附記,請問如何結束輸入?
    Sol. 輸入一點(.),或按鍵 Ctrl+D。
  4. 如果希望 RCS 的管理檔案自動存放在一個子目錄,則必須建立怎樣的子目錄?
    Sol. 檔名為 RCS (不可為小寫)的子目錄。
  5. 如何將程式 important.c 從 RCS 管理檔案中讀出。
    Sol. co important.c
  6. 如何將程式 important.c 從 RCS 管理檔案中讀出,且鎖定取出版本。
    Sol. co -l important.c
  7. 如果從 RCS 管理檔案中讀出的程式 important.c 屬性為 -r--r--r--,則取出版本是否鎖定?
    Sol. 沒鎖定
  8. 如果從 RCS 管理檔案中讀出的程式 important.c 屬性為 -rw-r--r--,則取出版本是否鎖定?
    Sol. 已鎖定
  9. 將修改後的程式 important.c 存入 RCS 管理檔案後,檔案 important.c 是否存在?
    Sol. 不存在
  10. 有那兩種狀況,RCS 會自動要求輸入版本的附註( log )?
    Sol. 1. 初始 RCS 管理檔案;2.寫入管理檔案。
  11. 如何使用指令 ci,將程式 important.c 的版本附註 "test for log" 直接寫入管理檔案中,而不會再產生提示訊息?
    Sol. ci -m"test for log" important.c
  12. 如何使用指令 rlog,查詢程式 important.c 修改的摘要?
    Sol. rlog important.c
  13. 使用指令 rlog,查詢程式 important.c 修改的摘要,在版本 1.2 中,有一行行尾出現 "lines: +1 -0",代表意義為何?
    Sol. 表示增加了一行,但沒有刪除任何行。
  14. 如何使用指令 rlog,查詢程式 important.c 附記的標頭( header )?
    Sol. rlog -h important.c
  15. 如何使用指令 rlog,查詢程式 important.c 之管理檔案之路徑與名稱?
    Sol. rlog -R important.c
  16. 如何使用指令 rlog,查詢程式 important.c 附記的標頭( header ) + 描述( description )?
    Sol. rlog -t important.c
  17. 使用 rlog 指令,查看檔案 important.c 附註時,出現 locks: strict,代表意義為何?
    Sol. 鎖住方式為 strict
  18. 使用 rlog 指令,查看檔案 important.c 附註時,出現 keyword substitution: kv,代表意義為何?
    Sol. 識別關鍵字串解釋方式為 kv
  19. 如果以指令 co important.c 讀出程式 important.c,修改後以指令寫入 RCS 管理檔案,會出現什麼狀況?
    Sol. 沒有鎖住,故無法存入。
  20. 當從 RCS 管理檔案中讀出版本 1.2 之程式 important.c,但未鎖住,修改後要如何寫入 RCS 管理檔案?
    Sol. 先執行指令 rcs -l1.2 important.c 鎖住,再寫入。
  21. 如何從 RCS 管理檔案中,刪除版本 1.3 之程式 important.c?
    Sol. rcs -o1.3 important.c
  22. 如何從 RCS 管理檔案中,解除版本 1.3 之程式 important.c 鎖住?
    Sol. rcs -u1.3 important.c
  23. 如果在版本 1.2 產生版本 1.3 之後,要版本 1.2 處產生分支,則分支之序號為何?
    Sol. 1.2.1.1
  24. 如果從 RCS 管理檔案中,讀出版本 1.3 之程式 important.c,未經修改的情況下寫入管理檔案,是否會產生新的版本?
    Sol. 不會
  25. 如果從 RCS 管理檔案中,最新版本為 1.6 ,現在讀出版本 1.4 之程式 important.c,修改後再寫入管理檔案,產生的新版本序號為何?
    Sol. 1.4.1.1


next up previous contents
Next: 識別關鍵字串 Up: *RCS 版本控制系統 Previous: 版本控制   Contents
2017-06-14