SVN用戶端安裝配置和使用(windows)

來源:互聯網
上載者:User

1、  到svn官方網站http://subversion.trigris.org/下載伺服器安裝包svn-win32-1.6.1.zip,將該壓縮包解壓到D:/subversion目錄下,出現D:/subversion/bin。建立D:/svn,在命令列該目錄(D:/subversion/bin/)下輸入svnadmin
create D:/svn/repos1,如果建立成功,D:/svn下將會多一個repos1目錄。

 

2、  讓svnservice服務隨Windows系統一起啟動,在命令列下輸入:sc create svnservice binPath= "/"D:/subversion/bin/svnserve.exe/" --service -r D:/svn" start= auto

 

3、  許可權配置:
在進行許可權配置前,所有的使用者都能進行任何操作,在很多情況下是不允許的。在建立倉庫時,倉庫目錄(如:D:/svn/repos1)下都會產生好幾個檔案夾,其中conf裡面儲存的是配置資訊,包括三個檔案:
authz:存取權限配置
passwd:使用者名稱和密碼配置
svnserve.conf:基本配置資訊
⑴先配置svnserve.conf,將裡面幾項配置前的注釋去掉,最後的內容如下:
[general]
#anon-access = read
#auth-access = write
password-db = passwd
authz-db = authz
這些參數的含義檔案裡都有詳細說明,其中,anon-access和auth-access分別是對匿名使用者以及認證使用者的存取控制,password- db指明使用者密碼檔案路徑,authz-db指明許可權設定檔路徑。另外還有一個參數realm用於指明倉庫所屬的認證域,預設情況下每個倉庫位於不同的域(每個倉庫有一個唯一的uuid),因此我們可以不設定該項,除非多個倉庫需要共用同一份passwd配置。
⑵passwd檔案的配置很簡單,格式如下(等號前面為使用者名稱,後面為密碼):
[users]
#harry = 123
#sally = 123
sunxiaoyong = 11111111[A1] 
⑶authz則可以建立使用者組並精確配置某個使用者或使用者組對某個檔案或目錄的存取權限,下面是一個例子:
[groups]
#harry_and_sally = harry,sally
 

[/]
sunxiaoyong = rw
* = r[A2]

#[/project1]
#* =
#harry = rw
#sally = r

#[/project1/foo]
#sally =

#[/project2]
#@harry_and_sally = rw
#guest = r
檔案內容其實很簡單易懂,groups用於定義使用者組,後面便是對資源的具體存取控制,/表示倉庫根目錄,*表示所有使用者,使用者組前面需加上@符號,r表示可讀,w表示可寫,等號右邊為空白則表示沒有許可權。注意對於目錄結構,當使用者訪問某個資源時,SVN會先看有沒有直接針對該資源的存取控制,如果沒有找到,則會繼承上一級目錄的存取權限,如此遞推。

補充再提一點,當我們有多個倉庫時,我們會發現這些倉庫的使用者帳號在大多數情況下都是相同的,因此,我們可以將passwd檔案放到公用的地方,然後將所有倉庫的password-db配置都指向該檔案。相應的,authz-db也可以共用一個檔案,不過需要在配置具體的存取控制時指明所屬的倉庫,如下:

[/]
* = r
 

[repos1:/project1]
* = r
harry = rw

[repos2:/project1]
* = r
sally = rw
上述配置表明,所有人對所有倉庫的根目錄都有讀許可權,但只有harry對倉庫repos1裡的project1有讀寫權限,只有sally對倉庫repos2裡的project1有讀寫權限。

 


--------------------------------------------------------------------------------

 [A1]建立使用者

 [A2]設定許可權

完成了svn伺服器的安裝配置,怎麼使用svn呢?在Windows下,最常用的svn用戶端是TortoiseSVN,有時簡稱為TSVN。

TortoiseSVN安裝

可以從http://tortoisesvn.tigris.org/下載最新版,目前最新版是TortoiseSVN-1.5.6.14908。

下載後,安裝。重啟機器,使目錄表徵圖生效。

在資源管理員中,滑鼠右鍵點擊任意位置,右鍵菜單中出現“SVN Checkout”,即為安裝成功。

svn操作流程

開發人員使用svn進行開發的一般流程是:
checkout(檢出)項目
——> 更新檔案或目錄 ——> update
——> 修改檔案或目錄 —— commit(提交)變更
——> 增加檔案或目錄 ——> add(增加) 檔案或目錄——> commit(提交)
——> 刪除檔案或目錄 ——> commit(提交)上一級目錄

其中,checkout只進行一次,update、commit、add操作根據需要會經常使用。

checkout(檢出)操作

在資源管理員中,滑鼠右鍵點擊任意位置,在菜單中選擇”SVN Checkout”。

出現對話方塊,在”URL of repository:”中輸入svn串,格式是”協議://ip:port/版本庫/項目/目錄“。根據實際情況輸入,例如http://code.google.com/p/google-web-toolkit/source。如有疑問,向svn伺服器管理員詢問。

在“checkout directory”中輸入本地存放代碼的目錄,請選擇空目錄或新目錄。svn會清空該目錄下的一切檔案。輸入完畢,點擊”ok”按鈕。

如果需要,會提示輸入使用者名稱和密碼。選上”Save authentication”後,以後可以自動登入,不必重輸密碼。

checkout…有時候時間會很長。結束,點”ok”。

update(更新)操作

在資源管理員中,選擇本地目錄或檔案,滑鼠右鍵菜單選擇”SVN Update”。會提示有無檔案需要更新,點”ok”完成。

commit(提交)操作

把本地目錄中變化了的檔案或目錄提交到版本庫中,用commit操作。增加新檔案或目錄,要先用add,再commit。刪除檔案或目錄,commit上一級目錄。

在資源管理員中,選擇本地目錄或檔案,滑鼠右鍵菜單選擇”SVN Commit”。

顯示分上下2個框的介面。在上框輸入解說文字,建議寫版本號碼或變更原因,以便將來尋找。下框列出提交的內容。沒有可提交的內容,下框中會顯示一段解說文字。點“ok”。

提交結束,顯示結果。點“ok”。

解決代碼衝突

如果commit時出現“You have to update your work copy first.”紅色警告,說明版本庫中的此檔案已經被其他人修改了。請先點“ok”按鈕退出。執行update,然後再commit。

如果修改與update得到的代碼不衝突,則自動合并。如果衝突(比如對同一行代碼進行了修改),則出現”One or more files are in a conflicted state.“紅色警告,併產生幾個檔案記錄衝突。一般情況下,我們不要直接編輯衝突檔案。而按照以下操作手工解決衝突。

在資源管理員中,選擇commit時衝突的那個檔案,滑鼠右鍵菜單選擇”Edit conficts”。

出現介面,分為”Theirs”、”Mine”和”Merged”3部分,表示”別人修改的內容”、 ”我修改的內容”和”合并後的結果”3部分。我們是要將”別人修改的內容”和”我修改的內容”有取捨地合并起來,形成”合并後的結果”。

合并一般分為4種情況:

  • 保留”我的修改”,捨棄”別人的修改”。滑鼠右鍵點擊Mine框的相應行,點擊”Use this text block”。
  • 捨棄”我的修改”,保留”別人的修改”。滑鼠右鍵點擊Theirs框的相應行,點擊”Use this text block”。
  • 同時保留”我的修改”和”別人的修改”,並將”我的修改” 放在前面。滑鼠右鍵點擊Mine框的相應行,點擊”Use text block from mine before theirs”。
  • 同時保留”我的修改”和”別人的修改”,並將”別人的修改”放在前面。滑鼠右鍵點擊Mine框的相應行,點擊”Use text block from theirs before mine”。

合并完成,Ctrl+S存檔,退出。

然後,在資源管理員中,選擇衝突檔案,滑鼠右鍵菜單選擇”Resolved”,標記衝突已解決。系統會自動刪除因衝突而建立的檔案。此時,就可以繼續進行commit操作了。

add(增加)操作

增加新檔案或目錄,要先用add,再commit。

在資源管理員中,選擇新增的目錄或檔案,滑鼠右鍵菜單選擇”Add”。

提示增加的檔案。點“ok”繼續。結束點“ok”。

刪除操作

刪除檔案或目錄,commit上一級目錄。

本文來自http://jijian91.com  原文http://jijian91.com/blog20061215/tortoisesvn.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.