MyEclipse 中使用 TortoiseSVN

一.   svn 简介:

    SvnSubversion)是近年来崛起的版本管理工具,在当前的开源项目里(J2EE),几乎95%以上的项目都用到了 SVN。Subversion 项目的初衷是为了替换当年开源社区最为流行的版本控制软件 CVS,在 CVS的功能的基础上有很多的提升同时也能较好的解决 CVS 系统的一些不足。

 

    TortoiseSVN是 Subversion 的 Windows 扩展。它使你避免接触 Subversion 枯燥而且不方便的 Command Line。它完全嵌入 Windows Explorer,使用时只需在正常的窗口里右键操作就可以了

Subversion为版本控制软件的服务器端。

TortoiseSVN为版本控制软件的客户端。

二。Subversion下载安装

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

我们使用版本Setup-Subversion-1.6.5.msi

安装界面

         

 

第一步:点击Setup-Subversion-1.6.5.msi

      

MyEclipse 中使用 TortoiseSVN

 

 

第二步:

     

MyEclipse 中使用 TortoiseSVN

 

 

第三步:安装到software目录下的svn目录下这两个目录都要提前建立

      

MyEclipse 中使用 TortoiseSVN

 

 

第四步:

 

        

MyEclipse 中使用 TortoiseSVN

 

 

 

第五步

 

 

         

MyEclipse 中使用 TortoiseSVN

 

第六步:安装完成

 

MyEclipse 中使用 TortoiseSVN

第七步:最终安装完成后,如何验证在我们的服务器上就成功安装了Subversion呢?Subversion在安装时,同JAVA的开发环境(JDK)的安装一样,同样会自动的把安装目

录下的bin目录设置到系统的系统变量中去。如果你是使用的绿色版,那么设置系统变量

这个步骤就得你自己手动的来设置了,如:

 

MyEclipse 中使用 TortoiseSVN

 

第八步:,如果我们在系统的命令行执行命令:

svnserve –version

如果能正常显示如下图所类示的信息,则表明我们的Subversion的安装是成功了的。

    

MyEclipse 中使用 TortoiseSVN

subversion 服务的启动(在xp 系统中)

 

1》 双击执行 Setup-Subversion-1.6.5.msi

详见:SVN安装界面文档

2》 subversion 安装成功后,在启动svn前需要先建立一个文档仓库

我们使用svn服务器端命令 svnadmin建立 如下:

svnadmin create F:\software\repository\svn\itcast

3》 建立好文档仓库后,我们进行subversion启动

第一种方式:命令行启动,我们使用服务器端命令 svnserve 如下:

svnserve -d -r F:\software\repository\svn\itcast

启动后我们如何知道svn启动成功呢? 我们查看端口使用情况:

netstat -an

我们看到3690端口服务,说明启动成功


第二种方式:安装svn后配置windows自动启动服务

 

sc create SVN-Service binpath= "D:\Subversion\svn\bin\svnserve.exe--service -r J:\repository\svn" displayname= "SVN-Service" start= auto depend= Tcpip
  binpath 指定svnserve 的路径和命令
  start= auto 表示服务自动启动。注意:等于号的左边无空格,而右边必须有一个空格
  Displayname、start、depend
  在此命令中-r(--root)项目版本仓库的根目录

启动服务

net start SVN-Service

 

查看服务是否添加成功,可以选择windows 控制面板--》》管理工具--》》服务 会发现列表中有SVN-service服务

 

MyEclipse 中使用 TortoiseSVN

 

 

删除服

sc delete SVN-Service

 

 

如果要重新安装SVN-Service请先删除这个服务

 

如下图。。

 

MyEclipse 中使用 TortoiseSVN

 

 

 

这样。。SVN-Service服务端就算是安装完成了   ,,

你也可以自己设置为手动启动。。以免占开机时间。

SVN-Service服务端 是否是打开的,还可以通过查看本机的端口号3690是否开启来确认。每一项服务的开启都有会开启一个独有的端口号 如mysql 3306  tomat 8080 等等

可以用netstat -an 命令查看 如图

 

MyEclipse 中使用 TortoiseSVN



三。Tortoisesvn下载安装

http://tortoisesvn.net/downloads

360安装卫士软件宝库

我们安装版本TortoiseSVN-1.7.6.22632.msi

Tortoisesvn汉化

http://tortoisesvn.net/downloads(Language packs

 

Tortoise SVN安装界面

 

第一步:点击TortoiseSVN-1.7.6.22632.msi

 

MyEclipse 中使用 TortoiseSVN

 

 

第二步:

 

MyEclipse 中使用 TortoiseSVN

 

第三步:

 

MyEclipse 中使用 TortoiseSVN

 

 

第四步:

 

MyEclipse 中使用 TortoiseSVN

第五步

MyEclipse 中使用 TortoiseSVN

第六步:安装完成

 

MyEclipse 中使用 TortoiseSVN

 

第七步:最终安装完成后,系统提示是否重启,点击yes(因为不重启可能会造成显示不正确)

第八步:我们如何判断客户端安装成功呢

在任一文件夹中点击鼠标右键,如果显示如下图所示,说明安装是成功了的

 

MyEclipse 中使用 TortoiseSVN

 

 

 

四。给myeclipse 9.0 安装svn插件

方法 一

 

1.打开MyEclipse 9.0,Help > Software Updates > Find and Install...

如果Help下没有:window--preferences--general-capabilities,右侧选中Classic Update,“apply”即可,现在help中就出现“Software Updates”了。

 

MyEclipse 中使用 TortoiseSVN

MyEclipse 中使用 TortoiseSVN

 

在弹出的菜单中选

Search for new features to install >next > New Local Site... >

到下载的SVN 插件解压出来的文件夹(subclipse-1.6.5) > 确定> Finish,

 

MyEclipse 中使用 TortoiseSVN

MyEclipse 中使用 TortoiseSVN

MyEclipse 中使用 TortoiseSVN

MyEclipse 中使用 TortoiseSVN

 

在弹出的菜单中,Select the features to install:

在刚加进去的路径/site-1.6.5 这一项前打钩,此时会报错,然后点开
Subclipse 前的加号,去掉Subclipse Integration for Mylyn
3.x(Optional)3.0.0 前的勾,错误消失> next > 选I accept the terms in
the license agreements > next > next > 选中所有的8项,然后Change
Location...,在弹出的菜单中选Add Location...,选择在第2步中建的文件夹的路
径(C:\Program Files\MyEclipse 6.5\eclipse\plug-in\site-1.6.5)>
Finish > 在弹出的菜单中选Install All > Yes ;

本图是我已经安装好后的 作为报错的提示

 

 

MyEclipse 中使用 TortoiseSVN

2、完成第3步后,MyEclipse 会重启,Window > Show View > other > 选择
打开SVN 目录下的SVN Repositories;

 

MyEclipse 中使用 TortoiseSVN

3、可以正常使用SVN 插件了。

 

 

MyEclipse 中使用 TortoiseSVN

 

MyEclipse 中使用 TortoiseSVN

 

方法二 这个方法比较通用。。也适合在eclipse中哟

 

1.把下载好的   eclipse_svn_site-1.6.5.zip zip包解压到myeclipse6.5根目录下

MyEclipse 中使用 TortoiseSVN

2.在links 文件夹下新建一个名为eclipse_svn_site-1.6.5.link 的文件

MyEclipse 中使用 TortoiseSVN

3.在eclipse_svn_site-1.6.5.link 中添加path

path=D:/javasoft/MyEclipse6.5/eclipse/eclipse_svn_site-1.6.5
MyEclipse 中使用 TortoiseSVN

 

4.重启 eclipse  或者myeclipse 如果出现首页  就是打开eclipse 那个  非常漂亮的主页

说明安装好了 或者看见这个

 

MyEclipse 中使用 TortoiseSVN

 

 

 

 

下图是一个svn的访问图 

MyEclipse 中使用 TortoiseSVN

svn 的策略

拷贝-修改-合并方案(svncvs采用)

拷贝 :如果一个新成员刚来到公司时,项目经理就会让他的部员第一次去checkout .

     这里的checkout 是接触项目的第一次对svn的操作。目的是从服务器中的svn仓库中下载到本次项目的源码,一般今后和同事们一起构建这个项目,为这个项目来添砖加瓦,其后会是一顿的 update

修改:这个可以这么理解,就是修改从svn仓库下载来的源码。不管是你自己以前写的还是别的同事的源码,都可以修改。

合并: 在两个人a,b先后 修改了 xxx.java 但是 b.先commit了。。 后来a在commit时, 发现版本过期。

这时。a不得不update 后在慢慢的合并 自己和b的代码。。然后才commit .要是b未调试好自己的代码。就commit 了 。这些a就蛋疼啦。。 还要解决b遗留下来的问题。 要知道这个合并不是好事呀

 

MyEclipse 中使用 TortoiseSVN

 

小例子。

    先来三个人物。。项目经理yoyo   职员lili   公司新人biabai

先来创建  svn仓库【repository】

 仓库在我本机上给建立啦。。本人也没能力去买一台深蓝Super cp 来当服务器ya,没法,我这破本是又当Server  又当Client。嘿嘿开始啦。

在先前我们启动 SVN-Server时就指定了svn 仓库了。

 

MyEclipse 中使用 TortoiseSVN

 

这里J:\repository\svn  就是我们的大仓库 ,这里指定的是多仓库.

之后我们在svn文件夹里新建一个如AO项目的文件夹ao

MyEclipse 中使用 TortoiseSVN

 

 

进入AO项目的文件夹。我们将把它作为一个小仓库

右键鼠标依次选择 TortoiseSVN ->Create repository here

 

MyEclipse 中使用 TortoiseSVN
之后。。选择 ok 就在服务器端上的J:\repository\svn大仓库下好了我们OA项目的代码仓库oa 小仓库

 

 

MyEclipse 中使用 TortoiseSVN

  

仓库目录说明

db目录:就是所有版本控制的数据存放文件。

hooks目录:放置hook脚本文件的目录

locks目录:用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端。

format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。

conf目录:是这个仓库的配置文件(仓库的用户访问帐号、权限等)。 

 

下一步。。

给我们的oa项目小仓库创建访问权限

  是的,看了上面的说明后可知,在conf文件夹下 有仓库的配置文件

我们进入conf 如图:

 

 

MyEclipse 中使用 TortoiseSVN

看图的情况我们得先配置 svnserve.conf 文件。。

用一般的记事本打开。。我们稍稍的修改几下就差不多啦

第一步对svnserve.conf 文件作如下修改,找到以下四行: #anon-access = read #auth-access = write #password-db = passwd #authz-db = authz 将这四行前的“#”号去掉,并修改如下: anon-access = none 不允许匿名用户访问 auth-access = write 通过验证的用户可以读写 password-db = passwd 用户保存文件 authz-db = authz 权限管理文件

 

MyEclipse 中使用 TortoiseSVN

 

第二步对passwd中 添加一行 user1=user1passwd (前面是用户名,后面是密码) ltw = ltwpasswd

 

MyEclipse 中使用 TortoiseSVN

第三步对authz中 作如下操作

[groups] svngroup = ltw [itcast:/] @svngroup = rw 定义组svngroup下的所有用户拥有 读写权限 (注意:rw权限具有继承性,例如我们对于根目录设置了有读写权限 则对于根目录下的所有子目录同样具有读写权限) user1 = r 定义用户user1拥有读权限 * = 其他用户无任何权限

MyEclipse 中使用 TortoiseSVN

如果权限保护目录为中文,则必须将authz文件利用ultraedit工具转存为UTF-8 无BOM 格式 否则权限不生效

给仓库放东西

接下来 ,项目经理yoyo就会把项目的框架给搭建好。发布到 仓库上 ,然后让程序员们checkeout 来得到了

打开myeclipse 6.5 新建一个oa 项目如图

 

MyEclipse 中使用 TortoiseSVN

MyEclipse 中使用 TortoiseSVN

点击finish后我们算是模拟完成项目经理搭建项目的框架了 。

接下来 打开svn Repositories 视图 点击 下图红框中的按钮 进入 Add SVN Repository 窗口

输入你要上传的 仓库的Url ,由于是本机上的我就svn://localhost/oa 啦  这里的oa 就是我这个项目对应的小仓库啦。 点击finish 后会出现如下图 左边 有一个黄色小桶 后边跟着svn://localhost/oa 的字样的

这表明。你连接成功了。

 

MyEclipse 中使用 TortoiseSVN


如下图。当我们准备第一次Checkout时。什么都没有。

 

MyEclipse 中使用 TortoiseSVN

 

MyEclipse 中使用 TortoiseSVN

如下图。让后yoyo就上传项目了。当然这是一个Share 的过程:

    在share 之前,你的项目的图片没有变化就是一个普通的web project 项目的图标

步骤一

MyEclipse 中使用 TortoiseSVN

步骤二

 

MyEclipse 中使用 TortoiseSVN

 

 

 

步骤三

 MyEclipse 中使用 TortoiseSVN

步骤四

 

MyEclipse 中使用 TortoiseSVN

 

 

点击finish 完成。。完成后,,yoyo的项目就变成带  *   的 web project 啦。 这个提示。。这个项目需要更新啦 。。那我们就第一次提交来更新它。

MyEclipse 中使用 TortoiseSVN

当我们Commit 后。又会变成带有   黄色小桶的web project 图标 这说明此项目是更新过的

提交时会需要密码输入。。你可以让它记在你的密码

如下一系列图。是提交过程: 1.

MyEclipse 中使用 TortoiseSVN

2.

 

MyEclipse 中使用 TortoiseSVN

 

3

 

MyEclipse 中使用 TortoiseSVN


4

看这里   项目图标右下角变成黄色小桶啦。

 

MyEclipse 中使用 TortoiseSVN

 

之后我们来开始  协同 工作。。

yoyo  新建一个MyJsp.jsp  ,在里面输入一个"svn test <br>"字样 保存后 Myjsp.jsp的图标右下角变成? 说明Myjsp.jsp 修改了,还没有没有提交 ,我们提交以下。

步骤如下:

 

1

 MyEclipse 中使用 TortoiseSVN

2

 

MyEclipse 中使用 TortoiseSVN

3

 

MyEclipse 中使用 TortoiseSVN

 

4  到这里 。项目中文件的图标都在右下角都添加了一个黄色小桶。见到小桶让人舒服呀。。。这表示你的工作完成了。

 

MyEclipse 中使用 TortoiseSVN

 

同时 。。程序员lili  要参加这个项目的开发中来。。lili 也得先checkout 从服务器端共享一份源码,来工作

这里我们就没有用myeclipse来演示 ,为了熟悉以下窗口下的工作方式。

lili在他的工作空间中 新建了一个lili的文件夹,以便来接受存放源码

步骤如下:

1

MyEclipse 中使用 TortoiseSVN

2  进入lili 文件夹,在窗口内单击鼠标右键,出现如下图的菜单。然后checkout 吧

MyEclipse 中使用 TortoiseSVN

 3 ,  输入项目经理yoyo给lili的 ao项目仓库地址  如下图高亮处,

MyEclipse 中使用 TortoiseSVN

4点击ok 后就有一个绿园白钩的让人舒服的文件夹,没错 这个就是项目经理yoyo构建好的svnTest项目

 

MyEclipse 中使用 TortoiseSVN

5, 进入项目中发现和yoyo在myeclipse 中的文件是一样的。呵呵。。这就是svn 的高明之处啦。。

 

MyEclipse 中使用 TortoiseSVN

 6 在WebRoot 目录下 还找到了 yoyo 编辑过的Myjsp.jsp.

 

MyEclipse 中使用 TortoiseSVN

为了体现  协同。。yoyo再次在MyJsp.jsp中添加了 yoyo add agian<br> 并且提交了

步骤如下:

1

MyEclipse 中使用 TortoiseSVN

2 提交: 把yoyo修改的Myjsp.jsp 提交到服务器上去,更新项目的版本 

 

MyEclipse 中使用 TortoiseSVN

3  lili 得知 yoyo 更新了Myjsp.jsp ,便更新了一下自己的项目。

 

MyEclipse 中使用 TortoiseSVN

MyEclipse 中使用 TortoiseSVN

MyEclipse 中使用 TortoiseSVN

MyEclipse 中使用 TortoiseSVN

 

4  lili 再次打开 yoyo修改过的MyJsp.jsp 后。 发现多了 yoyo add again<br>   如下图红框中的内容。。

        这就对了。。。而且 版面跟新为4 了 

 

MyEclipse 中使用 TortoiseSVN

这时来了一位新员工。。baibai

  baibai也要加入这个项目来。。就在 项目经理个baibai添加了用户和密码。。如下图。。不明白请参考上面仓库设置权限的小节。

MyEclipse 中使用 TortoiseSVN

 

MyEclipse 中使用 TortoiseSVN

baibai 上班第一天也是 先在 SVN Repositories 视图中添加项目经理yoyo指定 svn 仓库

如下图

 

MyEclipse 中使用 TortoiseSVN

 

然后导入 要一起协同开发的项目

 1.File菜单-》Import

 

MyEclipse 中使用 TortoiseSVN

2 .svn ->Checkout Projects form SVN

MyEclipse 中使用 TortoiseSVN

 

3 选择连接

 

MyEclipse 中使用 TortoiseSVN

 4.选中项目  点击finish

MyEclipse 中使用 TortoiseSVN

下图是还没有导入项目之前的样子

 

MyEclipse 中使用 TortoiseSVN

导入后的的 svnTest 项目

MyEclipse 中使用 TortoiseSVN

点开 项目的+ 号 后找到 myJsp.jsp 并进行修改 。添加 baibai add<br>  后提交。。

 

MyEclipse 中使用 TortoiseSVN

MyEclipse 中使用 TortoiseSVN

 

MyEclipse 中使用 TortoiseSVN

MyEclipse 中使用 TortoiseSVN

得知被baibai,修改Myjsp.jsp 后的lili  的更新一下 项目

 

MyEclipse 中使用 TortoiseSVN

 

MyEclipse 中使用 TortoiseSVN

下图为 lili update 后的 myjsp.jsp  。。

MyEclipse 中使用 TortoiseSVN

 

就此   一次次的新建文件 。修改  ,提交。。更新   后。。。。。项目就完成了。。

当 发现 别人修改后的代码不对时还可以通过History 用旧版本的文件替换新的有bug的文件