這是搬家之前的地址:免得以下復制的文章有遺漏
一、打開終端,創建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了。
如果你開啟了多個svn,那你就在終端輸入指令:ps aux |grep svn,然后緊跟你Mac用戶名后面的那個數字(此處是2698),并且末尾也會告訴你這個數字與你開啟的哪個SVN相對應。
我的是:hutton2 2698 0.0 0.0 2462016 748 ?? Ss 11:38上午 0:00.03 /Applications/Xcode.app/Contents/Developer/usr/bin/svnserve -d -r /Users/hutton2/Documents/GG Boy(這個地址是我在下一篇博客中復制過來的,用在這里只不過是在做示例)
四、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之后的儲存文件誰都會呢!
說到添加靜態庫文件進svn庫,我記得是需要在終端里邊寫指令的,但是我很懶,暫時不說了。所以,大家去網上查吧,這個很多的
番外篇_1:上次有說svn import的事情,但是那個還有一種情況,比如svn有端口號呢,所以,這次說的就是這個問題,因為這次是純手打,所以寫得就簡略一點,所有東西沿用上面的(“命令行、地址”)
1、開svn服務器(帶有端口號)
svnserve -d -r +版本庫地址 --listen-port +端口號(你設置2000也沒人管你)
svnserve -d -r /Users/hutton2/Desktop/SVNserver --listen-port 2000
2、import項目(因為有了端口號號所以麻煩一點)
svn import +作為源文件的項目地址+svn版本庫地址+username+password +注釋,
svn import /Users/hutton2/Desktop/testDemo svn://localhost:2000/SVNserver --username=zhuzhuxia --password =123456 -m"豬豬俠在這 "
3、checkOut(這次的cheakOut我舍棄了命令行,無論別人還是自己均去Xcode里邊輸地址)
svn://+ip地址:端口號/svn庫文件夾名稱
svn://192.168.8.wangnima:2000/SVNserver
番外篇_2:豬豬俠,你.a文件不能上傳咧,你可不可以先學一下再來寫簡書啊,我們這邊全是大牛,你別來班門弄斧啊,說笑的啦,上次有位大神指出了這個問題,這次就添上好了。
不能上傳.a文件的原因在與.a文件默認是被忽略的,所以需要把它“解救出來”
在終端中:打開svn后,就在配置文件中刪掉.a選項好了
輸入命令行:open ~/.subversion/config,會彈出config文件,然后Command+F檢索miscellany字樣,然后在下方
global-ignores = *.o *.lo *.la *.al .libs *.so .so.[0-9] *.a *.pyc *.pyo
.rej ~ ## .# .*.swp .DS_Store
中刪除掉.a,保存就好了。因為被忽略的選項之間是有空格符隔開的,所以刪除.a后需要把.pyc移至so.[0-9]的空格符后,讓一切看起來像原來一樣,比如這樣的:
global-ignores = *.o *.lo *.la *.al .libs *.so .so.[0-9] *.pyc *.pyo
.rej ~ ## .# .*.swp .DS_Store
,然后checkOut下來之后打開項目可能是看不見.文件的,但是沒事,他在項目文件中的,你
添加進來就好了
還有一種說法是直接在終端add .a文件
cd +.a文件存在的目錄下
然后svn add xxx.a文件
這種方法我沒實踐過,我不打包票,說實話,把文件checkOut下來之后,我所有的操作都在Xcode里邊進行,若非出現解決不了的問題,我永遠不會回終端