Ame*_* Ra 2 svn apache version-control centos dedicated-server
我在服务器上成功安装了subversion.当我运行命令时:
which svn
Run Code Online (Sandbox Code Playgroud)
我收到了回复:
/usr/bin/svn
Run Code Online (Sandbox Code Playgroud)
我在我的根目录中创建了一个存储库,它是我的httpdocs文件夹,其中包含以下命令:
svnadmin create ~/svn
Run Code Online (Sandbox Code Playgroud)
我成功创建了以下文件和文件夹并对其进行了配置,我在svn目录中看到了以下文件和目录:
conf db format hooks locks README.txt
Run Code Online (Sandbox Code Playgroud)
但是我无法创建trunk,branch和tag目录.实际上我无法创建目录期间.这是我一直使用的命令:
svn mkdir file:///httpdocs/svn/site
Run Code Online (Sandbox Code Playgroud)
当我发出此命令时,我收到的消息如下:
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
Run Code Online (Sandbox Code Playgroud)
当我输入网址时:
http://mydomain.com/svn
Run Code Online (Sandbox Code Playgroud)
我收到了以下消息:
404 - Not Found
Run Code Online (Sandbox Code Playgroud)
我需要做什么来配置我的存储库,检查我的存储库是否真的有效.哦,我确实运行了以下命令:
svnserve -d
Run Code Online (Sandbox Code Playgroud)
我在我的根目录中创建了一个存储库,这是我的httpdocs文件夹,其中包含以下命令...
这不是你如何让Subversion与Apache httpd一起工作,如果这是你想要做的.您需要Apache的mod_dav和mod_dav_svn模块.您可能必须重新编译Apache才能获得这些.
一旦安装了mod_dav和mod_dav_svn,就需要配置httpd.conf文件(或conf.d根据系统上配置的httpd的配置文件)使其工作.
最后,并不是那么困难.大多数Apache安装都添加了mod_dav和mod_dav_svn,您可以看到您的http.conf文件是否配置正确.在线Subversion手册将提供使其正常工作所需的一切.
svn:无法使用外部编辑器获取日志消息; 考虑设置$ SVN_EDITOR环境变量或使用--message(-m)或--file(-F)选项svn:没有设置环境变量SVN_EDITOR,VISUAL或EDITOR,也没有'editor-cmd'运行 - 找到时间配置选项
阅读邮件.它说无法使用外部编辑器,因为你没有指定一个.Subversion在线手册再次详细解释了它.
基本上,当您在Subversion中提交更改时,您需要创建一个提交消息.这可以通过两种方式完成:
-m像这样的选项svn commit -m "This is my commit message".SVN_EDITOR,, VISUAL或EDITOR您要使用的程序的名称.例如,在Windows中,你会说C:> set EDITOR=notepad.exe.在Unix上,你会说类似的东西$ export EDITOR=vi.SVN_EDITOR然后VISUAL,Subversion首先检查变量的值EDITOR.如果它们都没有设置,它会给你看到的错误.你为什么在svn mkdir命令上得到它?
因为您使用命令的URL形式,它将生成目录,然后提交更改,因此需要提交消息.这应该工作:
svn mkdir -m"Adding the site directory to my repository" file:///httpdocs/svn/site
Run Code Online (Sandbox Code Playgroud)
现在,您需要将存储库移出HTTPDOCs目录.这是一件非常糟糕的事情,因为它会伤害你的网络服务器.
如果您不想使用该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"
Run Code Online (Sandbox Code Playgroud)
您的存储库也可以被网络上的所有计算机访问.使用svnserve比Apache httpd简单得多,但有一些问题:
svnserve因为它想要使用端口3690并且它不喜欢共享.使用Apache httpd,您可以拥有多个存储库.顺便说一下,如果你还没有,请浏览Subversion在线手册.这是我见过的任何开源项目的最佳手册之一.
1使用时设置存储库时svnserve,需要svnserve.conf通过启用文件中password-db = passed第20行的行来编辑文件.然后,您必须编辑该passed文件(位于同一目录中)以配置用户及其密码.两者都很直接,但很容易忘记,如果你不这样做,你就不能在你的存储库中提交任何东西.
| 归档时间: |
|
| 查看次数: |
3257 次 |
| 最近记录: |