svn 上傳 nutchez v2
- 要上傳的專案資料夾為 /home/myproject/nutchez-0.2
- 此資料夾用來上傳到svn 資料庫內,因此即使執行完import 後,裡面依然沒有 .svn 資料夾
- 要用svn 管控的資料夾在 /opt/svn_project/nutchez-0.2
- nutchez-0.2 資料夾 給 svn co 來建立,因此只要確定 /opt/svn_project/ 目錄存在,並且權限可讀寫即可
- 初始在svn 資料庫建立專案
(只有在svn 上建立專案的時候才需要run)
cd /home/myproject/ svn import ./nutchez-0.2 https://trac.nchc.org.tw/svn/cloud/nutchez-0.2
接著到http://trac.nchc.org.tw/cloud/browser 看是否增加了nutchez-0.2 資料夾
- 列出 svn 專案資料庫內有什麼資料夾
svn ls https://trac.nchc.org.tw/svn/cloud/
接著會問一大堆認證密碼什麼鬼的,密碼正確才可以列出檔案
- 下載專案
cd /opt/svn_project/ svn co https://trac.nchc.org.tw/svn/cloud/nutchez-0.2
- 更新專案
cd nutchez-0.2 svn update
- 加入檔案、資料夾的指令
svn mkdir aaa svn add bbb.txt
- 專案內容上傳
svn ci
- 情境模式 (節錄於http://of.openfoundry.org/help/vcs)
市場上有一間名為歐奔的軟體公司,主要從事程式碼撰寫的工作,有一天,開始覺得團隊合作上有些問題,在版本控制上,容易做許多白工,因此專案經理史托 曼(小史)決定將現有的專案交由 SVN 版本控制來做,看了手冊後,將原本未在版本控制下的程式法,利用 svn import 的方式匯入版本庫(repository)內。
svn import file:///tmp/repos/test team_project
接下來將工作分配給予兩位工程師李納斯(小李)與畢斯迪(小畢),兩位工程師分別先利用 svn checkout 下載程式碼後,開始進行小史交代的修改。
svn checkout file:///tmp/repos/test team_project
小史交派小李的工作是撰寫一個math模組,於是小李新增一個了一個 math 目錄,放了 math.h 與 math.cpp,寫了交代的運算函式後,利用 svn add,將整個 math 目錄加入預計提交的清單中。
svn add math
告一段落後,利用 svn commit 進行提交的動作。
svn commit
同時間小畢在看完程式碼後,也要開始進行原專案 bug 修改工作,並將小李的 math 函式納入新版程式使用,於是利用 svn update 先將最新的程式碼更新到 電腦中。
svn update file:///tmp/repos/test team_project
程式碼修改告一段落後,也利用 svn commit 進行提交的動作。 svn commit
好不容易,已完成進度的一半了,不過此時遇到了一些小麻煩,小李程式改一段落後,程式無法正常編譯了,但是上一版是可以的,因此小李利用 svn diff 終於找出程式錯誤的地方,原來是手滑多按了一個字母呀!改掉之後就回覆正常了。 svn diff
經歷了長時間的修改,商品終於要完整開放出來了,於是利用 svn export,輸出一份不帶有版本控制相關檔案資訊的程式碼,進行釋出的動作。
svn export file:///tmp/repos/test release_project