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
• 选择Creat New Managed Repository
• 输入Repository名称
• 选择Finish后, CodeBeamer会开始建立与初始化Repository
• CodeBeamer建立好Repository后, 会发E-Mail通知
4.3 将使用者/开发者端新建一个Mercurial Repository
以下Mercurial的操作是使用TortoiseHg为范例
• 到Golbal Settings设定Commit使用者名称
• 输入Username , 也就是你的codebeamer账号名称
• 在一个新增的目录建立一个Repository
• 选择Create
• Repository建立完成
• Repository建立好后, 在目录中会看到.hg目录与.hgignore档案
4.4 将Source Code项目新增到建立好的Mercurial Repository
• 将source code放到刚新增Repository的目录
• 点选source code的目录再用鼠标右键点选HG commit
• 跟CVS/Subversion操作一样, 新增的目录或是档案要commit到Repository前要先执行Add, 点选要新增的档案后按Add
• 执行Commit, 并输入commit的信息
4.5 将使用者/开发者端的Repository push到CodeBeamer的Managed Mercurial Repository
要将使用者端的Repository Push到CodeBeamer的Managed Mercurial Repository前, 要确认使用者在CodeBeamer的项目角色有SCM commit权限
• 在Repository目录, 点选鼠标右键, 然后从TortoiseHg选单选Synchronize,
• 输入CodeBeamer的Managed Mercurial Repository URL 例如http://ipaddress/hg/myfirsthg myfirsthg是透过CodeBeamer建立的Repository名称, 输入好后按PUSH
• 输入CodeBeamer登入账号与密码
• Push成功后, TortoiseHg的显示讯息
• 到Codebeamer项目的Repository检视Push的log记录
5. 将commit changeset 与CodeBeamer的Issue关连
假设在CodeBeamer项目中的Task Tracker, 使用者被项目经理指定要处理一个工作, 这个工作需要修改Repository中的档案, 为了让项目经理审核负责这件工程师的产出, CodeBeamer支持了SCMLoop的功能, 让使用者在push changeset时可以将changeset与Task/Issue关连起来. 以下是操作说明
• 假设使用者jeffery被指派了一份工作
• jeffery修改了他计算机中的档案
• jeffery先将修改后的档案commit到自己的repository, 并在commit讯息中加上工作的代号(ID)
• jeffery修改好了, 于是将自己的repository push到CodeBeamer Server中的Managed Mercurial Repository
• Push成功后, 关连也产生了 
没有评论