各位老铁们,大家好,今天由我来为大家分享svn更改服务器,以及如何修改SVN的的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
一、svn服务器变更ip后,eclipse怎么更改
1.打开eclipse,依次打开window>show view>other>svn>svn资源库
2.右键>属*>使用定制标签>这时候就可以改变你的新的svn服务器ip了,然后应用>ok。
3.回到第一步>右键>重新定位>看到如下图3定位界面,不用选择任何项目,next>会看到让输入新的url,添加你的新的svn服务器ip,ok即可,这时候要等待会就能看到你新服务器里面的项目了,大功告成。
二、如何修改SVN的
首先:在Eclipse中选择Windows- Show View-others就会出现【SVN资源库/SVN Repositories】,选中后,确认;
然后:选中原有的,选择【重新定位/Relocate】
最后:在弹出的窗口中显示出Eclipse中原有的工程,选中一个项目,再“Next”,然后修改新的SVN即可;
【其他方法】
1、使用最新版本的TortoiseSVN,右键在工作复本的根目录上右键-TortoiseSVN-重新定位(Relocate),再按提示操作就可以了..不过最好先备份..因为这个操作有一定的危险*
三、linuxsvn服务器换ip
1、在新的服务器上配置相应的网络连接并设置新的IP。
2、修改/etc/work/interfaces配置文件,更新网卡接口信息。根据您使用的Linux发行版和版本不同,配置文件可能会有所不同,请确保修改正确的配置文件。
3、修改/etc/hosts配置文件,以便其他系统能够找到您的SVN服务器。在该文件中添加新的IP和主机名映射关系。
4、更新所有需要访问SVN服务器的客户端系统上的配置,将旧的IP替换为新的IP。这包括在SVN客户端配置文件、脚本或命令行中使用的IP等。
5、确认修改后重启服务器,以便使新的设置生效。
四、SVN服务器是什么
提供svn服务的机器.
svn(subversion)是近年来崛起的版本管理工具,是cvs的*。目前,绝大多数开源软件都使用svn作为代码版本管理软件。
工作流程
集中式管理的工作流程如下图:
集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。下面举例说明:
开始新一天的工作:
1、从服务器项目组最新代码。
2、进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了)。
3、下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。
这就是经典的svn工作流程,从流程上看,有不少缺点,但也有优点。
缺点
1、服务器压力太大,数据库容量暴增。
2、如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等。
3、不适合开源开发(开发人数非常非常多,但是Google engine就是用svn的)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。
优点
1、管理方便,逻辑明确,符合一般人思维习惯。
2、易于管理,集中式服务器更能保证安全*。
3、代码一致*非常高。
4、适合开发人数不多的项目开发。
5、大部分软件配置管理的大学教材都是使用svn和vss。[3]
编辑本段安全*
SVN站在更高层次上对安全产品,从系统和控制的角度进行了"有机"和"无隙"的整合。
SVN是一个安全虚拟网络系统,它将系统整体的信息安全功能均衡合理地分布在不同的子系统中,使各子系统的功能得到最大限度的发挥,子系统之间互相补充,系统整体*能大于各子系统功能之和,用均衡互补的原则解决了"木桶原理"的问题。
SVN能在跨接Inter,Intra,Extra间的网络所有端点实现全面的安全,而且还能提供基于企业策略的信息管理机制以充分有效地利用有限的带宽。SVN可以满足各种企业VPN的要求,通过为公司内部网络、远程和移动用户、分支机构和合作伙伴提供基于Inter的安全连接。所以,我们可以将SVN看成是VPN、防火墙、基于企业策略的信息管理软件集成在一起的Inter安全的综合解决方案。在这样一个网络系统中,所有互联网服务器端和客户端都是安全的,并有一个信息管理机制以不断地通过这个外部网络环境动态地分析及满足客户的特定带宽需求。SVN提供了基于网络实现的eBusiness应用的安全服务,它包含:
对多种应用进行全面的安全认证;
支持多种认证及PKI;
功能强大并对用户透明的通讯加密;
面向用户的集中安全策略管理;
统一跨接Inter、Intra、Extra的通讯。
编辑本段体系结构
带有防火墙的VPN网关,它是一个将防火墙和VPN技术紧密结合的网关产品;
SVN安全远程客户端软件包,一个功能强大的VPN客户端软件,支持台式机用户、远程用户和移动用户,具有集中化管理的个人防火墙功能和VPN用户的安全认证功能;
SVN证书管理模块,一个用于SVN的完整PKI解决方案,它将完善的CA和LDAP目录服务器技术集成在一起;
SVN硬件加密卡,可以通过硬件技术实现功能强大的各种算法以提高VPN的速度和*能;
SVN智能带宽管理模块,一个基于企业策略的带宽管理解决方案,可以智能地管理有限的带宽资源,以确保用于企业重要应用的VPN*能可靠;
SVN冗余管理模块,通过冗余网关集群和防火墙VPN内的SVN冗余模块,对执行重要任务的VPN和防火墙应用在出现故障时实现无缝切换。
自动转换模块,一个自动管理IP和命名的解决方案,通过提供IP服务的跟踪和集中化管理,确保可靠地控制分配和提高TCP/IP管理效率;
SVN安全服务器软件包,专门保护单个应用服务器安全的VPN网关软件,它可以保护进行敏感操作的服务器免受攻击和未授权的访问,使客户端建立与服务器间的安全认证和支持*加密数据的连接;
SVN安全客户端软件包,它将基于状态检测的防火墙和基于IPSec的VPN客户端软件集成在客户端机器上,通过提供集中管理的个人防火墙和对所有企业VPN用户的安全认证,增强客户端机器的安全*。它与SVN安全远程客户端软件功能相比,增强了客户端的安全功能,如访问控制和安全初始化控制等。
编辑本段发展历史
在2000年初,开发人员要写一个CVS的自由软件代替品,它保留CVS的基本思想,但没有它的错误和局限,保留CVS的基本特*但去除CVS的bug和不好的特*。
在2000年2月,他们联系《使用CVS开发开源项目》(Open Source Development
with CVS)(Coriolis, 1999)的作者Karl
Fogel,并征求了他是否愿意在这个新的项目中担任一个角色。巧合的是,当时Karl已经和他的朋友Jim Blandy讨论了一个关于新的版本控制系
统的设计。在1995年,这两人就成立了Cyclic
Software,一个提供CVS的商业支持的软件公司。虽然他们经营商业服务,但是仍然在每天都在工作中使用CVS。使用CVS的挫折感使得Jim认真
思考更好的方法来管理数据,不但确定名字为“Subversion”,而且完成了Subversion档案库的基础设计。
当CollabNet的电话到来时,Karl立即答应了加入项目中,而且Jim让他的雇主RedHat Software同意让他在这个项目中不定期工作。CollabNet雇用了Karl和Ben Collins-Sussman,并在5月开始了详细设计工作。在得到了来自CollabNet的Brian Behlendorf、Jason Robbins和Greg Stein(当时是一名活跃在WebD*/Delt*规范过程的自由程序员)很多创意的帮助下,Subversion很快地引起了一个活跃开发者社区的注意。它找出并欢迎很多同样在CVS上受到挫折的社员能来为这个项目做点什么。
Subversion最初的设计Team定下了几个简单的目标。它必须在功能上可取代 CVS,也就是说,
所有 CVS可做到的事,它都要能够作到。在修正最明显的瑕疵的同时,还要保留相同的开发模式。还有, Subversion应该要和
CVS很相像,任何 CVS使用者只要花费少许的力气,就可以很快地上手。
经过十四个月的编码后, Subversion于2001年8月31日开始实现“自行管理”。也就是说,开发人员不再使用 CVS来管理 Subversion的代码,而以 Subversion自己来管理。
2009年11月,Subversion被Apache Incubator专案所接收。
2010年1月,正式成为Apache软件*会的一个顶级专案,所以为Apache Subversion.[4]
目前Apache Subversion的*为Greg Stein,项目领导者Release manager为Wandisco公司。[4]
编辑本段优缺点
所有的文档都显示SVN可以取代CVS,同时SVN的问题和缺点都被隐藏了。不幸的是,我们并不认为SVN是CVS的替代品,尽管很多缺陷都被修改了。更有甚者,它甚至让人重回CVS。
CVS和SVN的比较类似于比较C++和J*a。很明显CVS和SVN都远比SourceSafe强大的多,如同C++和J*a比Basic强大的
多。CVS代表了几乎代码控制系统的所有功能项,尽管有时他的实现并不很方便。SVN修正并添加了一些CVS并不拥有功能。例如,创建标志和分支
dubious,你在编辑文件时其他人不会有任何通知。SVN并不是CVS的替代品,只是个不同的系统,类似于CVS。它有些特有的功能,足以作为采用它
的理由。这些功能使他更适合于开发环境,例如对PowerBuilder。下面你可以找到两者的相对优势、劣势。
1存储类型格式
CVS是个基于RCS文件的版本控制系统。每个CVS文件都不过是普通的文件,加上一些额外信息。这些文件会简单的重复本地文件的树结构。因此,不必担心有什么数据损失,如果必要的话可以手工修改RCS文件。
SVN是基于关系数据库的(BerkleyDB)或一系列二进制文件的(FS_FS)。一方面这解决了许多问题(例如,并行读写共享文件)以及添加了许多新功能(例如运行时的事务特*。)。然而另一方面,数据存储由此变得不透明。
2速度
CVS比较慢。
整体而言,由于架构实现的不同, SVN的确比CVS快很多。在网络上它只传输很少的信息并支持更多的离线模式的功能。但这也是有代价的。速度的代价就是巨大的存储(完全备份所有的工作文件)。
3标志&分支
SVN把采用标志和分支而抛弃了其他三件东西,实际上这意味着他们把这个概念替换为在档案库内部复制文件或目录以便
保存日志。这样一来,无论标志创建还是分支创建都只是仓库内部的文件复制了。对分支而言:分支不过是在仓库内部的一个单独的目录而已了,不像早期还有些什
么交错。对标志而言:已经不能对代码加标志了。在某种程度上说,SVN全文件编号补足了这个缺陷,SVN里整个仓库都有版本号,但不是针对单个文件。
4元数据
CVS只允许存储文件。
SVN允许一个文件有任意多的可命名属*,功能十分完全。
5文件类型
CVS最初是为文本文件存储而设计的。因此其他文件类型(二进制,统一码)文件的支持几乎没有,如需要的话则要有其他信息,并且客户端服务器端都要调整。
SVN会关心所有的文件类型,不需要你来手工操作。
6回滚
CVS允许任意的回滚,在任意一个已递交的版本上,尽管这要花些时间(所有的文件都要分别处理)。
SVN不允许递交后回滚。建议把版本库里好的状态版本加到末尾,覆盖掉损坏的版本。而损坏的版本无论如何也是会存在数据库里的。(SVN的滚回操作实际上是merge操作)
7事务
CVS中的“零或一”事务原则根本没有实现。如果检入几个文件的话(加到服务器上),很有可能部分文件完成了,而另几个没有。作为一个潜规则,手工纠正这些并且对余下的文件(而不是所有文件)一一重复检入。这样这些文件将在两阶段中被检入。SVN的确支持“零或一”事务原则,这是SVN的一大优势。
五、svn无法修改提交路径
relocate是用于SVN服务器更换IP或访问URL时,客户端重新定位SVN服务器,relocate前后针对的是SVN服务器上的同一个版本库。
从你的截图来看,你企图将一个版本库checkout出来的内容relocate到另一个版本库,这自然会被SVN服务器禁止。
relocate只能用于SVN服务器配置改变前后的同一个版本库。
你要修改提交路径是什么意思,要达到什么目的?这个要解释清楚才好给你更好的建议。