如何创建svn服务器 svn创建方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何创建svn服务器 svn创建方法相关的知识,希望对你有一定的参考价值。
1、下载绿色版svn(即zip压缩包文件,如我下的是svn-win32-1.5.6.zip,当然下安装版的也可以):2、解压下载下来的绿色版svn和安装svn的windows客户端TortoiseSVN,按照提示安装就可以,为了能立马看到效果,最好重启下机器,呵呵
3、创建版本库,打开命令窗口(开始->运行,键入cmd,回车),我的svn服务器解压目录为F:\svn;在命令窗口输入:
pushd F:\svn\bin
进入到svn解压目录下的bin目录,建立版本库,如我把版本库安装在:F:\svnrep,首先确认F盘下是否存在svnrep文件夹,没有我们可以在命令窗口键入:
mkdir F:\svnrep
就会创建一个snvrep文件夹,接下来,运行如下命令:
svnadmin create F:\svnrep
这样我们的版本库就创建了,在F:\svnrep下你可以看到自动生成了一些文件及文件夹;同时,你也可以用TortoiseSVN的图形界面来创建,在F:\svnrep文件夹中“右击->TortoiseSVN->Create Repository here”, 同样得到我们需要的结果,如果这文件夹已经创建有了,你再创建,会自动报错。
4、配置用户和权限,打开F:\svnrep\conf目录中的svnserve.conf文件,将[general](保证[general]这一行的前面不带#号,有#号就将#号去掉)下面的
# password-db = passwd(大概在20行)及# authz-db = authz(大概在27行)
前的#号去掉。保存文件;
然后打开同目录中的passwd文件(可以用记事本打开),在[users](保证[users]这一行的前面不带#号,有#号就将#号去掉)下面添加用户及此用户对应的密码,格式为:
admin = password
表示用户为admin 密码为password 保存文件。
同时也可以修改同目录下的authz文件,主要是用来控制用户对svn版本库里哪些目录的文件是否有读或写权限,读为r写为w,如果要赋给admin对版本库下的目录都有读和写权限,格式为:
[/]
admin = rw
/代表了svn版本库下的起始位置,对于修改此文件的一些注意事项,可以到网上搜索下呵呵。
5、运行svn服务器,在命令窗口输入:
svnserve -d -r F:\svnrep
这样,svn服务器程序就启动了。但不要关闭这个命令窗口,关闭就意味着svn服务器停止。
6、导入项目到svn版本库可以用TortoiseSVN客户端进行导入,在要导入的项目文件夹上“右击->TortoiseSVN->Import…”在URL of repository输入
svn://localhost/项目名
在Import Message中可以输入你的信息,点击ok按钮,就开始导入了,完成导入后,项目目录没有任何变化,导入过程中没报错的话,项目中的所有文件就导入到svn的版本库里了;这个导入过程可以到任何一台能访问你svn服务器并安装好TortoiseSVN客户端的电脑上进行,在要导入的文件或文件夹上“右击右击->TortoiseSVN->Import…”,在URL of repository 输入:
svn://svn服务器IP/项目名
就OK
7、从版本库中检出,即复制出一份版本库中的项目,在一个空的文件夹中“右击->SVN Checkout”,在URL of repository中输入:
svn://localhost/项目名
这样我们就复制出了这个项目中的文件。
8、修改文件后更新到版本库,当项目中的某一文件作了修改,可以通过在这个文件上“右击->SVN Commit…”,这样我们就将我们对这一文件的修改提交到了版本库。
当然还有很多功能,查看文件修改,比较文件各版本中的修改及不同处,== 不一一介绍了。注意的是TortoiseSVN客户端版本最好是和svn服务器的版本一致,有时不一致的时候会发生错误。 参考技术A 1、下载绿色版svn(即zip压缩包文件,如我下的是svn-win32-1.5.6.zip,当然下安装版的也可以):
2、解压下载下来的绿色版svn和安装svn的windows客户端TortoiseSVN,按照提示安装就可以,为了能立马看到效果,最好重启下机器,呵呵
3、创建版本库,打开命令窗口(开始->运行,键入cmd,回车),我的svn服务器解压目录为F:\svn;在命令窗口输入:
pushd F:\svn\bin
进入到svn解压目录下的bin目录,建立版本库,如我把版本库安装在:F:\svnrep,首先确认F盘下是否存在svnrep文件夹,没有我们可以在命令窗口键入:
mkdir F:\svnrep
就会创建一个snvrep文件夹,接下来,运行如下命令:
svnadmin create F:\svnrep
这样我们的版本库就创建了,在F:\svnrep下你可以看到自动生成了一些文件及文件夹;同时,你也可以用TortoiseSVN的图形界面来创建,在F:\svnrep文件夹中“右击->TortoiseSVN->Create Repository here”, 同样得到我们需要的结果,如果这文件夹已经创建有了,你再创建,会自动报错。
4、配置用户和权限,打开F:\svnrep\conf目录中的svnserve.conf文件,将[general](保证[general]这一行的前面不带#号,有#号就将#号去掉)下面的
# password-db = passwd(大概在20行)及# authz-db = authz(大概在27行)
前的#号去掉。保存文件;
然后打开同目录中的passwd文件(可以用记事本打开),在[users](保证[users]这一行的前面不带#号,有#号就将#号去掉)下面添加用户及此用户对应的密码,格式为:
admin = password
表示用户为admin 密码为password 保存文件。
同时也可以修改同目录下的authz文件,主要是用来控制用户对svn版本库里哪些目录的文件是否有读或写权限,读为r写为w,如果要赋给admin对版本库下的目录都有读和写权限,格式为:
[/]
admin = rw
/代表了svn版本库下的起始位置,对于修改此文件的一些注意事项,可以到网上搜索下呵呵。
5、运行svn服务器,在命令窗口输入:
svnserve -d -r F:\svnrep
这样,svn服务器程序就启动了。但不要关闭这个命令窗口,关闭就意味着svn服务器停止。
6、导入项目到svn版本库可以用TortoiseSVN客户端进行导入,在要导入的项目文件夹上“右击->TortoiseSVN->Import…”在URL of repository输入
svn://localhost/项目名
在Import Message中可以输入你的信息,点击ok按钮,就开始导入了,完成导入后,项目目录没有任何变化,导入过程中没报错的话,项目中的所有文件就导入到svn的版本库里了;这个导入过程可以到任何一台能访问你svn服务器并安装好TortoiseSVN客户端的电脑上进行,在要导入的文件或文件夹上“右击右击->TortoiseSVN->Import…”,在URL of repository 输入:
svn://svn服务器IP/项目名
就OK
7、从版本库中检出,即复制出一份版本库中的项目,在一个空的文件夹中“右击->SVN Checkout”,在URL of repository中输入:
svn://localhost/项目名
这样我们就复制出了这个项目中的文件。
8、修改文件后更新到版本库,当项目中的某一文件作了修改,可以通过在这个文件上“右击->SVN Commit…”,这样我们就将我们对这一文件的修改提交到了版本库。
当然还有很多功能,查看文件修改,比较文件各版本中的修改及不同处,== 不一一介绍了。注意的是TortoiseSVN客户端版本最好是和svn服务器的版本一致,有时不一致的时候会发生错误。
如何创建 SVN 提交消息模板和挂钩以验证
【中文标题】如何创建 SVN 提交消息模板和挂钩以验证【英文标题】:How do I create a SVN Commit Message Template and Hook to Verify 【发布时间】:2010-11-02 06:04:00 【问题描述】:我正在使用 Visual SVN 服务器和 Tortoise SVN(客户端)进行源代码控制。我希望所有开发人员都对签入备注的一致格式进行标准化。
例如,我希望他们的提交消息默认为...
简介:
开发者名称:(预填充)
审核人:
[错误 ID]:
[更改错误状态]:
已知问题:
受影响的文件:(预填充)
将来我希望 [Bug Id] 和 [Bug State] 提供信息以触发对错误跟踪系统的自动更新。此外,开发人员名称和受影响的文件应预先填充 svn 用户和用户提交的文件。
请发送您可能拥有的任何链接或示例。
【问题讨论】:
“受影响的文件”,也许还有“开发者名称”,不应出现在提交消息中,因为它们在内置提交元数据中可靠。 【参考方案1】:取自How to create a Tortoise SVN Checkin Template(已修改以适应更多当前版本):
日志模板可根据项目需求定制,可用于实现严格的日志格式。
将它添加到您的 svn 存储库很容易:
在Subversion属性中选择你想要应用的SVN文件夹(右键
TortoiseSVN -> Properties
)选择
New -> Advanced
,然后从名为Property name
的下拉列表中选择tsvn:logtemplate
。将上述模板(或您自己的)添加到组合框下方的文本区域。
如果要将属性应用于当前文件夹下层次结构中的每个文件和文件夹,请选中递归复选框。
点击
OK
将该属性添加到列表中。签入所有文件夹和文件,以便团队中的其他人可以使用相同的模板。
【讨论】:
有点难找,但猜想这将在 4 年后预期 :) 我使用以下方法找到它:文件夹右键单击 -> 属性 -> 新建... -> 高级 ->属性名称:tsvn:logtemplate -> 输入属性值 -> 确定 -> 确定。递归选项似乎并不重要,无论是应用还是删除这个模板化的属性值。非常感谢 adrainbanks(甚至 4 年后!)。 递归选项仅在您不检查根文件夹(仅设置属性的位置)时才重要。所有tsvn
属性都是客户端属性,因此不会与服务器进行通信来读取属性。
链接失效。新链接:tortoisesvn.net/docs/release/TortoiseSVN_en/…【参考方案2】:
使用命令行执行此操作的一种方法是更改 SVN_EDITOR 环境变量,如下所述:
http://svn.haxx.se/dev/archive-2006-02/0487.shtml
SVN_EDITOR="rm svn-commit.tmp && cp $REPOS/hooks/log.tmpl svn-commit.tmp && vi svn-commit.tmp"
【讨论】:
【参考方案3】:或者,为了让 SVN_EDITOR 更加舒适(例如,在必须使用 SvnBridge 的情况下正确链接到 TFS 工作项),可以将以下脚本存储为 ~/bin/svn_editor :
#!/bin/sh
template_file="$@"
template_file_new="$template_file.new"
current_work_item_number_file="$HOME/tfs_work_item_number_current.txt"
[ -f "$current_work_item_number_file" ] && work_item=$(cat "$current_work_item_number_file") || work_item="please fill in!"
# Yes folks, this is the TFS convention (hard, NOT-TO-BE-ALTERED text)
# to properly link to work items via SvnBridge commits!
work_item_prefix_hard_tfs_convention_text="work item: "
work_item_text="$work_item_prefix_hard_tfs_convention_text$work_item"
custom_text="$work_item_text\n\n[this addition above initially placed to ignored content part here,\nto ensure properly abortable empty message by default - please move it to active content as needed]"
sed -e 's/\(will be ignored--\)/\1\n'"$custom_text"'/' "$template_file" > "$template_file_new"
mv -f "$template_file_new" "$template_file"
$EDITOR "$@"
然后简单地做
export SVN_EDITOR=~/bin/svn_editor
在 ~/.bashrc 或类似的地方。 即使从 Firefox TFS Web 界面中查看的当前工作项页面保持工作项编号文件更新的奖励积分(我认为可能有一种与 Firefox 通信以获取页面标题等的方法)。 或者简单地让这个脚本在持久性工作项文件上启动第一个初始编辑器,然后然后让它在自定义提交模板上运行第二个编辑器。
【讨论】:
【参考方案4】:我发现它使用:
Folder right-click -> Properties -> New... -> Advanced -> Property name: tsvn:logtemplate -> enter a Property value -> OK -> OK.
【讨论】:
以上是关于如何创建svn服务器 svn创建方法的主要内容,如果未能解决你的问题,请参考以下文章