我在服务器上成功安装了subversion。当我运行命令时:
which svn
我收到回复:
/usr/bin/svn
我在我的根目录中创建了一个存储库,它是我的httpdocs文件夹,其中包含以下命令:
svnadmin create ~/svn
我成功创建了以下文件和文件夹并对其进行了配置,我在svn目录中看到了以下文件和目录:
conf db format hooks locks README.txt
但是我无法创建trunk,branch和tag目录。实际上我无法创建目录期间。这是我一直在使用的命令:
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
当我输入网址时:
http://mydomain.com/svn
我收到了以下信息:
404 - Not Found
我需要做什么来配置我的存储库,检查我的存储库是否真的有效。哦,我确实运行了以下命令:
svnserve -d
答案 0 :(得分:6)
我在我的根目录中创建了一个存储库,它是我的httpdocs文件夹,其中包含以下命令...
如果你正在尝试做的话,那就不是你如何让Subversion使用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
,VISUAL
或EDITOR
设置为要使用的程序的名称。例如,在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目录。这是一件非常糟糕的事情,因为它会伤害你的网络服务器。
如果您不想使用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简单得多,但有一些问题:
svnserve
的多个实例,因为它想要使用端口3690并且不喜欢共享。使用Apache httpd,您可以拥有多个存储库。顺便说一句,如果还没有,请浏览Subversion on line manual。这是我在任何开源项目中看到的最好的手册之一。
1 使用svnserve
设置存储库时,需要通过启用约为第20行的行svnserve.conf
来编辑password-db = passed
文件文件。然后,您必须编辑passed
文件(位于同一目录中)以配置用户及其密码。两者都很直接,但很容易忘记,如果你不这样做,你就不能将任何东西提交到你的存储库中。
答案 1 :(得分: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"
比干线分支和标签已经完成