用Xcode內建的svn搭建本地SVN伺服器
一、開啟終端,建立svn資產庫
svnadmin create /Users/hutton2/Desktop/SVNserver
此處的SVNserver就是SVN資產庫名稱,我比較懶,所以事先就在案頭建立了一個空檔案夾,當我在終端輸入svnadmin create之後就把案頭上的空檔案夾拖進svnadmin create之後,這樣就不需要我們手打地址了,並且地址精準。
二、配置SVN許可權
你建立的SVN資產庫中的情形大概就是這樣的,然後我們的修改authz、passwd、svnserve.conf這三個檔案,直接用文本工具開啟就好
1、authz
a、修改之前呢是這樣的,
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
# [/foo/bar]
# harry = rw
# &joe = r
# * =
b、修改之後呢是這樣的
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
testGroup =zhuzhuxia,xiaofeifei
[/]
@testGroup=rw
[/]
zhuzhuxia=rw
xiaofeifei=rw
# [/foo/bar]
# harry = rw
# &joe = r
# * =
很明顯中間多了這麼一串
testGroup =zhuzhuxia,xiaofeifei
[/]
@testGroup=rw
[/]
zhuzhuxia=rw
xiaofeifei=rw
首先呢,testGroup就是你所建立的組名了,自訂的,隨便寫。
zhuzhuxia,xiaofeifei這個呢就是你的群組成員
[/]
@testGroup=rw
[/]
zhuzhuxia=rw
xiaofeifei=rw
這個就是所謂的配置許可權了,[/]代表你SVN中的所有資源,再加上@testGroup=rw意思是該小組中所有成員對SVN中的所有資源具有讀寫權限,rw = read and write
至於為什麼後面又要加上
[/]
zhuzhuxia=rw
xiaofeifei=rw
這一串我就不是很清楚了,畢竟這個涉及得少。
2、passed
成員添加了就該設定密碼了吧
修改前:
[users]
# harry = harryssecret
# sally = sallyssecret
修改後:
[users]
# harry = harryssecret
# sally = sallyssecret
zhuzhuxia=123456
xiaofeifei=123456
3、svnserve.conf
修改前:
其中有這麼四段,自己去找吧
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = author
修改後:
刪掉每段前面的空格和#,
其中值得注意的是:anon-access = read這個表示用於他人匿名查看你的資源,但是他僅僅具有查看功能,
anon-access = none這個呢就代表要查看資源必須具有帳號和密碼
anon-access = none
auth-access = write
password-db = passwd
authz-db = author
如此,SVN的許可權就配置好了
三、啟動SVN
svnserve -d -r /Users/hutton2/Desktop/SVNserver
為了防止出錯,後面的資產庫地址我們直接拖檔案夾進終端,而不是手寫。
按下enter後如果終端沒有提示那基本上就是成功了。
當然你也可以用系統內建的活動監視器,去搜尋svn然後你就會看到有svn了。
四、import專案檔
svn import /Users/hutton2/Desktop/testDemo svn://localhost/SVNserver --username=zhuzhuxia --password =123456 -m"豬豬俠在這 "
其中/Users/hutton2/Desktop/testDemo是你要提交的專案檔夾,
svn://localhost/SVNserver是本地SVN資產庫的檔案夾名稱,此時不需要你在用拖的方式了,因為svn啟動之後是能檢測到本地svn的。
如果你想單個項目多個分組,那個你可能要把特定源檔案存在特定分組中,比如:我們要把import源檔案到SVNserver的子檔案夾hollo中,那麼我們的 地址就變成了svn://localhost/SVNserver/hello,後面的地址理所當然也應該隨之而變。
-m"豬豬俠在這 " 這是注釋,必須寫的,當然我是指-m" ",這一串,如果你不願意在注釋中寫東西,你直接給個空格符就好,但是千萬別什麼都不寫。
import時他會要你提供你的SVN帳號和密碼,按它說的做就是了
五、checkOut一份源檔案
不要說源檔案是從你這傳上去的你不需要check,你需要的,你的源檔案大概是不享有SVN的權利的,updata、commit、push的
svn checkout svn://localhost/SVNserver --username=zhuzhxia --password=123456 /Users/hutton2/Desktop/project
分組:svn checkout svn://localhost/SVNserver/hello --username=zhuzhxia --password=123456 /Users/hutton2/Desktop/project
其中:svn://localhost/SVNserver跟import時一樣,是你資產庫的地址
/Users/hutton2/Desktop/project就是你要把這份資源check到何處的地址
構成:svn check +資產庫地址+SVN賬戶+密碼+指定的本地檔案夾地址
輸入命令之後也是要輸密碼的
當然,輸錯了會再次彈出輸出使用者的命令列,就像我一樣。
六、小夥伴用Xcode check源檔案
開啟Xcode,點擊首介面的Check out an existing project
進入下一介面,在or enter a repository location:下邊輸入SVN地址
我的地址svn://192.168.8.wangnima/SVNserver,開個玩笑,怎麼可能有192.168.8.wangnima這麼奇葩的IP,我只是不想告訴你啦!
地址的構成是:svn://SVN資產庫持有人的IP+資產庫名:svn://192.168.8.wangnima/SVNserver
分組:svn://SVN資產庫持有人的IP+資產庫名+子檔案名稱:svn://192.168.8.wangnima/SVNserver/hello
正常的話進入check Out介面後左下角是沒有報錯資訊的,你按著提示輸入你的svn帳號和密碼就行了,
點擊next之後的儲存檔案誰都會呢!