若是大家公司是用 SVN 做为代码仓库的话,确定常常碰到一个问题,没有写好的代码、没有通过仔细测试的代码,没有提交到代码仓库的信息,省得影响其余人的使用。 html
若是你是在 Windows 下,推荐使用 TortoiseHg 客户端,理由无需多说。 python
若是你要配合 Subversion 来使用 HG,官方提供了三种方式,各位能够根据本身的喜爱选择。咱们这里选择 hgsubversion 插件的方式。 服务器
通常来讲,会使用 Subversion 的人,使用 TortoiseHg 都会上手特别快,这里有一份为 SVN 熟手准备的 Hg 简明教程。 svn
使用 TortoiseHg 有下面几个要迅速掌握的东西: 测试
安装 hgsubversion 插件,最简单的方法,不外乎直接把这个插件 clone 下来,官网上已经把标准的命令行方法讲清楚了。我这里截一张 Windows TortoiseHg 的图下来,看看: spa
配置 hgrc 文件,让 hg 找到 hgsubversion 这个插件。若是你用的是 TortoiseHg ,能够直接在 Hg Workbench 界面里的 setting 里进行操做,里面有一个大大的*编辑文件*按钮。 插件
在配置文件里,添加下面的内容。 命令行
[extensions] hgsubversion = D:\Program Files\TortoiseHgExtentions\hgsubversion\hgsubversion
注意,这里要设置到子目录 hgsubversion 里,不然会提示找不到 hgsubversion 这个插件。 日志
若是你想看看这个插件是否安装好了,能够试一下这个命令: code
hg help hgsubversion
看提示你就知道是否一切正常了。
下面能够检出系统代码了!点击鼠标右键,在 Hg 菜单里点击 clone 选项,按下图所示填写SVN检出信息:
若是你填入 SVN 地址的时候,碰到如下问题:
% hg clone --verbose svn+https://127.0.0.1/svn/TestProject/01项目文档 -- E:\test\testhg 停止: URL 'https://127.0.0.1/svn/TestProject/01项目文档' is malformed or the scheme or host or path is missing (SVN_ERR_RA_ILLEGAL_URL) [command returned code 255 Thu Apr 14 15:10:06 2011]
这是由于你的路径里包含有中文字符串,这在 SVN 的 URL 里严格来讲是要用不少转义字符来表达的。若是你把
https://127.0.0.1/svn/TestProject/01项目文档
改成svn路径:
https://127.0.0.1/svn/TestProject/01%E9%A1%B9%E7%9B%AE%E6%96%87%E6%A1%A3
就可以顺利检出 SVN 文档。
什么?你不知道怎么得到这个地址,你能够查看你 SVN 里的记录。
经过 hg 你在本地修改了代码,当修改完成并所有经过测试后,你必定要提交回 Subversion 服务器,这样别人才能看到你的代码。
要提交修改回 Subversion 服务器很简单,须要先确保修改都提交到了本地的 Hg 服务器里:
$ hg commit -m 'your log info'
而后再把 hg 里当前的代码版本提交到 Subversion 服务器里:
$ hg push
这样,你就能够把你修改的代码提交到 SVN 代码服务器里了。不信,你到 SVN 代码目录里 update 一下看看!
若是SVN服务器上的内容有更新,则你在 hg 里用命令从SVN再次更新最新的内容到本地 hg 分支后,将会获得一个奇怪的副本。
这个副本是一个新的分支,内容彻底和 SVN 上最新版本相相似;而你本地修改的代码,将放在另一个代码分支上。
你能够经过点击右键 ==> "Hg Workbench" 来查看这个代码树分支。
出现相似的状况,你须要作的是,选择一个代码分支做为你的当前分支继续工做;或进行相应的合做操做。
为何 clone 完了之后,却没有文件呢,目录里只有一个 .hg 目录?
有关这个问题,浏忙绪绪我专门写了一个博文《把 SVN 文档导入到 Hg 后目录为空的问题》来论述,嘿嘿~~
若是用上面的方法,显得麻烦一些。若是我只是想维护一个本地的代码仓库,用来临时作一个修改,测试没问题的时候,我再提交到 SVN 仓库里。
这个时候,你能够考虑用 hgsvn 来作本地的代码版本管理,平时都提交到本地的代码仓库里,一旦工做完成,则提交到 SVN 版本库里。
http://cn.waterlin.org/ProjectManagement/Hg.html