监控系统软件开发-linux服务器开发 监控进程
Subversion(SVN)是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
在Lock-Modify-Unlock工作模式下,若用户想对某文件进行修改,必须先锁定该文件再进行修改,修改操作完成之后再对其解锁。这种文档管理模式能够有效避免多人对某文件同时进行修改而造成的冲突,但是它减少了用户并发操作。除此之外,该模式还有一个非常明显的缺点,即如果前面的用户完成修改后,忘了对文件进行解锁操作,则会导致后面想修改此文件的用户将永远处于等待解锁状态。采用这种管理模式的版本控制工具主要有Visual Source Safe(VSS)。
Copy-Modify-Merge工作模式下,当某一用户想修改文件时,可以先将服务器文件update到本地端,然后在本地端对副本进行修改,修改操作完成后,再将副本commit到服务器。如果在此用户commit之前,原文件已经被其他用户修改并提交过,那么服务器上的版本号与本地端上的版本号不同,二者将产生冲突,服务器将中止提交。此用户只有将服务器上的新版本update到本地端,将其与自己修改的文件进行合并,才能重新commit到服务器。在实际编程中,文件的合并过程一般需要编程人员共同协商决定。这种“拷贝-修改-合并”虽然需要花费一定的时间,但却比“锁-修改-解锁”等待的时间短,能够增加操作的并发度,大大提高团队的编程效率。
大多数版本控制系统采用的是第二种方式,如Concurrent Versions System(CVS)和SVN,而这其中SVN是最为流行的版本控制软件,许多开源软件都采用了SVN作为源码版本控制服务器。在SVN版本控制软件的管理下,不管是在局域网还是在Internet上都可以对文件和目录进行管理,它突破了时间与空间的限制,促进了团队协作开发。
1
SVN原理
SVN的基本原理是将项目的代码、文档等文件保存在一台或多台服务器上,每个开发人员可以通过客户端从服务器上取出需要的文件,并在本地进行修改。当开发人员完成修改后,再将文件提交给服务器,服务器自动将其与原版本进行比较,找出差异并自动处理冲突。
SVN还支持分支和标签的概念,在需要进行大规模修改或版本发布时,可以通过创建分支(Branch)和标签(Tag)来实现并行开发和版本控制。
总结来说,SVN的原理是通过服务器和客户端相互协作,将项目的版本信息存储在版本树中,并提供多种操作(如检出、提交、更新等)来控制版本变化,同时支持分支和标签等基本概念来满足开发需求。
2
SVN的主要操作
主要操作包含:
1、SVN检出(SVN Checkout)
SVN检出是在第一次与SVN服务器建立连接的时候使用,并且检出时需要提供:SVN的地址、用户名和密码。
2、SVN提交(上传SVN Commit)
SVN提交即将电脑上文件或文件夹的修改、增加、删除提交或者上传到SVN服务器每当修改或删除本地文件时,即每当本地文件和服务器文件不一致时,都可以通过“提交”功能,将本地的文件上传到服务器,这样其他人就可以更新(下载或者同步)到你提交的文件。
3、SVN更新(下载SVN Update)
将SVN服务器中修改的内容更新/下载到个人电脑上,与SVN服务器保持一致每当想看某个或者某些文件的最新内容时,需要先从SVN上下载该文件最新的内容,这时就需要使用“SVN更新”这个功能。
如果想下载整个文件夹的最新内容,那么需要在文件夹的空白处右击,并选择“SVN更新”,如果只想下载某一个文件或者文件夹的最新内容,那么你只需要右击那个文件或者文件夹,并选择“SVN更新”。
3
SVN的状态图标的含义
1、“常规”:绿色圈带白色对勾,主要是表示自己电脑上的文件或者文件夹与SVN服务器上对应的文件一致,在自己电脑没有进行任何修改。
2、“修改”:红色圈带白色感叹号,当开始编辑一个文件,这个文件的状态就会变成修改状态,图标也会变成红色圆圈带白色感叹号。通过这种状态的变化,就可以知道自己修改过哪些文件,需要提交哪些文件。
3、“冲突”:黄色三角形带黑色感叹号监控系统软件开发,是指出现了冲突,一般在同时编辑一个文件时容易出现这种冲突的现象。
4、“只读”:灰色圈带白色对勾,这是设置只读属性后才会出现的标识,直到你获得文件锁才能取消只读。只读文件用这个重载图标来表示必须在编辑之前先得到一个锁。
5、“已删除”:红色叉,表示相应文件或文件夹被计划删除,或者表示文件缺失。
6、“增加”:蓝色加号,表示文件或文件夹已经被计划加入到版本控制之下。通常是新建的文件或文件夹会有这个标识。
7、“忽略”:灰色圈带白色横线,表示已经不受版本控制了。
8、“无版本控制”:蓝色圈带白色问号,表示暂时还没有版本的控制,但没有被忽略。
9、“锁定”:一把黄色的锁监控系统软件开发,表示文件被锁定,必须先释放锁才能让别人的修改提交。
4
SVN优势
1、存储
SVN服务器既具有CVS所具有数据储存的优点,像是信息资源存储后会形成资源树结构,便于存储的同时,数据一般不会丢失,同时又拥有自己的特色。SVN是通过关系数据库及二进制的存储方式,同时解决了既往不能同时读写同一文件等问题,同时增添了自己特有的“零或一”原则。
2、速度
与人们初始的CVS相比,SVN在速度运行方面有很大提升。因为SVN服务器只支持少量的信息、资源传输,与其他系统相比,更支持的是离线模式,因此避免了网络拥挤现象的出现。
3、安全性
SVN是一种技术性更加安全的产品,实现了系统和控制两方面的结合。一方面可以将系统整体的安全功能有效地分布在分支系统中,进而保证分支系统能正常运行,从而使各分支系统能够互补,最终在系统整体性的安全性得以保障,通过均衡原则实现最终追求安全的目的。
微信公众号
区块链and语义研究实验室