[mercurial] web server搭建过程及相关问题的解决

来源:互联网 发布:英克软件 下载 编辑:程序博客网 时间:2024/05/21 11:14

最近,有一项工作需要和实习生一起完成。该工作主要是检查数据,因此,文本文件很多,需要临时进行版本控制一下。由于不是很熟悉ssh的方式,于是采用最简单的http的方式搭建Repo进行管理。

软件准备:tortoisehg, conemu

软件设置:conemu, 在当前文件下的右键命令里添加“conemu here”,可以在当前文件下直接打开conemu,且在当前目录,步骤如下:

1. 打开conemu, 右键点击上边框,选择“settings".

2. 看左侧栏,选中”Features -> Integration".

3. 看右侧,在"ConEmu here"下有个”Register“,点一下,然后点"save settings"进行保存。OK!


使用web server的步骤如下:

1. 创建repo。 新建一个文件夹,取名为Repo的名字。在当前文件夹下右键,选择“ConEmu here"。在打开的命令行中输入: hg init,然后回车执行命令。会生成一个.hg的文件夹,这是系统文件不用搭理。

2. 把相关资料整齐的放到该文件夹下。然后输入命令:hg addremove。然后再次输入命令:hg ci -m "Create Repo"。这样,相关资料就保存在该”仓库“中了。

3. 创建web server。在该文件加下点右键,找到菜单:Tortoishg,在下级菜单中找到Web Server,点击。这样,该”仓库“就发布成功了,默认的通讯端口是8000,可以点stop,更改端口值,再点start开始。

4. 其他电脑连接该仓库。在其他电脑上,在欲安装仓库的位置,右键conemu调出命令行,然后输入: hg clone 仓库位置 仓库名称。其中,假设服务器的IP是12.180.11.23,那么仓库位置是http://12.180.11.23:8000/,仓库名称自己取一个即可。当然,也可以提供服务器的其他地址,这里我仅用IP地址举例。于是,命令为:hg clone http://12.180.11.23:8000/ myRepo。这样在当前文件夹下建立一个文件夹叫做”myRepo“,把服务器中的仓库的内容都clone了一份到其中。

5. 提交改动。假设你对myRepo的某个文件进行了修改,要把该改动提交,或者你添加了新的文件,或者删除了某个文件,那么先用命令:hg addremove进行添加删除操作,然后用命令hg ci -m "XXX"对改动进行提交,然后hg pull等等操作,最后hg push进行提交。这样,就实现了多人对仓库的修改及同步。


该过程中会遇到的问题:

1. hg push的时候,提示没有user name。这时候,它也会提示你,用命令hg config --edit来添加用户名。你就输入命令hg config --edit,弹出一个文本文件,在username = 那一行,按照文件中的实例,添加一个名字和邮箱地址上去,比如username=xiaowang <xiaowang@126.com>.

   遇到一个情况,即输入hg confi --edit没有文件弹出,那么需要在c:\users\账户名 这个文件夹下,新建或者打开mercurial.ini文件,添加如下配置代码:

   [ui]

   username = xiaowang <xiaowang@126.com>

2. hg push的时候,提示ssh required,或者提示authorization failed。那么,在服务器端,也就是初始仓库所在的那个电脑上,在Repo下的.hg文件夹下找到hgrc文件,打开边界,添加以下设置:

[web]allow_push = *push_ssl = false然后,stop,然后再重新start,重启web server即可。

0 0
原创粉丝点击