Eclipse下使用SVN版本控制

svn版本控制在eclipse中用法详解 svn是当前一种注流的开源代码的版本控制系统。在一些大中型项目中,代码的版本控制是必不可少的。svn用于代码管理有以下几种作用: 1,可以多人同时进行编码,方便解决整合过程中的冲突。 2,可以追溯到之前版本,追溯问题代码的修改人,更快发现问题。 3,可以在进行权限的控制。 4,方便产品的发布。 我也是刚接触svn不久,在项目的开发中,它着实带给我很多方便,在此详细的说下svn的相关简介及 阅读详情
作者:朱先忠编译 转自天极[url]http://dev.yesky.com/356/2578856.shtml[/url]

摘要CVS很酷,但Subversion更酷。然而,如果你在使用Eclipse进行开发,那么你可能直到近来才能利用Subversion带来的优点。随着Subclipse的发行,Subversion可能会最终在你的Eclipse IDE环境充分发挥其威力而压倒CVS。
一、SCM和Subversion简介

  软件配置管理(SCM)是管理源码并保持其安全的良好艺术,它能实现源码与其他团队成员之间保持共享,并且能够对之加以保护。良好地利用SCM,你能够容易地跟踪软件的发行和新的开发分支;这样以来,可以更为容易地标识和修正发行产品中的错误。

其实,有大量的SCM工具可用,既有开源的和也有商业化的,例如StarTeam,Perforce,BitKeeper和ClearCase。在开源世界里,事实上的SCM标准是并发版本管理系统(CVS),它被广泛应用于世界范围内的成百上千的开源和商业工程。然而,CVS也存在下列许多固有的缺陷,这使得它无法非常完美地适合于现代工程开发:

· 实质上针对文本文件的设计使得CVS处理二进制文件能力比较差。在每一次提交时,二进制文件被以整体形式传输和存储,这将带来带宽和磁盘空间的浪费。

· 在CVS中,你不能移动文件和目录。你唯一的选择基本上就是删除并且重新添加它们,从而失去了整个过程中的所有的文件历史信息。

·CVS中没有实现原子提交的概念。比方说,你要把10个文件提交到服务器,而该提交操作往往在整个过程的中途停了下来。(这很可能会发生,如果某人同时提交一个文件,或甚至如果你的网络失败或你的PC重新启动的话。)在这种情况下,服务器将仅记录下你的修正的一半信息,这可能会使代码基部分处于一种潜在地不稳定的状态。

Subversion是一种比较新的开源SCM工具,其设计目的是力图从根本上克服原CVS所具有的限制。它是一种良好设计的工具,具有适合于现代开发的许多新特征:

· 提交是原子化的。提交的文件都能够被正确加入到一个新的修订当中,否则仓库不会被更新;并且每一个新的修订仅由一次提交中的变化部分组成。

· Subversion对文本和二进制文件使用一种巧妙的二进制技术,这既优化了网络流量也优化了仓库磁盘空间。

· 在Subversion中,每一次修订都代表了一个特定时间内完整的目录树拷贝。文件和目录可以不加限制地进行移动。

· Subversion仅存储两个版本之间的修改内容,这不仅节约了磁盘空间,并且意味着标识一个新版本或创建一种新的子内容几乎可以立即实现。

· 你可以以多种途径来存取一个Subversion仓库,具体则依赖于你的需要:使用HTTP或HTTPS(与WebDAV一起使用),使用快速的专利性svn:协议,或直接经由本地文件,等等。

二、Subclipse插件与Eclipse的集成

一种良好的SCM应该与你的工作环境紧密地集成到一起。没有谁真正喜欢转到命令行以把文件添加到仓库。Eclipse很早就实现了CVS集成,但是直到最近Subversion用户仍没有被引起重视。现在,新的Subclipse插件提供了在Eclipse中的一种平滑的Subversion集成。

(一) 安装Subclipse插件

下面,你以通常的方法从更新站点下安装Subclipse:

1. 打开"Find and install"窗口("Help>Software Updates>Find and Install")。

2. 选择"Search for new features to install"选项并点击Next。

3. 点击"New Remote Site"并且创建一远程站点,使用名字Subclipse和URL [url]http://subclipse.tigris.org/update_1.0.x[/url](参考图1)。

4. 在结果安装窗口中,把"Subeclipse in the Features"选择到安装列表中,并且通过向导来开始安装插件。

5. 完成这些之后,重新启动Eclipse。现在,你可以继续往下进行!


图1.安装Subclipse插件

(二) 建立Repository定义

现在,既然你已经安装完插件;那么,接下来,你需要告诉它你的工程仓库位于何处。你是在SVNRepository视图中实现的。打开这个视图("Windows>Show View>Other>SVNRepository")并且在上下文菜单中选择"New>RepositoryLocation"以显示一个如图2所示的对话框。输入适当的URL并且点击"Finish"。


图2.添加一个仓库定义

(三) 检出(Check Out)一个工程

一旦建立一个仓库,你就可以在SVN Repository视图中浏览所有的内容(见图3)。我们后面将会看到,这个视图是一种与Subversion进行交互的非常方便的方式。



图3.SVN Repository视图。


现在,让我们把一个工程检出到你的Eclipse工作区中。这只需选择你需要的Subversion仓库,打开上下文菜单,并且选择"Checkout"即可。这将打开一个具有两个选项的向导:

· Check out as a Project configured using the New ProjectWizard-这个选项打开新工程向导,这可以让你使用内建的Eclipse工程类型配置工程。这个选项通常是最好用的,因为它让你使用相同的工程模板和配置屏幕,而当你创建一个常规工程时你经常使用它们。

· Check out as a Project in the Workspace-这个选项简单地在你的包含检出源码的工作区中创建一个Eclipse工程。

在以上两种情况下,你仍然需要更新工程的构建路径,因为在检出该工程源码之前,Eclipse不能确定这些 Java源码所在的位置。

(四) 把一个新工程导入到仓库中

如果你只是启动了一个新的工程,那么你需要把它导入到Subversion仓库。Subclipse提供了一种方便的方式来直接从你的IDE内部实现这一点。为此,只需要从Package Explorer视图下选择你的工程,并且在上下文菜单中选择"Team>ShareProject"。你可以使用现有仓库之一或创建一新的仓库定义。在你指定仓库和工程名之后,你能指定你想放到仓库中的文件和目录并且提供一个初始注释(见图4)。这种方法特别有用,因为它让你有选择地导入仅由Subversion管理的文件,即使该工程还包含其它文件(例如生成的类,临时文件或其它不是必需的内容等)。

图4.把一个工程导入到一个Subversion仓库中

三、在Eclipse中使用Subversion

  现在,既然你的支持Subversion的工程已经启动并且运行起来,那么大多数必要的Subversion命令就可经由"Team"上下文菜单存取(参考图5)。你可以在PackageExplorer中看到你的本地文件的状态(参考图6),其中,任何修改了的文件都被标记上一个星号。存储在仓库中的文件都显示一个小黄桶图标(代表了一个数据库);还没有被添加到仓库中的文件以一个问号显示。


图5.大多数Subversion命令能被经由Team菜单存取

图6.你可以在Package Explorer中看到本地文件的状态

(一) 与Repository保持同步

从仓库中更新你的文件并且把你的变化提交到仓库是相当直接的过程,这可以使用"Team>Update andTeam>Commit"菜单选项来实现。在提交你的变化之前,你可能想看一下自从你的上次更新以来是否服务器上有任何文件被修改。为此,你可以使用"Team >Synchronize withRepository"。这个命令让你看到有哪些内容已经被局部地修改,有哪些内容在服务器上修改,以及这两种修改之间的任何冲突(参考图7)。你还可以以可视化方式看到冲突的版本,并且在提交你的变化之前纠正任何比较突出的冲突。


图7.与仓库保持同步

(二) 使用属性

属性是Subversion具有创新性的特征之一。在Subversion中,你可以把元数据("properties")关联到任何文件或目录。你可以定义任何你喜欢的属性,但是Subversion也提供了一些有用的内置属性,例如下面图8中所提供的这些属性:

· svn:executable属性,允许你在支持这种能力的操作系统上设置一个文件的可执行标志。

·svn:need-lock属性,可以用来在文件(例如,对二进制文件非常有用)上强加排斥锁。一个定义了svn:need-lock属性的文件一次只能被一个人修改。当该文件被检出时,它是只读的。如果你想修改该文件,你需要首先使用"Team>Lock"菜单选项。之后,使用"Team>Unlock"释放该文件,或仅提交你的变化。这一行为将释放该锁并且让其它的用户也得到该文件上的一把锁。


图8.把一个Subversion属性添加到一个文件中

三) Tag和Branch

在Subversion中,很容易创建新的tag和branch。你可以使用tag来标识一个特定的版本(使用一种可读的名字,例如"Release1.0")。;而一个branch用于新的开发工作而不影响主源码基(称作trunk)。在一个branch上的开发仍会继续进行,直到开发者已经为把变化集成回主trunk作好准备。

在Subversion中,branch和tag都是通过制作给定修订的一个虚拟副本(以另一个名字和/或另一个目录)创建的。在常规情况下,branch存储在branches目录下,tag位于tags目录下,尽管在实践中为了满足你的工程你可以使用自己的任何定制。

从Eclipse中,"Team>Branch/Tag"菜单能够使你创建branch和tag(参考图9)。其中,Browse按钮提供了一种方便的方法来查看有哪些branch和tag存在于仓库中。

当你使用"Team>Switch"创建成功一个新的branch或tag时,你可以非常容易地在branches之间进行切换。无论何时你切换到一个不同的branch(或返回到trunk),Subversion将仅更新文件(它需要保持你的当前工作的副本与目的branch之间的同步)。


图9.创建一个新的branch或tag

(四) 修订历史

象大多数SCM系统一样,Subversion让你跟踪你的源码的变化。"Team>Show in Resource History"菜单选项能够使你查询这些变化的列表(包括对一个文件,目录或甚至整个工程的改变)(见图10)。

记住,在Subversion中,提交是原子性的-一次提交由一组文件变化和一个全局注释组成。"SVN Resource History"视图向你显示每一次提交的一个简明视图,包括修改的文件和相关注释。

Eclipse集成Subclipse(SVN)版本控制插件深入解析 本文还有配套的精品资源,点击获取 简介:Subclipse是Eclipse IDE中用于支持Subversion(SVN)版本控制系统的插件,实现了版本控制、分支与合并、冲突解决、标签创建、远程访问和权限管理等功能。此插件通过图形化界面、资源比较、内置冲突解决工具和集成开发环境特性,简化了团队协作开发中的版本控制流程。安装Subclipse插件包含在Eclipse中安装、配... 阅读详情

相关推荐

Eclipse集成SVN版本控制插件指南

本文还有配套的精品资源,点击获取 简介:Eclipse SVN插件是一个重要的开发工具,用于在Eclipse IDE内与SVN服务器交互。它简化了版本控制过程,如导入项目、版本控制、提交更改、查看差异、解决冲突、分支与合并、创建标签、查看日志以及修订版更新。安装和配置后,开发者可以高效地管理代码,解决团队协作中的问题。 1. Eclipse SVN插件介绍 ...

weixin_26805451的博客 1794

4.Eclipse中使用SVN?安装Subclipse插件?SVN视图?

Eclipse上安装Subclipse插件 Subclipse是一个为Eclipse IDE添加Subversion支持的项目。支持几乎所有版本的Eclipse 安装eclipse subclipse插件可以从svn服务器获取工程代码。 SVN作为版本控制的工具广泛运用于团队办公当中,运用SVN来提交更新文件,便于团队其他成员查看和恢复 合作开发项目,开发可以用这个来联机 1.进入Eclipse在线下载 2.搜索SVN,并找到Subclipse点击Install安装 3.确认安装 然后同意协议,

相互学习 共同进步 9852

Eclipse SVN插件:版本控制与团队协作指南

本文还有配套的精品资源,点击获取 简介:Eclipse SVN插件是集成开发环境Eclipse中用于版本控制的工具,支持与Subversion(SVN)服务器交互以管理代码版本。它通过一系列步骤安装并提供版本控制、冲突解决、协同开发及与持续集成工具整合等功能,是Java开发人员提升专业性的关键工具。 1. Eclipse集成开发环境版本控制工具 1.1 Ecli...

weixin_42581846的博客 1910

Eclipse中svn的使用 (详细)

eclipse中使用svn: 在eclipse中安装svn插件 a.离线方式 下载eclipse_svn_site.zip 解压到eclipse\dropins(eclipse插件目录) b.在线方式 help->Eclipse Marketplace 搜:subversion 使用: 项目组长:发布项目 预处理:右键要发布的项目-team-share project -svn -。。。输入...

爪白白的个人博客 4802

掌握SVN版本控制:服务器、客户端与Eclipse集成

版本控制系统是软件开发中不可或缺的一部分,它们帮助团队管理和同步代码变更,跟踪历史记录,并解决可能出现的冲突。SVN(Apache Subversion)是一个广泛使用的版本控制系统,它允许团队成员在中央仓库中进行代码的检出、修改、提交和合并。SVN的客户端-服务器架构使得版本控制操作既简单又高效。

weixin_42584758的博客 1017

Eclipse中的SVN集成:版本控制的强化

在现代软件开发中,版本控制已成为项目管理不可或缺的一部分。Eclipse作为广受欢迎的集成开发环境(IDE),配合SVN(Subversion)版本控制系统插件,可以有效地管理代码的变更历史。SVN作为集中式版本控制系统,让团队成员能够在同一个代码库上协作,同时跟踪和管理代码变更。本章将简要介绍Eclipse SVN集成客户端的概念、作用以及它如何帮助开发者高效地进行代码版本控制。Eclipse SVN集成客户端不仅简化了版本控制流程,还提供了图形用户界面,让不熟悉命令行操作的开发者也能轻松上手。

weixin_35753431的博客 360

SVN使用教程

SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本。 Subversion是什么? 它是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以...

angou6476的博客 240

svn版本控制插件的集成实践:IntelliJ IDEA与Eclipse

本文还有配套的精品资源,点击获取 简介:版本控制系统Subversion(svn)在IT行业中是团队协作的关键工具。本文详细介绍了如何在IntelliJ IDEA和Eclipse两大集成开发环境中集成svn插件,以优化项目管理和协作开发。从安装步骤到实际操作,包括可视化版本控制、冲突解决、分支管理和历史查看等,本文指导开发者如何通过IDE内置的svn功能提升工作效率。 ...

weixin_32389853的博客 2073

Integrating with Eclipse: The Subclipse Plug-in

A good SCM should be closely integrated into your working environment. No one really likes having to go to the command line to add files to the repository. Eclipse has had excellent CVS integration fo

CenturyMagus的专栏 874

Subclipse - 集成Eclipse的SVN版本控制插件.zip

Subclipse 是一个开源的 Subversion (SVN) 客户端插件,它将版本控制功能无缝集成到流行的 Eclipse 开发环境中。无论您是代码库的新手还是资深开发者,了解 Subclipse 的基础知识都是提高生产力和协作效率的关键。本章节将概述 Subclipse 的基本概念、优势以及它如何简化您的版本控制流程。通过本章,您将开始理解为什么在 Eclipse 中使用 Subclipse 是一种最佳实践,并且如何为其使用奠定坚实的基础。

weixin_29717341的博客 939

掌握Eclipse SVN插件:Java开发中的版本控制

SVN(Subversion)作为版本控制系统,在软件开发领域中扮演着至关重要的角色。它帮助开发者管理和跟踪文件的变更历史,从而能够有效地控制代码版本并解决版本冲突问题。Eclipse作为一个功能强大的集成开发环境(IDE),通过集成SVN插件,可以为开发者提供便捷的版本控制体验。

weixin_42627459的博客 829

Eclipse项目换成AS项目遇到的问题总结

以下是本人导入工程项目中碰到的问题,谨在此做个记录,不保证涵盖所有问题,解决方法是别人提供,本人验证通过。 如果遇到按照如下方法解决不了的,烦请自行再搜索解决。 1.错误提示如下: ERROR: Could not find com.android.tools.build:gradle:3.5.1. Searched in the following locations: - h...

zhongms专栏 671

Eclipse SVN插件集成与版本控制实践

Eclipse SVN插件(Subversive)是Eclipse开发环境中一个强大的源代码版本控制工具,它支持Apache Subversion(SVN)这一版本控制系统。它提供了全面的版本控制功能,从提交代码到解决版本冲突,再到分支管理,SVN插件为开发者提供了一个高效且直观的协作平台。该插件的主要功能包括:版本控制操作:方便的检出(checkout)、提交(commit)、更新(update)和锁定(lock)等。分支与合并:支持多分支和标签的创建、切换与合并。

weixin_42594427的博客 701

Subclipse:Eclipse开发者的终极SVN版本控制解决方案

还在为Eclipse中管理Subversion版本控制而烦恼吗?Subclipse插件为你提供了一站式的SVN集成体验,让你在熟悉的Eclipse环境中轻松管理代码版本、协作开发和冲突解决。作为Eclipse平台上最受欢迎的SVN团队提供者插件,Subclipse让版本控制变得简单直观。 ## 🚀 为什么每个Eclipse开发者都需要Subclipse? 如果你是一名Java开发者,每天都在

gitblog_00547的博客 1168

银河飞腾FT6678实战指南:OpenMP多核并行编程优化技巧

本文详细介绍了在银河飞腾FT6678多核处理器上使用OpenMP进行并行编程的实战技巧与优化方法。从基础语法到环境配置,再到性能优化的五大核心技巧,包括循环并行化、并行粒度控制、reduction子句使用等,帮助开发者充分发挥FT6678的8核计算能力。通过实际案例展示如何将图像处理算法从200ms优化到28ms,并深入探讨了任务调度、内存访问优化等进阶主题。

weixin_29234423的博客 288

Linux ELF文件解析:从file到readelf的完整工具链指南

ELF(可执行与可链接格式)是Linux系统中二进制文件的标准格式,定义了程序加载、内存布局和元数据组织方式。其核心原理在于通过程序头表描述执行视图、节区头表描述链接视图,实现代码与数据的结构化存储。这一格式的技术价值在于为程序调试、安全审计和性能优化提供了底层支持,尤其在动态链接、符号解析和内存保护机制中发挥关键作用。在应用场景上,系统管理员依赖ELF分析工具解决库依赖问题,安全研究员通过检查安全属性评估漏洞风险,开发者则利用反汇编进行代码调试。本文聚焦于file、readelf、objdump等工具链的

weixin_42691065的博客 635

Eclipse中SVN版本控制插件的安装和使用

以前提到过SVN版本控制器和客户端的安装和配置,这里再在说一下在编译器中怎么使用SVN,使其既可以单独使用,也可以配合SVN客户端一起使用。由于编译器种类众多,插件种类也不同,这里只简单介绍下Eclipse的插件安装。我用的版本是Eclipse3.2.2+MyEclipse_5.1.1,由于本身只有CVS而没有集成SVN,所以要想使用SVN做版本控制只好装一个Eclipse插件Subclipse,

huanghm88的专栏 1915

迪文DGUSII串口屏中文显示实战:手把手教你制作16x16点阵字库

本文提供了一份迪文DGUSII串口屏16x16点阵中文字库制作的完整实战指南。从显示原理、字体选择与参数设置,到使用FontLib Make工具生成字库文件,再到部署、调用及存储空间优化,手把手教你解决中文显示难题,确保界面文字既美观又稳定。

weixin_29190573的博客 156

ubuntu12.04下使用Eclipse进行SVN版本控制

一、安装SVN      打开终端: sudo apt-get install subversion 二、配置Eclipse    首先需要安装Eclipse的svn接口组件“javaHL” sudo apt-get install libsvn-java       安装完毕后打开Eclipse,在help选项中的“install new software”中输入插件安装地址:

古月居 4822

【OpenClaw从入门到精通】第15篇:国产芯片适配实战——昇腾/龙芯/天数智芯全流程跑通(2026实测版)

2026年国产芯片AI适配迎来爆发期,OpenClaw作为轻量化本地AI智能体,已实现华为昇腾、龙芯、天数智芯等主流国产平台的全流程适配。本文基于实测数据,从背景解析、核心原理、算法优化、实操部署四个维度,详细讲解OpenClaw在香橙派昇腾开发板、龙芯3B6000M、天数彤央TY1200及联想开天X7h的部署流程,同时提供统一工具玄武CLI的使用指南。文中包含完整代码、执行结果、避坑技巧及虚拟实战案例,兼顾新手入门与进阶提升,帮助读者快速掌握国产芯片上的本地AI部署能力,实现数据隐私保护与低成本AI落地。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1012

PX4从放弃到精通(十一):混控及PWM输出

文章目录前言一、混控脚本二、使用步骤1.引入库2.读入数据总结 前言 一个人可以走的更快,一群人才能走的更远,交流学习加qq:2096723956 更多保姆级PX4+ROS学习视频:https://b23.tv/ZeUDKqy 分享知识,传递正能量,如有疏漏或不当之处,恳请指出. 一、混控脚本 混控脚本定义了不同 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pand

超维空间科技的博客 1万+

Eclipse SVN插件:Subversive——提升版本控制效率的利器

Eclipse SVN插件:Subversive——提升版本控制效率的利器 【下载地址】EclipseSVN插件下载与安装指南 Eclipse SVN插件下载与安装指南本文详细介绍了如何在Eclipse中安装Subversive插件,包括在线和离线两种安装方法 ...

gitblog_06508的博客 1105

2.1 amdgpu BO的类型和用途

AMDGPU驱动中,amdgpu_bo_create_user和amdgpu_bo_create_kernel分别用于创建用户空间和内核空间的buffer对象(BO)。用户空间BO支持元数据、tiling flags等属性,由GEM handle管理生命周期;内核BO则用于驱动内部资源如ringbuffer,自动pin并可选CPU映射。二者在返回类型、生命周期管理和使用场景上存在根本差异,前者面向图形渲染/AI等应用,后者服务于驱动内部任务。

图形/计算GPU的驱动与虚拟化技术分享园地 2213
上一篇: 程序员编程艺术第一~十章集锦与总结--面试、算法、编程
下一篇: linux内核完全剖析0.12笔记--第一章,概述
AstrayLinux
博客等级 码龄15年 55粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值