原文正文
读了 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" 有以下输出:
- Filesystem has no item
- svn: URL 'svn://localhost/myproject/trunk' non-existent in that revision
- Bad URL passed to RA layer
- svn: URL 'svn://localhost/myproject' non-existent in revision '234'
- mkdir -m "Initial import." svn://localhost/myproject
- mkdir -m "Initial import." svn://localhost/myproject/trunk
- checkout -N -r HEAD svn://localhost/myproject/trunk
- Checked out revision 236.
- add -N C:\path\to\myproject\.settings
- A C:/path/to/myproject/.settings
- add -N C:\path\to\myproject\.settings\org.eclipse.cdt.core.prefs
- A C:/path/to/myproject/.settings/org.eclipse.cdt.core.prefs
- add -N C:\path\to\myproject\.cdtbuild
- A C:/path/to/myproject/.cdtbuild
- add -N C:\path\to\myproject\.settings\org.eclipse.cdt.managedbuilder.core.prefs
- A
- C:/path/to/myproject/.settings/org.eclipse.cdt.managedbuilder.core.prefs
- add -N C:\path\to\myproject\.cdtproject
- A C:/path/to/myproject/.cdtproject
- add -N C:\path\to\myproject\.project
- A C:/path/to/myproject/.project
- 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
- Adding path/to/myproject/.cdtbuild
- Adding path/to/myproject/.cdtproject
- Adding path/to/myproject/.project
- Adding path/to/myproject/.settings
- Adding path/to/myproject/.settings/org.eclipse.cdt.core.prefs
- Adding path/to/myproject/.settings/org.eclipse.cdt.managedbuilder.core.prefs
- Transmitting file data ...
- 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 控制台有以下输出:
- 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 控制台输出如下:
- 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";
- 我的控制台输出如下:
- 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中切换和合并来处理分支了
-