google 代码托管 mercurial使用

google svn 服务器使用:
1. http://code.google.com/ 用gmail登入。>后点击>Project Hosting
2. 进入>> http://code.google.com/hosting/ >后点击>Create a new project
3. 填入必要的项目名,描述等确定。就可以了
4. 确定成功后 ->Source
5. 到eclipse的打开新建一个project->team->share Project->svn
6. 后面根据 google source 上的svn提示,这我就不多说了。一般的svn http url

现在google 支持 mercurial。

mercurial的情况大有改观,它有了一个类似于tortoisesvn的gui工具tortoisehg,这个大大降低了使用的门槛,方便了在windows下工作的用户。

有了tortoisehg这个工具,你会发现,mercurial会比svn更好用。

一些mercurial的资料:

官方网站:http://www.selenic.com/mercurial/

中文使用教程:http://www.selenic.com/mercurial/wiki/index.cgi/ChineseTutorial

chenyufei的使用经验谈:http://my.donews.com/chenyufei/2007/06/24/post-070624-094733-899/

最后,gui图形界面客户端软件tortoisehg下载地址:

http://bitbucket.org/tortoisehg/stable/downloads/

下面简单介绍其用法

1、进入http://www.selenic.com/mercurial/wiki/ 选择安装TortoiseHg,这是个用户界面化的Mercurial。

2、安装完成后单击右键会发现多个TortoiseHg的菜单,里面有相关相关操作。另外进入命令行窗口键入hg命令会有相关的提示。

3、假定我们已经有了个Mercurial工作区http://selenic.com/hg/hgweb.cgi, 我们要check out这 个工作区到本地。那么我们可以

A、界面化操作: 右键->TortoiseHg->Clone a Respository , “Source Path”里是”http://selenic.com/hg/hgweb.cgi“,”Destination Path”里是本地文件夹,然后点击”clone”就成了

B、命令窗口: 假设本地文件夹为”localFiles”,则执行“hg clonehttp://fxsqe.sfbay.sun.com:7080/hg/hgweb.cgilocalFiles”。

4、版本控制需要确定是谁上传了某一版本,因此我们需要对用户名进行配置,设定好我们的名字。在命令窗口中进入复制出来的工作区,然后执行hg config username命令,在弹出的对话框中写入用户信息,最好遵守规范“用户名<用户邮件>”来填写。

5、工作区更新后,如果想要把更改的结果提交上去则:

A、右键点击对应文件,选择TortoiseHg->synchronize,然后可以在窗口中进行更新(pull),上传(push)和解决冲突项等.

代理设置

Solaris 新建~/.hgrc

[http_proxy]
host=10.8.1.80:8083

[ui]
username= Jacky Chu<ning-zhi.chu@sun.com>

[truested]
users=*
groups=green, staff

CodeBeamer+Mercurial实务操作手册 

1. CodeBeamer/Mercurial整合介绍

版本控制软件(VCS)的Repository(档案库), 在以往都是集中在Server端管理, 这方面的OpenSource代表软件有CVS和SubVersion, 但随着软件版本的变更快速,集中式的Repository其branch管理不易, 在OpenSource的社群, 分布式的版本控制软件(DVCS)逐渐广为opensource项目所使用. 而目前在opensource最热门的分布式版本控制软件则当属Mercurial与Git , 这两个分布式软件各有其支持者, 例如著名的FireFox浏览器, 其项目采用Mercurial, Linux Kernel则采用Git.

分布式版本控制软件, 理论上是可以不用一台专职的Server来执行分布式版本控制软件, 因为每个使用者端就是一台完整的VCS Server, 当要与项目成员的code做整合的时候, 再利用push变更的code与其它团队成员的repository. 所以source code的变更是不用透过集中式的Server来做merge的. 

由于DVCS的特性, 每一个团队成员都是一台独立的VCS Server, 但是软件还是有所谓的Baseline或是Release tag, 为了解决这个问题, 还是要有一台VCS来统合团队成员的所有source code版本变更. CodeBeamer整合了Mercurial即可以扮演这个角色. CodeBeamer+Mercurial的整合有以下好处

  • 利用CodeBeamer的Managed Mercurial Repository来管理稳定的source code版本.虽然团队成员有各自修改的branch, 但最终还是要push到CodeBeamer的Managed Repository
  • CodeBeamer的Managed Repository方便建立与维护, 例如
  • Repository可透过CodeBeamer Web接口来建立
  • 使用者账号管理
  • E-Mail通知管理
  • Source code change set与Issue的整合
  • Baseline/Release tag与source code的关联容易.

2. Mercurial在Server端的安装与Apache设定

CodeBeamer从5.3版后才开始支持Managed Mercurial Repository/Mercurial external repository

  • Windows平台安装
  • Linux平台安装

3. 使用者端软件安装

  • 使用者端OS为Windows
  • 使用者端OS为Mac
  • 使用者端OS为Linux
  • 与软件开发工具IDE的整

4. CodeBeamer/Mercurial操作流程
4.1 建立CodeBeamer项目

•    新增项目
新增项目
•    输入项目名称与项目信息 
输入项目名称与信息
选择Finish就可以完成项目建立, 在输入项目信息的接口, 可以看到Source Code, 选择Source Code就可以顺便设定这个项目的SCM设定, 但是本例是先建立项目, 再设定SCM 
4.2 设定项目的SCM的连结

•    到Admin中选SCM, 然后选Mercurial 
SCM选用Mercurial
•    选择Creat New Managed Repository 
Create New Managed Repository
•    输入Repository名称 
输入Repository名称
•    选择Finish后, CodeBeamer会开始建立与初始化Repository 
初始化Repository
•    CodeBeamer建立好Repository后, 会发E-Mail通知 
synchronize
4.3 将使用者/开发者端新建一个Mercurial Repository

以下Mercurial的操作是使用TortoiseHg为范例
•    到Golbal Settings设定Commit使用者名称 
设定commit user name
•    输入Username , 也就是你的codebeamer账号名称 
输入Username
•    在一个新增的目录建立一个Repository 
于一新增目录建立一Repository
•    选择Create 

•    Repository建立完成 
new repository created
•    Repository建立好后, 在目录中会看到.hg目录与.hgignore档案 
repository建好后, 看到.hg目录与hgignore档案

4.4 将Source Code项目新增到建立好的Mercurial Repository

•    将source code放到刚新增Repository的目录 
source coe放入新增Repository目录
•    点选source code的目录再用鼠标右键点选HG commit 
commit
•    跟CVS/Subversion操作一样, 新增的目录或是档案要commit到Repository前要先执行Add, 点选要新增的档案后按Add 
Add
•    执行Commit, 并输入commit的信息 
Commit

4.5 将使用者/开发者端的Repository push到CodeBeamer的Managed Mercurial Repository

要将使用者端的Repository Push到CodeBeamer的Managed Mercurial Repository前, 要确认使用者在CodeBeamer的项目角色有SCM commit权限
•    在Repository目录, 点选鼠标右键, 然后从TortoiseHg选单选Synchronize, 
synchronize
•    输入CodeBeamer的Managed Mercurial Repository URL 例如http://ipaddress/hg/myfirsthg myfirsthg是透过CodeBeamer建立的Repository名称, 输入好后按PUSH 
push
•    输入CodeBeamer登入账号与密码

输入帐号
输入帐好与密码
•    Push成功后, TortoiseHg的显示讯息 
Push成功后的画面
•    到Codebeamer项目的Repository检视Push的log记录 
commit log

5. 将commit changeset 与CodeBeamer的Issue关连

假设在CodeBeamer项目中的Task Tracker, 使用者被项目经理指定要处理一个工作, 这个工作需要修改Repository中的档案, 为了让项目经理审核负责这件工程师的产出, CodeBeamer支持了SCMLoop的功能, 让使用者在push changeset时可以将changeset与Task/Issue关连起来. 以下是操作说明
•    假设使用者jeffery被指派了一份工作 
Assign Job
•    jeffery修改了他计算机中的档案 
modify
•    jeffery先将修改后的档案commit到自己的repository, 并在commit讯息中加上工作的代号(ID) 
commit to repository
•    jeffery修改好了, 于是将自己的repository push到CodeBeamer Server中的Managed Mercurial Repository 
push
•    Push成功后, 关连也产生了 
产生关连

关于作者

没有评论

发表一条评论