前些天我寫了幾篇關于VisualSVN 、TortoiseSVN、AnkhSvn這幾個軟件配置管理的文章,但是當時沒有做后續(xù)的介紹了。
然后昨天我再看一下我自己寫的文章發(fā)現有些地方錯誤,還有一些要補充的地方,所以今晚想把這些內容補上,以免自己日后忘記了
我之前寫的文章的地址: VisualSVN 、TortoiseSVN、AnkhSvn軟件配置管理
下面說一下要補充的內容
1、當時我在? 系列三VisualSvn Server ?里說
“
如果不選擇Use secure connection ,Server Port那里,默認端口有80/81/8080三個;如果選中最后面的CheckBox,則表示使用安全連接【https協(xié)議】,端口只有433/8433二個可用。
默認是選用的。(Server Port那里,
我選擇的是端口80,沒有勾選Use secure connection,本人覺得沒有必要使用secure connection
)至于授權Authentication,
默認選擇 VisualSVN Server自帶的用戶和用戶組。
”
實際上應該 勾選Use secure connection,如果不這樣做的話你寫的代碼有可能被人偷取,由于當時本人想事情太輕浮了(不好意思各位),因為回家了,不能回公司測試,
所以在家里放置了VisualSvn Server,在網吧使用TortoiseSVN。 然后勾選?Use secure connection ,端口是8443,我使用TortoiseSVN下載代碼的時候 ,TortoiseSVN提示我需要憑據,
然后我點擊 確定,然后 提示我輸入VisualSvn Server上的用戶名跟密碼,我輸入了,其中需要憑據的那個對話框有兩個要求是符合的,估計是沒有證書的關系。輸入了用戶名、密碼后就開始下載代碼了。
我估計由于沒有證書的關系,所以就算下載成功了,可以使用VisualSvn Server來進行項目的版本管理了,但是傳輸的數據應該不是加密的,希望懂的人能給我提示怎麼安裝證書。
對于這個問題由于本人在網吧沒有截圖,而今晚在家里試驗的時候TortoiseSVN報錯,真的很抱歉
?
2、補充 :在?
系列五AnkhSvn
里面漏了說的,如果你修改了VisualSvn Server里面的URL,比如你原來的URL是https://joe:8443/svn/GPOS/
,然后你修改為公網的域名:https://joe.xicp.net:8443/svn/GPOS?(joe是我的計算機名),那么你原來在VS里面的項目跟原來已經簽出的文檔
就要全部重新下載了,比如你下載的代碼的項目文件夾在 GPOS文件夾里面 路徑:D:\GPOS,那么你就要刪除了這個文件夾里面的所有東西,重新
在VS里面選擇新的URL,重新下載到D:\GPOS 里面,原來的文檔也是,在TortoiseSVN里選擇新的URL,并新建文件夾重新下載到新建的文件夾
里面
?
?
?
最后附上今天我測試VisualSvn Server 的一些數據?
測試環(huán)境:網吧(安裝了TortoiseSVN) 家里(安裝了VisualSvn Server 、VS2008、AnkhSvn)
網絡:網吧帶寬:8M ?家里帶寬:4M
整個公司項目文件夾的大小是大約160MB
(1)使用了15分鐘下載完公司的項目的源代碼 包括bin文件夾 resharper文件夾(我們使用了?resharper這個VS2008的代碼提示工具插件,所以在項目文件夾下會有?resharper這個文件夾)
(2)在網吧里更新了代碼文件,在家里立刻update一下就可以看到在網吧里的修改
(3)下載完成后TortoiseSVN提示一共下載了40多50M的文件,這個需要請教一下高手,整個公司項目文件夾的大小是大約160MB,為什麼TortoiseSVN會提示一共下載了40多50M的文件
?
最最后,謝謝大家看完我的文章,衷心的感謝。
(如果還有什么不對,歡迎大家拍磚)
?說錯了,整個公司項目文件夾的大小是大約99MB,上傳整個公司項目文件夾到visual svn server需要使用8分鐘
注意:整個公司項目文件夾跟visual svn server都在同一臺電腦上
?
還有最后一點忘記說了,導入了項目文件夾之后,就可以把那個項目文件夾刪除了,服務器上只保存經過svn編碼過的代碼
只能使用svn軟件才能打開的,如果要備份整個項目文件夾,那就要在客戶端把自己的項目文件夾上傳到服務器的代碼備份的
文件夾里
如果所有的開發(fā)人員的代碼都丟失,然后服務器里的代碼備份的文件夾里沒有備份代碼,只能使用VS或者TortoiseSvn來下載
visual svn server上的代碼了
我估計項目代碼會保存在db文件夾里面,然后svn軟件自己解碼出來
?
?說一下今天2012-11-16日的問題:
visual svn sever在公司服務器上竟然裝不起來
在Windows2003 上安裝visual svn sever不能啟動svn服務安裝失敗
visual svn sever版本是2.1.4
Windows2003 standard SP1 32位
網上說要安裝一個補丁
windowsinstaller-kb893803-v2-x86.exe
但是我下載下來安裝的時候說:當前環(huán)境的版本比我這個補丁要新不用安裝
在Windows事件查看器里
VisualSVN Server 服務因 1 (0x1) 服務性錯誤而停止。
在服務列表里,自己手動啟動也失敗,服務已經設置為自動啟動
--------------------------------------------------------------------------------------------------
操作系統(tǒng)打了SP2補丁還是不行
最后我把svn服務的啟動帳戶設置為本地帳戶就可以了
在visual svn server的網站上找到這句話
VisualSVN Server stores all repositories (and any related data) in a single folder on the local disk (C:\Repositories by default). This article describes how to configure VisualSVN Server to store repositories on a network share.
Configuring required access permissions
?Required access permissions for the repositories folder stored on a local disk are configured automatically by VisualSVN Server during the installation. If repositories are stored on a network share, you should configure access permissions manually
By default, built-in system Network Service account is used to run VisualSVN Server service. This account has minimum privileges on the local computer and acts as the computer on the network, so you should simply grant access to the computer where VisualSVN Server is installed.
這句話大概是說,如果你把代碼倉庫放在本機Repositories,那么不需要network service帳戶來啟動svn服務,如果Repositories代碼倉庫放在局域網里的其他
機器上,就需要network service帳戶來啟動svn服務,因為network service帳戶才有訪問網絡文件的權限
幸虧代碼倉庫是放在本機,否則用不上了!!!
文章地址: http://www.visualsvn.com/support/topic/00022/
?
項目終于做完了,總結一下使用SVN的感受,感覺SVN沒有VSS好,本來以為可以合并代碼解決沖突的,但是我們的項目是winform項目,在一個窗體的
designer文件里的代碼是VS自動生成的,有幾次發(fā)生過designer文件里的代碼沖突,因為兩個人同時編輯一個窗體,A程序員刪除了窗體中的一個控件
B程序員沒有刪除窗體中的任何一個控件,那么當代碼合并的時候問題就來了,有幾次發(fā)生了XX控件調用了begininit()方法而沒有endinit(),本以為
隨便加一個endinit()方法就可以了,但是試過這種方法不行,endinit()方法不能隨便添加,endinit()的添加是有規(guī)律的,而且VS的添加的begininit()
和begininit()不是 XX控件.begininit? XX控件.endinit() 而是
1 ((System.ComponentModel.ISupportInitialize)( this .superTab_SerList)).BeginInit(); 2 ((System.ComponentModel.ISupportInitialize)( this .superTab_SerList)).EndInit();
?
每次遇到designer文件里的代碼沖突都是災難,我們都要重新把前一日備份代碼放回到項目里,然后然后刪除SVN項目里的代碼庫,又重新建代碼庫
然后重新導入代碼,雖然SVN也提供了像VSS的 “鎖” 的功能,但是需要手動在文件上按右鍵,加鎖,不像VSS,一開始所有文件都已經加鎖
希望大家使用過的,分享一下SVN的重要地方和使用方法
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
