2012-01-11 100 views
2

我成功在我的服務器上安裝了subversion。當我運行命令:在我的GoDaddy CentOS專用服務器上安裝Subversion後,如何配置和訪問我的Subversion存儲庫

which svn 

我得到的迴應:

/usr/bin/svn 

我創造我的根目錄內的寶庫,它是我用下面的命令httpdocs資料夾:

svnadmin create ~/svn 

我成功創建了以下文件和文件夾並對其進行了配置,並在svn目錄中看到以下文件和目錄:

conf db format hooks locks README.txt 

但我無法創建主幹,分支和標記目錄。實際上我無法創建目錄時期。這是我一直在使用該命令:

svn mkdir file:///httpdocs/svn/site 

當我做這個命令的消息我得到的是以下幾點:

svn: Could not use external editor to fetch log message; consider setting the 
$SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options 
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 
'editor-cmd' run-time configuration option was found 

而且當我在URL類型:

http://mydomain.com/svn 

我收到以下信息:

404 - Not Found 

我需要做什麼來配置我的存儲庫,檢查我的存儲庫是否實際工作。哦,我沒有運行下面的命令:

svnserve -d 

回答

6

我創造我的根目錄內的存儲庫是用下面的命令我的httpdocs文件夾...

這不是你如何得到顛覆與Apache httpd一起工作,如果這就是你想要做的。您需要Apache的mod_dav和mod_dav_svn模塊。你可能需要重新編譯Apache來獲取這些。

一旦你的mod_dav和mod_dav_svn的安裝,你需要配置你的httpd.conf文件(或把配置文件下你的httpd的conf.d取決於它是如何在系統上配置),爲它工作。

最後,並不是那麼困難。大多數Apache安裝都添加了mod_dav和mod_dav_svn,您可以看到您的http.conf文件是否配置正確。在線Subversion手冊將有everything you need讓它工作。

svn:無法使用外部編輯器來獲取日誌消息;考慮設置 $ SVN_EDITOR環境變量或使用--message(-m)或--file(-F)選項 svn:沒有設置環境變量SVN_EDITOR,VISUAL或EDITOR,並且沒有設置 'editor-cmd '運行時配置選項被發現

閱讀消息。它說由於沒有指定,因此無法使用外部編輯器。 Subversion在線手冊再次在detail中解釋它。

基本上,當您在Subversion中提交更改時,您需要創建一個提交消息。這可以通過兩種方式完成:

  • 您使用-m選項,如svn commit -m "This is my commit message"
  • 您將變量SVN_EDITOR,VISUALEDITOR設置爲要使用的程序的名稱。例如,在Windows中,你會說C:> set EDITOR=notepad.exe。在Unix上,你會說類似$ export EDITOR=vi。 Subversion首先檢查變量的值SVN_EDITOR,然後VISUAL,然後EDITOR。如果它們都沒有設置,它會給你看到的錯誤。

爲什麼你在svn mkdir命令上得到它?

因爲您使用的是命令的URL形式,它會創建目錄,然後提交更改,從而需要提交消息。這應該有效:

svn mkdir -m"Adding the site directory to my repository" file:///httpdocs/svn/site 

現在,您需要將您的存儲庫移出HTTPDOCs目錄。這是一件非常糟糕的事情,因爲它會傷害您的Web服務器。

如果您不想使用file://協議,則可以使用svnserve。這是一個內置的Subversion版本庫服務器,並使用svn://協議。觀察:

$ svnadmin create my_repos #Creates the repository 
$ vi my_repos/conf/svnserve.conf #See footnote 1 below 
$ vi my_repos/conf/passwd   #See footnote 1 below 
$ svnserve -r my_repos -d 
$ svn mkdir -m "Making basic directory layout svn://localhost/trunk \ 
> svn://localhost/tags svn://localhost/branches 
$ export SVN_EDITOR="vi" 

您的存儲庫也可以訪問網絡上的所有計算機。使用svnserve會比Apache httpd的要簡單得多,但也有一些問題:

  • ,因爲它要使用3690端口,它不喜歡分享您不能運行的svnserve多個實例。使用Apache httpd,您可以擁有多個存儲庫。
  • svnserve的安全設置是有限的。使用Apache,我可以使用Windows Active Directory或LDAP,或者我可以手動配置它。
  • 一些基於Web的Subversion版本庫瀏覽器不喜歡svnserve。

順便說一下,如果你還沒有,請通過Subversion on line manual。這是我見過的所有開源項目中最好的手冊之一。


當你設置你的資料庫使用svnserve,你需要通過啓用線password-db = passed大約是線#20文件中編輯svnserve.conf文件。然後,您必須編輯passed文件(位於同一目錄中)來配置用戶及其密碼。兩者都非常直截了當,但很容易被遺忘,如果你不這樣做,你不能提交任何東西到你的倉庫。

1

當你需要主幹分支和標籤比你需要下載import_dirs.copy

比後比cd /location/import_dirs.copy比超過命令

cd /data/svn/import_dirs.copy/ 
svn import file:///location of repos/reposname/ -m "inital message" 

這是它的例子運行.....

cd /home/raj/import_dirs.copy/ 
svn import file:///srv/svn/nmg/ -m "inital message" 

比樹幹分支和標籤已經完成

相關問題