使用 Eclipse 的 SVN 插件创建项目的主干/分支/标签

原文正文

读了  Mark Phippard 的博客以及《 Subversion 与版本控制》之后,我了解到 分支/标签 是 SVN 很棒的特性之一。但我在使用推荐的 "trunk"、"branches"以及"tags"文件夹创建我自己的目录结构的时候颇是花了一点时间。本文将分步介绍创建  Subclipse 项目然后建立一个分支。本文假定你已经安装好了 Subclipse 并建立了一个 SVN 仓库。如果你还没有,参考《 集成 SVN 插件到 Eclipse 全过程》。

1. 把你的 Eclipse 项目添加到 SVN 仓库里的一个 "trunk" 文件夹中

  • 从一个名为 "myproject" 的 Eclipse 项目开始;
  • 在 "Navigator" 窗口中,右击你的项目,选择 "Team" -> "Share Project...";
  • 选中 "SVN" 然后点击 "Next";
  • 选中你的 SVN 仓库(本文假定使用的仓库在 "svn://localhost")然后点击 "Next";
  • 在 "Enter Folder Name" 对话框中,选中 "Use specified folder name" 选项并输入 "myproject/trunk"。 "URL:" 框会有类似于"svn://localhost/myproject/trunk"的显示。点击 "Next";
  • 点击 "Finish"。将会打开一个新的对话框。选中你要提交的所有文件,输入一个注释,然后点击 "OK"。我的 Eclipse 的 "Console" 有以下输出:
[plain]  view plain  copy
 
  print ? 在CODE上查看代码片 派生到我的代码片
  1.     Filesystem has no item  
  2. svn: URL 'svn://localhost/myproject/trunk' non-existent in that revision  
  3.   
  4.     Bad URL passed to RA layer  
  5. svn: URL 'svn://localhost/myproject' non-existent in revision '234'  
  6.   
  7. mkdir -m "Initial import." svn://localhost/myproject  
  8. mkdir -m "Initial import." svn://localhost/myproject/trunk  
  9. checkout -N -r HEAD svn://localhost/myproject/trunk  
  10.     Checked out revision 236.  
  11. add -N C:\path\to\myproject\.settings  
  12.     A         C:/path/to/myproject/.settings  
  13. add -N C:\path\to\myproject\.settings\org.eclipse.cdt.core.prefs  
  14.     A         C:/path/to/myproject/.settings/org.eclipse.cdt.core.prefs  
  15. add -N C:\path\to\myproject\.cdtbuild  
  16.     A         C:/path/to/myproject/.cdtbuild  
  17. add -N C:\path\to\myproject\.settings\org.eclipse.cdt.managedbuilder.core.prefs  
  18.     A  
  19. C:/path/to/myproject/.settings/org.eclipse.cdt.managedbuilder.core.prefs  
  20. add -N C:\path\to\myproject\.cdtproject  
  21.     A         C:/path/to/myproject/.cdtproject  
  22. add -N C:\path\to\myproject\.project  
  23.     A         C:/path/to/myproject/.project  
  24. commit -m "Initial import." C:/path/to/myproject/.cdtbuild C:/path/to/myproject/.cdtproject C:/path/to/myproject/.project C:/path/to/myproject/.settings C:/path/to/myproject/.settings/org.eclipse.cdt.core.prefs C:/path/to/myproject/.settings/org.eclipse.cdt.managedbuilder.core.prefs  
  25.     Adding         path/to/myproject/.cdtbuild  
  26.     Adding         path/to/myproject/.cdtproject  
  27.     Adding         path/to/myproject/.project  
  28.     Adding         path/to/myproject/.settings  
  29.     Adding         path/to/myproject/.settings/org.eclipse.cdt.core.prefs  
  30.     Adding         path/to/myproject/.settings/org.eclipse.cdt.managedbuilder.core.prefs  
  31.     Transmitting file data ...  
  32.     Committed revision 237.  

2. 在 SVN 仓库中创建 "branches" 和 "tags" 文件夹

  • 切换到 "SVN Repository Exploring" 视图模式(Eclipse -> 点击 "Window" 菜单 -> 选择 "Open Perspective" -> "Other..." -> 在打开的 "Open perspective" 对话框中选中 "SVN Repository Exploring" 并点击 "OK");
  • 在 "SVN Repository" 窗口中,展开 SVN 树并右击 "myproject" -> 选择 "New" -> "New remote folder";
  • 在 "Create a new remote folder" 对话框中,展开 SVN 树并选中 "myproject"。"Folder name:" 输入 "branches"。点击 "Next";
  • 现在打开 "myproject" 目录可以看到 "branches" 和  "trunk" 子目录;
  • 我的 Eclipse 控制台有以下输出:
[plain]  view plain  copy
 
  print ? 在CODE上查看代码片 派生到我的代码片
  1. mkdir -m "Created branches folder." svn://localhost/myproject/branches  

  • 重复这几步来创建一个 "tags" 目录;

3. 创建一个分支

  • 切换回原来的视图模式;
  • 在分支中提交任何你想要的修改;
  • 在 "Navigator" 窗口中右击你的项目,选择 "Team" -> "Update";
  • 右击你的项目然后选择 "Team" -> "Branch/Tag...";
  • 弹出的 "Copy (Branch/Tag)" 对话框中,"To URL:" 文本框输入 "svn://localhost/myproject/branches/mybranch"("From WC at URL:" 应该显示为 "svn://localhost/myproject/trunk");
  • 保留 "HEAD revision in the repository" 选项的选中状态,输入一条注释,然后点击 "OK";
  • 我的 Eclipse 控制台输出如下:
[plain]  view plain  copy
 
  print ? 在CODE上查看代码片 派生到我的代码片
  1. copy -rHEAD svn://localhost/myproject/trunk svn://localhost/myproject/branches/mybranch  

4. 切换你的工作副本到分支

  • 你现在可以随意在主干和分支之间切换你的工作副本了;
  • 右击你的项目,选择 "Team" -> "Switch to another Branch/Tag...";
  • "To URL:" 文本框输入 "svn://localhost/myproject/branches/mybranch",点击 "OK";
  • 我的控制台输出如下:
[plain]  view plain  copy
 
  print ? 在CODE上查看代码片 派生到我的代码片
  1. switch svn://localhost/myproject/branches/mybranch C:/path/to/myproject -rHEAD At revision 239.  

5. 现在你就可以使用《Subclipse 分支和标签支持加强版》中讨论的那些特性了

本文开分支步骤参考自《 如何使用 Subclipse 建分支》。

原文链接:http://www.saltycrane.com/blog/2007/03/how-to-setup-subclipse-project-to/

译者续文

作者写这篇文章的时间是 07 年,那会 Eclipse 才出到 3.3(现在已经 4.4 了),Subclipse 也就出到 1.3.1(现在已经出到 2.0 了)。所以原文很多步骤都不太适合最新版本的 svn 插件了。所以译者在原作者的基础上,结合最新版的 Eclipse/Subclipse,对原文做了一些改进,以备自己参考,同时也希望可以方便到更多的同行。译者的 Eclipse 版本是 4.4.1(也就是 luna-SR1),Subclipse 版本是  2.0.1,这些都是截至本文发博日为止最新版的。以下是译者实际操作的步骤记录。

1. 把你的 Eclipse 项目添加到 SVN 仓库里的一个 "trunk" 文件夹中

    

  • 用svnadmin create创建一个svn项目swifton,然后分别建立三个文件夹branches,tags ,trunk


  •  
  •  把项目导入trunk文件夹中
  • 在 "Navigator" 窗口中,右击你的项目,选择 "Team" -> "Share Project...";
  • 选中 "SVN" 然后点击 "Next";
  • 选中你的 SVN 仓库(本文假定使用的仓库在 "svn://localhost")然后点击 "Next";

2. 创建一个分支

  • 切换回原来的视图模式;
  • 在分支中提交任何你想要的修改;
  • 在 "Navigator" 窗口中右击你的项目,选择 "Team" -> "Update";
  • 右击你的项目然后选择 "Team" -> "分支/标记" 
  • 弹出 "Create Branch" 对话框中,创建firstBranches分支


  •  

  • 接着就可以用eclipse中切换和合并来处理分支了


  •  
 

猜你喜欢

转载自zcf9916.iteye.com/blog/2324393