--- title: Lab Meeting Minutes 2021/08/11 tags: lab_meeting --- >Outline >[TOC] --- # PERAL Lab Meeting - 時間:110年08月11日15:00 - 地點:[Online]() - 出席者:吳坤熹老師、謝萬霖、周以恆、吳騰然、陳嘉瑋、劉怡君、田蕙瑜、劉又聖、洪胤勛、莊才賢、丘世宇(請假) - 會議主題: [SOP & RCS](http://ms15.voip.edu.tw/~angela.tien/0808_SOP_RCS.pptx) - 主講者: 田蕙瑜 - 主記: 劉又聖 ## 會議內容 - SOP (Standard Operating Procedure) - [實驗室各項事務連結](http://ms15.voip.edu.tw/~manager) - [實驗室相關技術文件 SOP & HOWTO](http://ms15.voip.edu.tw/~manager/HOWTO/index.html) - RCS (Revision Control System) - 針對單一檔案做版本控制 - CP. git 對整個專案做版本控制 - Concept - ![](https://i.imgur.com/bjKh8Xc.png) - 常用指令 ``` ci <filename> # Check in co <filename> # Check out rcsclean <filename> # Clean up working files mkdir RCS && mv *,v RCS # Create directory and move archive files to RCS/ rlog <filename> # Print log messages and other information about RCS files rcs –m< revision >:"<comment>" <filename> # Modify the log message of the given <revision> rcsdiff <filename> # Compare RCS revisions ident <filename> ``` - 常用參數 - `-l` : Lock file - `co -l <filename>`: 允許修改檔案 - `ci -l <filename>`: 可連續修改檔案 (不想 check in 又馬上 check out) - Comment - lock 只允許一個使用者鎖住檔案,允許多人編輯的檔案建議用 `-u` (unlock) 做 check in - Note - rlog information - 時間預設皆為「格林威治時間」 - 欲顯示當地時間請加 -z+08:00 - rcsdiff - 預設不指定版本,將當前修改的版本與最新版本做比較 - 也可以 -r1.1 -r1.3 比較兩版本的差異. - ident - 展開檔案內的 RCS Keyword (`$Id$`) - 不限於 text file,binary file 也能處理 - Keyword - 將 keyword 輸入至source檔後,不會立即生效;需要透過 check in 才會將 keyword 替換 - `$Id$` : 很多東西 - `$Date$` : 只有日期 - `$Revision$` : 只有版本 #### 建議&問題 1. `rcs –m< revision >:"<comment>" <filename>` 每次修改訊息,都需要重打一次 `"<comment>"`,這樣好像麻煩,能不能透過 text editor 的方式修改 [name=Johnson] Ans: 沒有辦法 [name=Angela] Ans: 善用 bash 的 history 和 Ctrl+R 就不致於太麻煩啦![name=Solomon] Ans: 根據當時的年代 (記憶體很小),沒有額外啟動 text editor 是合理的做法 [name=Solomon] 2. Why SOP交給文件管理人 check-in 而非作者自行 check-in? [name=Solomon] Ans: 當初考量到不是每個人都會使用 RCS 做版本控制,因此統一交給負責人處理,現在相信每位成員都有能力使用 RCS 做版本控制,可以交由實驗室成員自行處理 [name=Johnson] 3. RCS 是否有 Branch & Merge 的設計? [name=洪胤勛] Ans: 有. co -r 來 check out 某版本;ci -j 或 rcsmerge 來 merge. [name=Angela] 4. 是否能有遠端的 Repo,讓使用者可以遠端作業? [name=莊才賢] Ans: RCS 主要是管理單一檔案,主要修改都會在同一個 Host。沒有提供 Remo Repo 的服務 [name=Angela] 5. (請假,問題後補)[name=丘世宇] 6. RCS 是否能限制特定的使用者修改? [name=Phoebe] Ans: 透過目錄、檔案權限即可限制 [name=Angela] 依靠 Linux 系統本身的 r/w/x mod 權限控制去執行動作,RCS 本身無法取代 Linux 系統的訪問權限控制。 [name=Solomon] ``` 有一檔案(A: RW, B: R) B 能否對該檔案 co -l ``` Check out 的檔案會與 archive (,v檔)在同一目錄,所以除了對 archive 要有 read permission, 還必須考慮是否在該目錄有 write permission. 7. RCS 目錄的名字是否限定「RCS」,還是隨意皆可? [name=Jeffrey] Ans: Only 「RCS」 [name=Angela] 8. [name=Johnson] Q1: descripton vs log message,description 是否相當於 git 中的 README? Ans: Yes [name=Angela] Q2: rlog 中的 state 是甚麼意義?[name=Johnson] Ans: 可以標示該版本的狀態是 Stable、Experimental、Release [name=Johnson] Q3: RCS Keyword 是在甚麼時間點展開 [name=Johnson] Ans: Check in 時透過 RCS 程式處理 [name=Angela] Q4: `ident` 是展開所有 RCS Keyword 還是 ID only? [name=Johnson] Ans: ID only [name=Angela] Q5: RCS keyword 在 log message 也會生效? [name=Johnson] Ans: 實驗後發現不會 [name=Angela] ~~Ans: 應該後續 RCS 有更新,早期確實會展開 [name=Solomon]~~ Ans: 請大家看一下 Facebook 訊息。這個 Bug 似乎解得不完全。 [name=Solomon] 9. 一個目錄底下有多個子目錄,我不想在每個子目錄底下都建立 RCS 目錄,是否可以統一整理所有的 archive file 到同一個 RCS 目錄 [name=Henry] Ans: 猜想是可以,但不確定 ci、co 是否要指定 RCS 目錄 [name=Angela] Ans: 我猜想是不可以。RCS當初只有針對一個檔案,不是針對目錄。要達到Henry的目標,得另外設個環境變數指定目錄。這在後來的 CVS 中才添加了此功能。[name=Solomon] 10. RCS 是否可以做版本合併 [name=Toby] Ans: 使用 rcsmerge or rcs -j [name=Angela] 11. 希望可補充一些特殊功能如 -t, -k, -n [name=Edgar] Ans: 好 [name=Angela] 12. 大家在舉例時,最好例子先試過,command line 先寫下來,報告時照著操作。==臨場發揮很容易出錯==。[name=Solomon] 13. PPT 檔若有更新應公告,且使用不同檔名。[name=Solomon] ## 待追蹤事項 1. 事務連結中的「前負責人」在目前的版本中還需要顯示嗎? [name=Solomon] 2. SOP 文件的 file mode 很亂。不是 444 的請瞭解一下是否合理。[name=Johnson] 3. SOP/HOWTO 是否沿用 RCS 進行版本控制,或應與時俱進改用 git, 請研究。 [name=Johnson] ## 臨時動議 - 明天 16:00 周信宏老師來搬一桌二椅。徵求壯丁支援協助。 --- 散會結束時間: 17.35