<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    閔毓
    http://www.eshoo.com.cn 歡迎來到異客中國
    posts - 49,comments - 97,trackbacks - 0

    原文出處:http://blog.163.com/air-blue55/blog/static/9708657020105612454398/


    有兩種方案:

    * VisualSVN Server,安裝更簡單、更直觀:http://www.visualsvn.com/server/download/

    傳統的Subversion 服務器程序:
    一、準備工作

    1、獲取 Subversion 服務器程序

    到官方網站(http://subversion.tigris.org/)下載最新的服務器安裝程序。目前最新的是1.5版本,具體下載地址在:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91


    2、獲取 TortoiseSVN 客戶端程序

    從官方網站 http://tortoisesvn.net/downloads 獲取最新的 TortoiseSVN 。TortoiseSVN 是一個客戶端程序,用來與 subvers 服務器端通訊。Subversion 自帶一個客戶端程序 svn.exe ,但 TortoiseSVN 更好操作,提高效率。


    二、安裝服務器端和客戶端

    安裝 Subversion(以下簡稱SVN)的服務器端和客戶端。下載下來的服務器端是個 zip 壓縮包,直接解壓縮即可,比如我解壓到E:\subversion 。客戶端安裝文件是個 exe 可執行文件,直接運行按提示安裝即可,客戶端安裝完成后提示重啟。


    三、建立版本庫(Repository)

    運行Subversion服務器需要首先要建立一個版本庫(Repository)。版本庫可以看作是服務器上集中存放和管理數據的地方。

    開始建立版本庫。首先建立 e:\svn 空文件夾作為所有版本庫的根目錄。然后,進入命令行并切換到subversion的bin目錄。輸入如下命令:

    svnadmin create E:\svn\repos1

    此命令在 E:\svn 下建立一個版本庫 repos1 。repos1 下面會自動生成一些文件夾和文件。

    我們也可以使用 TortoiseSVN 圖形化的完成這一步:

    先建立空目錄 E:\svn\repos1 ,注意一定是要空的。然后在 repos1 文件夾上“右鍵->TortoiseSVN->Create Repository here...”,然后可以選擇版本庫模式,這里使用默認的FSFS即可,然后就創建了一系列文件夾和文件,同命令行建立的一樣。



    四、運行獨立服務器

    此時 subversion 服務還沒有開始,只是通過它的命令建立了版本庫。繼續在剛才的命令窗口輸入:

    svnserve.exe --daemon

    svnserve 將會在端口 3690 等待請求,--daemon(兩個短橫線)選項告訴 svnserve 以守護進程方式運行,這樣在手動終止之前不會退出。注意不要關閉命令行窗口,關閉窗口會把 svnserve 停止。

    為了驗證svnserve正常工作,使用TortoiseSVN -> Repo-browser 來查看版本庫。在彈出的 URL 對話框中輸入:

    svn://localhost/svn/repos1

    點 OK 按鈕后就可以看見 repos1 版本庫的目錄樹結構了,只不過這時 repos1 是個空庫。

    你也可以使用--root選項設置根位置來限制服務器的訪問目錄,從而增加安全性和節約輸入svnserve URL的時間:

    svnserve.exe --daemon --root drive:\path\to\repository

    以前面的測試作為例,svnserve 將會運行為:
    eg:
    svnserve.exe --daemon --root e:\svn

    然后TortoiseSVN中的版本庫瀏覽器URL縮減為:

    svn://localhost/repos1

     

     

    ==svn開機自啟動=====================

    創建autoRunSVN.bat文件,內容是:

     

    Cpp代碼

    sc create MySVNServer binpath= "\"C:\Program Files\Subversion\svnserve\svnserve\" --service -r H:\homerepos" displayname= "SVNService" depend= Tcpip start= auto  

    pause 

    sc create MySVNServer binpath= "\"J:\java\Subversion\bin\svnserve.exe" --service -r \"G:\svn repository\"" displayname= "SVNService" depend= Tcpip start= auto

    pause

     注意之處:

    (1)sc是windows自帶的服務配置程序,MySVNServer 是服務的名稱,似乎沒什么用。

     

    (2)參數binPath表示svnserve可執行文件的安裝路徑,由于路徑中的"Program Files"帶有空格,因此整個路徑需要用雙引號引起來。而雙引號本身是個特殊字符,需要進行轉義,因此在路徑前后的兩個雙引號都需要寫成\" 。

    (3)--service參數表示以windows服務的形式運行,--r指明svn repository的位置,service參數與r參數都作為binPath的一部分,因此與svnserve.exe的路徑一起被包含在一對雙引號當中,而這對雙引號不需要進行轉義。

     

    (4)displayname表示在windows服務列表中顯示的名字, depend =Tcpip 表示svnserve服務的運行需要tcpip服務,start=auto表示開機后自動運行。安裝服務后,svnserve要等下次開機時才會自動運行。 (5)binPath的等號前面無空格,等號后面有空格 displayname depend start也都一樣

    service前面是--,不是- ,而r前面是-

    (6)若要卸載svn服務,則執行 sc delete svnserve 即可。 

     

    (7)從“sc”到“auto”是在同一個命令sc,必須寫在同一行。

     

          創建成功后,可以在運行中鍵入service.msc察看系統服務,找到SVNService項,查看這項服務的屬性,可以使用Windows提供的界面操作SVNService服務了。

     

    P.S. 經本人實驗,以上的SVN開機自啟動方法一直無法實現,由于不會寫批處理語句,也不知道是哪里錯,但網上很多地方都是用這種方法去實現  開機自啟動。最后,只能重新找了一種新方法,雖然無法開機自啟動,但可以較方便實現多個服務進程和管理多個文件夾,請各位自行選擇。

    創建SVNService.bat文件,內容如下(尊重作者版權,請勿刪除作者信息):

     

    @ECHO OFF
    ::======================================================================
    ::作者     : Zealic
    ::版本     : 1.05
    ::功能     : 通過簡便快捷的方式安裝 Subversion.
    ::最后更新 : 2007-12-28
    ::======================================================================
    ::初始化環境
    ::======================================================================

     

    ECHO *** 安裝 Subversion 服務 ***

    ::======================================================================
    ::======================================================================
    ::創建服務
    ::======================================================================
    ECHO +++ 創建資源庫服務 +++
    ECHO 創建系統服務,這需要輸入一些信息...

    :INPUT_SVC_NAME
    SET /P svc_name=請輸入服務名     : 
    ::服務名不能為空值
    if "%svc_name%" == "" (
      ECHO 服務名不能為空,請重新輸入。
      GOTO INPUT_SVC_NAME
    )
    ::查詢服務是否存在,通過查找輸出是否存在錯誤,"1060:"是發生錯誤是時輸出的錯誤代碼。
    SC QUERY "%svc_name%" | find "1060:" >> NUL
    IF %errorlevel% == 1 (
      ECHO 服務 "%svc_name%" 已經存在!請重新輸入服務名。
      GOTO INPUT_SVC_NAME
    )
    ECHO.

    ::輸入資源庫信息
    :INPUT_REPOS
    SET /P    repos=請輸入資源庫路徑 : 
    ECHO.

    ::創建服務
    ECHO 您使用以下信息創建 Subversion 服務 : 
    ECHO 服務名稱   : "%svc_name%"
    ECHO 資源庫路徑 : "%repos%"
    ECHO 正在創建服務...
    SC create %svc_name% binPath= "\"E:\Subversion\bin\svnserve.exe\" --service -r \"%repos%\"" depend= Tcpip start= auto| find "1060:" >> NUL
    ECHO.
    IF %errorlevel% == 0 GOTO SC_ERROR
    ECHO --- 創建服務成功! ---
    ECHO.
    ECHO.

    ::======================================================================
    ::生成操作批處理文件
    ::======================================================================
    ECHO +++ 生成服務操作批處理 +++
    ECHO 服務操作批處理文件可以幫助您快速操作服務。
    SET bat_delete=DELETE_%svc_name%.BAT
    SET bat_start=START_%svc_name%.BAT
    SET bat_stop=STOP_%svc_name%.BAT
    ECHO 生成刪除服務批處理 "%bat_delete%" ...
    ::bat_delete
    ECHO @ECHO OFF> %bat_delete%
    ECHO NET STOP %svc_name%>> %bat_delete%
    ECHO SC delete %svc_name%>> %bat_delete%
    ECHO DEL %bat_start%>> %bat_delete%
    ECHO DEL %bat_stop%>> %bat_delete%
    ECHO DEL %bat_delete%>> %bat_delete%
    ECHO PAUSE>> %bat_delete%
    ::bat_start
    ECHO 生成運行服務批處理 "%bat_start%" ...
    ECHO @ECHO OFF> %bat_start%
    ECHO NET START %svc_name%>> %bat_start%
    ECHO PAUSE>> %bat_start%
    ::bat_stop
    ECHO 生成停止服務批處理 "%bat_stop%" ...
    ECHO @ECHO OFF> %bat_stop%
    ECHO NET STOP %svc_name%>> %bat_stop%
    ECHO PAUSE>> %bat_stop%
    ECHO.
    ECHO --- 生成服務操作批處理成功! ---
    ECHO.
    ECHO.

    ::======================================================================
    ::Finish
    ::======================================================================
    ECHO ### 所有操作成功! ###
    GOTO END

    ::======================================================================
    ::錯誤段
    ::======================================================================
    :ENV_ERROR
    ECHO --- 設置環境變量失敗! ---
    GOTO END

    :SC_ERROR
    ECHO --- 創建服務失敗! ---
    GOTO END

    :SC_INV_PORT
    ECHO 無效的端口號,請重新輸入。
    GOTO INPUT_SVC_PORT

    :END
    PAUSE

    其中SC create %svc_name% binPath= "\"E:\Subversion\bin\svnserve.exe\" --service -r \"%repos%\"" depend= Tcpip start= auto| find "1060:" >> NUL需要將binpath改為svnserve.exe所在路徑,之后就可以運行服務了。

     

    五、配置用戶和權限

    用文本編輯器打開E:\svn\repos1\conf目錄,修改svnserve.conf

    將:

    # password-db = passwd

    改為:

    password-db = passwd

    即去掉前面的 # 注釋符,注意前面不能有空格。

    然后修改同目錄的passwd文件,增加一個帳號:

    將:

    [users]
    # harry = harryssecret
    # sally = sallyssecret

    增加帳號:

    [users]
    #harry = harryssecret
    #sally = sallyssecret
    test = test


    六、初始化導入

    下面就是將我們的數據(項目)導入到這個版本庫,以后就由版本庫管理我們的數據。我們的任何改動都回被版本庫記錄下來,甚至我們自己丟失、改錯數據時版本庫也能幫我們找回數據。

    比如,我在 d:\wwwroot 下有個 guestbook 文件夾,里面存放的是我編寫的留言簿程序。在此文件夾上“右鍵 -> TortoiseSVN -> Import...” ,在彈出對話框的“URL of repository”輸入“svn://localhost/repos1/guestbook”。在“Import message”輸入“導入整個留言簿”作為注釋。
    點 OK 后要求輸入帳號。我們在用戶名和密碼處都輸入 test 。完成后 guestbook 中的內容全部導入到了 svn://localhost/svn/repos1/guestbook 。

    我們看到在 e:\svn\repos1 沒有任何變化,連個 guestbook 文件夾都沒有建立,唯一的變化就是e:\svn\repos1容量變大了。實際上我們源guestbook中的內容已經導入 repos1 版本庫了,源 guestbook 文件夾可以刪除了。

    需要注意的是,這一步操作可以完全在另一臺安裝了 TortoiseSVN 的客戶機上進行。例如運行svnserve的主機的IP是133.96.121.22,則URL部分輸入的內容就是“svn://133.96.121.22” 


    七、基本操作流程

    1、取出(check out)

    取出版本庫到一個工作拷貝:

    來到任意空目錄下,比如在f分區建立一個空文件夾 f:\work 。“右鍵 -> SVN Checkout”。在“URL of repository”中輸入“svn://localhost/svn/repos1/guestbook”,這樣我們就得到了一份 guestbook 中內容的工作拷貝。

    2、存入(check in)/提交(commit)

    在工作拷貝中作出修改并提交:

    在 guestbook 工作拷貝中隨便打開一個文件,作出修改,然后“右鍵 -> SVN Commit... ”。這樣我們就把修改提交到了版本庫,版本庫根據情況存儲我們提交的數據。

    在修改過的文件上“右鍵 -> TortoiseSVN -> Show Log” ,可以看到對這個文件所有的提交。在不同的 revision 條目上“右鍵 -> Compare with working copy”,我們可以比較工作拷貝的文件和所選 revision 版本的區別。

    @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
    posted on 2011-07-12 22:19 閔毓 閱讀(1207) 評論(0)  編輯  收藏 所屬分類: 其他
    主站蜘蛛池模板: 国产精品成人免费福利| 处破女第一次亚洲18分钟| 三年在线观看免费观看完整版中文 | 免费高清小黄站在线观看 | 国产精品va无码免费麻豆| 亚洲精品国产av成拍色拍| 国产精品国产免费无码专区不卡| 亚洲天天在线日亚洲洲精| 黄网站色视频免费在线观看的a站最新| 中文字幕亚洲不卡在线亚瑟| 日韩a级无码免费视频| AA免费观看的1000部电影| 亚洲区精品久久一区二区三区| 亚洲啪啪免费视频| 亚洲一久久久久久久久| 免费一级毛片在线播放视频| 国产亚洲AV无码AV男人的天堂| 免费人成网站在线观看不卡| 久久精品a亚洲国产v高清不卡 | 国产无遮挡又黄又爽免费视频| 噜噜噜亚洲色成人网站| 免费精品国产自产拍在线观看图片| 亚洲人成免费网站| 亚洲 自拍 另类小说综合图区| 韩国免费a级作爱片无码| 67pao强力打造67194在线午夜亚洲| 日本免费人成在线网站| 亚洲Aⅴ在线无码播放毛片一线天| 好久久免费视频高清| 亚洲欧洲日韩在线电影| 日本xxwwxxww在线视频免费| www成人免费视频| 亚洲欧洲日本天天堂在线观看| 国产无遮挡裸体免费视频| 最好免费观看高清在线| 亚洲日韩乱码中文字幕| 国产亚洲精久久久久久无码77777| 四虎精品视频在线永久免费观看| 日韩成人精品日本亚洲| 亚洲人成电影福利在线播放| 日韩免费观看的一级毛片|