Linux what is cvs
This article mainly introduces «what is cvs in linux». In daily operations, I believe many people have doubts about what is cvs in linux. The editor has checked various materials and sorted out simple and easy-to-use operation methods. , I hope it will help you to answer your doubts about «what is cvs in linux»! Next, please follow the editor to learn together!
In linux, the full name of cvs is «Concurrent Version System», which means «code version control software» in Chinese. It is a GNU software package, which is mainly used for source code maintenance in a multi-person development environment. CVS can maintain the development and use of any document, such as editing and modification of shared files, not limited to program design; the file types maintained by CVS can be text types or binary types. The client/ server based behavior of CVS allows it to accommodate multiple users.
The operating environment of this tutorial: linux7.3 system, Dell G3 computer.
cvs in linux
CVS (Concurrent Versions System, code version control software) is a GNU software package, mainly used for source code maintenance in a multi-person development environment. A similar code version control software is subversion. Multiple developers record file versions through a central version control system to ensure file synchronization. The CVS version control system is a GNU software package mainly used for source code maintenance in a multi-person development environment. But due to previous CVS coding problems, most software development companies use SVN instead of CVS.
Concurrent has the meaning of concurrent, cooperative, consistent and so on. In fact, CVS can maintain the development and use of any document, such as editing and modification of shared files, not just programming. The file types maintained by CVS can be either text or binary.
CVS supports simultaneous access and modification of files with the Copy-Modify-Merge (copy, modify, merge) change table. It explicitly separates the storage of source files from the user’s workspace and makes it operate in parallel.
The client/server based behavior of CVS allows it to accommodate multiple users. This feature makes CVS the first choice for people in different locations working on data files (especially the source code of programs) at the same time.
Create a source code library on a server, the library can store the source programs of many different projects. These source programs are managed uniformly by the source code repository administrator. Before each user uses the source code library, first download the project files in the source code library to the local, and then the user can modify it locally, and finally submit it with the CVS command, which is managed and modified by the CVS source code library. In this way, it seems that only one person is modifying the file, which not only avoids conflicts, but also tracks file changes.
CVS stands for Concurrent Versions System, a mainstream open source network transparent version control system. CVS is useful for everything from individual developers to large, distributed teams.
Its client/server access method allows developers to access the latest code from any Internet access point. Its unrestricted version management checkout (check out: Note 1) mode avoids the usual manual conflicts caused by exclusive checkout modes. Its client tools are available on most platforms.
CVS is used in popular open source projects like Mozilla, GIMP, XEmacs, KDE and GNOME. So what is it like.
It’s awesome, you might say, but for «me» what it does. First, the basics: a version control system keeps a history of changes made to a series of files. For a developer, that means being able to keep track of all the changes made to a program throughout its development. Have you ever had a day’s work wasted by hitting the wrong key on the command line? Version control systems give you a secure network.
Version control systems are useful to anyone, really. (After all, who wouldn’t want to use a secure network.) They are often used by software development teams. Developers working in teams need to be able to adjust their individual changes; a centralized version control system allows that.
code adjustment
In a traditional version control system, a developer checks out a file, modifies it, and then checks it back in. The developer who checked out the file has exclusive rights to modify the file. No other developer can check out this file — and only the developer who checked out that file can check in (check in: Note 2) changes made. (Of course there are many ways for administrators to get beyond this limit.)
Consider how an exclusive checkout might work: Bob’s brother checks out foo.java for comments, and after writing the code he does nothing. Then he went to lunch. After Bob finishes his lunch, he finds that a bug pointed to him by his boss is in foo.java. He tries to check out foo.java. but the version control system doesn’t allow him to because his brother has it checked out. Bob had to wait for his brother to come back from lunch (two hours on this «good» day) before he could fix the bug.
In a large open source project, giving one developer the ability to prevent other developers anywhere from continuing to work on arbitrary files obviously doesn’t work because developers may be working late in arbitrary time zones. They will eventually get bored of not being able to work on projects when they want.
CVS solves this problem with its unlimited checkout mode. Checking out a file does not give the developer exclusive rights to that file. Other developers can also check it out, make their own changes, and check it back in.
«Wait a minute» you might say. «But won’t the later registration overwrite the previous one?» The answer is no. The detailed answer is that CVS detects when multiple developers make changes to the same file, and automatically merges those changes.
Wow. Automatic, don’t worry — CVS will be careful and will automatically merge changes that are not made to the same line of code. If CVS cannot handle these changes safely, developers will have to merge them manually. Where to go from here.
There are a number of CVS add-ons available on many platforms that add functionality to or make CVS easier to use.
Use the benefits
- Some bugs can unknowingly creep in when modifying software, and it may take a long time for you to notice them. With cvs, you can easily revert to an older version and see exactly which modification caused the bug. Sometimes this is useful.
- cvs uses a clever way of keeping all versions of a file in one file, keeping only the differences between the different versions.
- cvs was originally published by Dick Grune in December 1986 as a shell script in the comp.sources.unix newsgroup volume 6; in April 1989, Brian Berliner designed and coded cvs. Jeff Polk then helped Brian design the cvs module and vendor branch support.
- cvs cannot instruct you how to construct what. It just saves a tree-structured file you designed for recovery.
- cvs cannot decide how to use disk space in a checkout working directory. If you write Makefiles or scripts in every directory and have to know the relative location of everything else, sometimes you have to check out the entire repository.
- If you modularize your work, and set up a build system that shares files (via links, mounts, VPATH in Makefiles, etc.), you can arrange disk usage at will.
- You should put a tool under cvs to support such a build system (scripts, Makefiles, etc).
- When some changes occur outside the scope of cvs, think about what files need to be rebuilt. A traditional method is to use make to construct, and use some automated tools to generate related files used by make.
At this point, the study on «what is cvs in linux» is over, and I hope to solve your doubts. The combination of theory and practice can better help everyone learn, go try it!