這個問題可能是有關如何你的Subversion 知識庫(是的,你可以有更多的t han一個存儲庫)使用Apache進行安裝。
使用Apache,有兩種設置Subversion版本庫的方法。您可以單獨做每個存儲庫這樣的:
<Location /svn/repos>
DAV svn
SVNPath /path/to/repositories/repos
</Location>
<Location /svn/repos2>
DAV svn
SVNPath /path/to/repositories/repos2
</Location>
在這種情況下,你可以通過https://hostname/svn/repos
和http://hostname/svn/repos2
達到這些存儲庫。
正如你所想象的,如果你有很多存儲庫,維護起來可能相當困難。每次創建新的存儲庫意味着更新您的Apache配置。如果你有50個左右的軟件倉庫,你會有一個非常長的配置文件,很難維護。
爲了解決這個問題,阿帕奇允許您配置一大堆Subversion版本庫的一個配置:
<Location /svn/repo>
DAV svn
SVNParentPath /path/to/all/svn_repositories
</Location>
現在,如果你有倉庫/path/to/all/svn_repositories/proj_a
和/path/to/all/svn_repositories/proj_b
,您可以通過http://myserver/svn/repo/proj_a
和http://myserver/svn/repo/proj_b
達到這些目標。
請注意,https://myserver/svn/repo
不是單個存儲庫的根目錄,而是代表包含所有存儲庫的目錄的Apache 虛擬目錄。
現在,這裏是573,198.52美元的問題($ 64,000問題w /通貨膨脹):如果您提交到http://hostname/svn/repo/proj_a
,它是否更新最新修訂版號http://myserver/svn/repo/proj_b
呢?如果沒有,那麼每個項目都是一個單獨的Subversion存儲庫,並按照我的第二個示例進行配置,其中多個Subversion存儲庫可以共享相同的時刻。
這意味着要創建new_project
,您需要登錄到Subversion服務器,並使用svnadmin create
命令創建新的存儲庫。然後它會立即通過您的https://hostname/svn/repos/new_project
網址提供。
如果更改提交到proj_a
並增加對proj_b
的最新版本,那麼所有的項目都在一個單一的Subversion版本庫,你應該能夠使用https://hostname/svn/repo
作爲一個有效的Subversion目錄。試着做一結帳:
$ svn co --depth=immediates https://hostname/svn/repo
的--depth=immediates
將只檢查了目錄,並通過所有的子目錄不會迭代。這樣,你有一個工作目錄,你可以使用:
$ svn co --depth=immediates https://hostname/svn/repo
$ cd repo
$ svn mkdir --parents new_project/trunk new_project/tags new_project/branches
$ cd ..
$ svn status
A new_project/trunk
A new_project/tags
A new_project/branches
$ svn commit -m "added new_project"
看看是否有幫助。
哎呀,不,這只是一個錯誤的問題。 – agnul 2012-04-04 10:29:45
然後我會說你的Apache被配置爲當你省略斜線時發送重定向狀態碼。不知道這件事。 – 2012-04-04 10:38:23