I have a certain understanding of version control , At the same time, we should know SVN And CVS It's two popular ones SCM Tools . So what's the difference between these two tools ?

1、 Version numbering

for example , Our version library is A, There are documents a,b,c.

stay SVN in , The version number of the new version is not specific to a particular file , It's for the whole library . submitted 5 And submitted 6 Time , file a It could be different , It could be the same , namely 1.0 Version and 1.1 The version may be the same . Because the first 6 This submission may be due to the document b or c It's been modified . And in the CVS On the contrary , Each update may only change the version number of the file , namely a Of documents 1.0 Version and 1.1 Version is definitely different .

( Correct a concept here ,“ file a Of the 2 edition ” This statement is wrong , Should be “ file a Of the 2 Time modification , That's the second time Commit”)

SVN The global version number of is SVN It brings a lot of advantages : Copy a directory or file , No matter how many documents are involved ,SVN There's no need to copy a single file in turn , Just create a pointer to the corresponding global version number .

2、 Directory version control

CVS Only version control can be performed on files , Directory cannot be versioned , This leads to CVS Lost a lot of functions :

1) There is no move operation

CVS There's no movement in it (move) This operation , When a file is moved manually ,CVS I can only notice , A file has been deleted in a location , And in one   A new location creates another file . Because it doesn't connect two operations , So it's easy to lose the track of file history . So use CVS when , The location of each file must be carefully selected .

2) There is no rename operation

CVS There's no renaming in it (rename) This operation , Artificially renaming a file will cause the file before and after the name to lose its historical connection , The main purpose of version management is to record history .

3) No copy operation

CVS There's no copy in (copy) This operation , Man made copies of CVS for , You can only see the addition of new files , Instead of recording the connection between the copy source file and the target file .

and SVN To a large extent, these shortcomings are avoided ,SVN Treat the directory as a special kind of file . When a subdirectory in a directory / File deleted 、 rename 、 Or a new subdirectory / When the file is created , The contents of the directory will change . therefore ,SVN Record the modification history of directory just like the modification history of ordinary file , When files happen / Directory movement 、 During a rename or copy operation ,SVN Can accurately record the historical connection before and after the operation . Again , Like comparing different historical versions of a file ,SVN Support the comparison of different historical versions of the directory , Show the history of the catalog clearly .

3、 Atomic submission

CVS and SVN Also as SCM Version control management tools ,SVN Atomic submission is a better one !

SVN To submit documents , Only when all the files have been successfully modified can they be put into the database , The submission becomes valid . Once interrupted ,SVN Will automatically execute “ Roll back ”(rollback) operation .SVN This mechanism ensures that all changes are either put into effect , Or none of them . because SVN Atomic commit feature and global version numbering of , When the submission completes successfully , A unique 、 A new global version number is generated , When submitting, the log information provided by the user is associated with the new version number , Store only once ( The difference in CVS Duplicate storage by file ).

SVN and CVS More articles about the difference between

  1. SVN And CVS The difference between the two ( Reprint )

    This section explains SVN And CVS The difference between , It mainly includes whether to better identify and handle conflicts , Is there more local / Offline operation and metadata management . Better conflict identification and handling     Through whether to conduct better conflict identification and handling SVN And CVS The difference between :C ...

  2. GIT,SVN,CVS Comparison of differences

    Git .CVS.SVN Compare Project source code version management tool , The most commonly used ones are :CVS.SVN.Git and Mercurial  ( among , About SVN, See blog :SVN Common commands   and  SVN Server configuration ) Objective ...

  3. SVN、CVS、VSS difference

    I don't say much nonsense , Roll up your sleeves and knock on the blackboard !~~ # First of all, I'd like to briefly describe SVN And CVS.VSS Introduction and comparison of : Introduce : All three are version control software , Most for source control 1.CVS(Concurrent Version S ...

  4. Git Learning summary (8)——Git and SVN The basic difference between

    GIT It's not just a version control system , It's also a content management system (CMS), Work management system, etc . If you are one with the use of SVN Background people , You need to make some kind of thought shift , To adapt to GIT Some of the concepts and features offered . therefore , The main purpose of this article is ...

  5. Version control system SVN and GIT The difference between

    The role of version controller : 1.  Collaborative code management , Let people develop code to achieve . 2.  Go back to the code at any previous point in time ( like : Started writing a lot of code , There are some changes later , All of a sudden IDE collapse , But it turns out that the previous code is still better , this ...

  6. svn And cvs Some of the comparisons

    All the documents show SVN Can replace CVS, meanwhile SVN The problems and shortcomings are hidden . Unfortunately , We don't think SVN yes CVS substitute , Although many defects have been modified . What is more , It even brings people back VSS.CVS and SVN The comparison of is similar to ...

  7. svn and git The differences and applicable scenarios

    svn and git The differences and applicable scenarios source https://blog.csdn.net/wz947324/article/details/80104621 svn The advantages of : Excellent cross platform support , Yes windows ...

  8. myeclipse Copy project does not contain svn or CVS Catalog

    At present, only 2 A way :(SVN and CVS All applicable ) Method 1 : Derivation method 1. Right click requires cp The catalog of , Click on export,General/File System 2.next 3. Confirm the directory you selected , And check the :Creat ...

  9. SVN And CVS Compare - How to spend the Internet

    SVN And CVS Compare All the documents show SVN Can replace CVS, meanwhile SVN The problems and shortcomings are hidden . Unfortunately , We don't think SVN yes CVS substitute , Although many defects have been modified . What is more , It even brings people back VSS.CVS ...

Random recommendation

  1. mvp+retrofit+rxjava

    quote "retrofit" : "com.squareup.retrofit2:retrofit:2.0.1", "retrofit-adapter& ...

  2. iredmail Install script analysis ( 3、 ... and )---conf/global DISTRO The source of the value and the judgment of the operating system

    The author is introducing conf/global When you file , The type of operating system has been judged , Also at the same time DISTRO It's assigned . Part of the code , Pictured : It's obvious that in the document KERNEL_NAME The value of is to judge the completed operating system , Analyze the value in detail ...

  3. Database development foundation -SQl Server Link query

    Link query : Multiple table queries can be implemented through join operators . Connection is the main feature of relational database model , It is also a symbol that distinguishes it from other types of database management systems . Two common linking operators : 1.join   on 2.union      It's off ...

  4. redis Of info

    redis Of info     http://redis.readthedocs.org/en/latest/server/info.html   INFO   INFO [section]   In one way ...

  5. JavaScript And Java The difference between

    About java and javascript The relationship between , I once read such a sentence on a forum ,java and javascript The relationship between , It's like the relationship between Lei Feng and Lei Feng pagoda , It's a classic ! Because of the name , There are always people who think that Javascrip ...

  6. HTTP The basic concept of request HTTP The meaning of request header and response header

    1,HTTP The basic concept of request    TCP/UPD/HTTP    *2,HTTP The meaning of request header and response header   Request header :  Accept: text/html,image/*( The types that browsers can receive )  Acc ...

  7. 2017 Object oriented programming (Java) Second week learning summary

    2017 Object oriented programming (Java) Second week learning summary Good morning, sister and brother ! forehead ... Don't ask me why I put Xuemei in the front , I don't know either ! I'm just one of your kind seniors . Don't ask why it's the second week's learning summary instead of the first week , because ...

  8. C The merging and sorting of languages

    I'm going to order both up ( Or descending ) The arranged data sequence is merged into a sequence which is still arranged in the original order . Code up : #include <stdio.h> #include <stdlib.h> #define m ...

  9. Map Set exercises

    (Map) It is known that the teaching content of a school is arranged as follows : Complete the following requirements :1) Use one Map, Use the teacher's name as the key , Take the course name taught by the teacher as the value , The above course arrangement .2) A new teacher has been added Allen teach JDBC3) Lu ...

  10. Asp.Net MVC utilize ReflectedActionDescriptor Judge Action Return type

    System.Web.Mvc.ReflectedActionDescriptor descriptor = filterContext.ActionDescriptor as System.Web.M ...