Version control tool
Version Control Tools Version Control is a tool development, an essential tool, especially in multiplayer team, suitable version control tools can improve development efficiency, eliminate many code versions. This article first lists the problems that may encounter when there is no version control tool, and then introduces the mainstream version control tool, which is later introduced to the history, function, concept of the version control tool CVS preferred by the Java developer; finally in Eclipse CVS In the environment, a complete process used by CVS is an example, describing how to use CVS tools correctly. Why use version control tools? If there is no assistance to the version control tool, we often encounter some problems in the development: First, the code management is confusing. If you are adding or deleting a file, you are hard to find. There is no way to trace the modification of the file code. There is even file loss, or the new version code is unintentionally covered by companions. Second, solve the difficulty of conflict between code. When everyone modifies a public file, solving the code conflict is a very headache. The most primitive approach is to manually open conflict files, compare progressive, and then paste the copy. The more advanced practice is to use the file comparison tool, but still can't save complicated manual operations, unclear, and even introduce new bugs. Third, the deep bug is introduced during the code integration. For example, developer A wrote a public function, and B felt that it can be reused; later A further modified this public function, adding new logic, and this change is B unwanted. Or A found that this public function is not enough, and has made a function, but B is not in time notification. These are all hidden dangers for deep bugs. Fourth, the owner of the code cannot be permissible. The code is completely exposed to all developers, anyone can increase, delete, change operation, and cannot specify a clear person responsible for the code. Especially the development of products, this is extremely dangerous. 5. The different versions of the project have been released. Especially for the development of products, you will be released frequently, then there is no effective management of product version tools, everything will become very difficult. The above is just a number of issues that may have no version control system, especially for large projects and differently developed a suitable version of the control tool, which can effectively solve all kinds of problems caused by different code versions, let our Developers can spend more effort to develop. Instead of each time spent a lot of time for code integration and solutions to the different issues.
Mainstream version control tool introduces now, there are many excellent version control tools for us to choose, the following is a simple introduction to the five mainstream version control tools. StarTeam is a software that collects version control, build management, and defect tracking systems, and has a powerful graphical interface, easy to use; but management is complex and difficult to maintain. Borland was acquired by Borland at the end of 2002. PVCS Version Manager is an integral part of the USMANT software configuration management tool PVCS family that enables source code, executable file, version of the application file, graphics file, and document version management; it can safely support software parallel development, Volumely control management of multiple software versions. ClearCase (CC) is part of ROSE components, currently the most catalog management tools, mainly used in complex product issuance, distributed teamwork, parallel development and maintenance tasks. You can control Word, Excel, PowerPoint, Visio, and other file formats, you can define a type to identify yourself for unformable formats. Visual SourceSafe (VSS) is easy to use, convenient, highly integrated with the Windows operating system and Microsoft development tools. CVS (Concurrent Versions System) is a concurrent version of the source code, which is currently the most popular source code version management solution for software developers. It can be used in a variety of platforms, including Linux, UNIX, and Windows NT / 2000 / XP, etc. The first three is a heavyweight commercial version control tool, which is more suitable for huge teams and projects, and the price is not. Visual SourceSafe is Microsoft's product, of course, can only be used in Windows platforms and seamlessly integrate with Microsoft development tools. CVS is free open source, and almost all open source projects are used to manage version of CVS, undoubtedly, it is our Java developer optimal choice. CVS history, function, basic concept introduction History CVS was born in 1986, which appeared as a group of shell scripts; in March 1989, Brian Berlinor was redesigned with C language and wrote CVS code; 1993, Jim, Jim Kingdon eventually designs CVS to network-based platforms, developers to get program source code from Internet anywhere. Up to now, the latest version is 1.12.11 issued on December 13, 2004. Function introduction 1, code unified management, save history of all code file changes. Centrally managed the code, you can easily view new or deleted files to track all code changes traces. You can recover from any of the previous historical versions. And avoid the deep bugs from which the version is introduced. Second, a perfect conflict solution that can easily resolve document conflicts without the need to compare tools and manual paste replication with other files. Third, the management of code authority. You can set different permissions for different users. You can set access to the user's password, read-only, modified, and through the script in the CVS root directory, provide the corresponding functional expansion interface, which can not only complete fine permission control, but also complete more personalized features. Fourth, support convenient version release and branch function.
Basic Concept Sources (Repository) CVS resource depot stores all version control file COPY, usually not allowed to access directly, only pass the CVS command, get a local COPY, after CHECK IN (COMMIT) return repository . The repository is usually separated from the work directory. CVS access the repository in a variety of ways. Each method has different directory representations. Version (Revision) Each version of each file is different, shaped like 1.1, 1.2.1, general 1.1 is the first revision of the file, and one of the back will automatically increase the rightmost integer, such as 1.2, 1.3, 1.4 ... sometimes 1.3.2.2, after seeing. Revision always even numbers. Under normal circumstances, the revision is performed as a number inside the CVS, and the tag can log user's specific information. Label (TAG) with symbolized representation method flag file specific Revision information. Usually do not need to be tag for a file, but a TAG is simultaneously for all files, and the user can submit or Checkout only to the specific TAG file. Another role is to indicate which files and which version it is available during the release software; each file can be included in a TAG. If you name an existing Tag default will not overwrite the original; branch (BRANCH) does not have any effect on additional BRANCH when the user modifies a BRANCH. The two versions can be combined by the merge method in appropriate time; Branch is always plus an even integer after the current revision (starting from 2, the end), so Branch is always an odd number, such as 1.2, back Branch For 1.2.2, Revision may be 1.2.2.1, 1.2.2.2, ... conflict (Conflct) is completely a conflict of plain text, does not contain logical contradictions. Generally a document, A made changes, b has been changed before A, so that in the end, who will conflict, need to handle the conflict and then submit. CVS and Eclipse integration development have introduced the history, function, instructions of CVS. Below we will use the CVS tools built in the most popular Java IDE Eclipse to introduce the correct use of CVS in the actual environment in a complete development process. About the installation of the CVS system is not the content of this article, you can get the installation information from the link to the link. Common CVS Control Command Check Out Remove the source file from the CVS source warehouse, the default version is the latest version, you can also select the specified version. Before you change the source code, you need the latest version of CHECK OUT, and then the source code is modified. In the specified directory, all files are Read-Write. Check in (check) Add the source code into the CVS source warehouse, each of the files that add the file in the Code Base is 1.1. After each modify the file again, the version of this file is incremented to 1.2, 1.3. ....... After modification of the source code, you need Check IN to submit the latest version of the source code. Synchronize with repository (synchronized with resource library, referred to as synchronization) makes local changes to repository, which lists different files between local and resource libraries. Add to Version Control Adds new files into version control.
Add to .cvsignore sets the file to version control so that changes in the file or directory are not visible in CVS, even if synchronization cannot be found. CVS correctly uses steps, synchronization (Synchronize) is the latest changes to the last out of the next to the server after synchronizing the local change with the server. This is very useful, especially agile development, emphasizing the collective ownership code. With synchronous features, you can grasp the code of the project, which can easily track any changes to the public module code. Specific operation: In the resource perspection (RESOURCE PERSPECTIVE) or Java View (Java perspective), select the directory you want to synchronize, click Right click to select "Synchronize with repository", which will then display the synchronization view. As shown below: (Figure 1, CVS synchronization view) After synchronization, it has four mode options, see the green box box in the picture above. From the right to: incoming mode: indicates that the modification is from the server, corresponds to the update (UPDATE). Outgoing mode: Represents the modification comes from the local, corresponding submit (commit) operation. INCOMING / OUTGOING MODE: Local and server modifications are displayed in this mode (MODE). Conflicts Mode: Displays conflict files for local and server modifications. Second, update (update) is relatively simple, select incoming mode, select the file to update to update, right click to select the Update action. Third, resolve conflicts and merge (Solve Conflct and Merge) If conflict files, conflict files cannot be updated. You must first resolve conflict restarts. Select the conflict file, then right click to select "Open in Compare Editor" and open the file with the comparison tool. As shown below: (Figure 2, CVS comparator view)
The comparator view, the left version is the local file (LOCAL file), and the right is a remote server file. Use the "Select Next" button (button down the first arrow in the green box), check one by one. If the different points are identified as a black box, don't take it. If it is a blue box, you need to manually adjust. As shown in the figure above, different points are blue boxes, put the mouse to the middle of the two different points, "," Copy Current Change from Right To Left "," Copy Current Change From Right To Left " Cover the different points of the right server to the local file on the left. Click this button. Repeat this operation and copy the changes on all servers to the local. If there is a line of code, local and servers have made modifications at the same time. At this time, the modification point displays the red box. At this time, you have to make a correct modification. All modifications are complete, save local files. At this time, if the modified point does not have a blue box box, you can start the merge (MERGE). The operation is also very simple, select this file, click Right click, select "Mark As Merged". Note: Make sure there is no blue box, that is, completely copying the server's modification to make a merge (MERGE) operation, otherwise the code on the server will be overwritten. Fourth, submit (commit) update server code, after resolving conflicts, first check whether there is an error after changing the local file modification. If so, of course, first resolve the error, then submit it. Appendix: http://www.8848software.com/scmchina/scmtools.htm is linked by the document link of many version control tools. http://www.perforce.com/perforce/reviews.html Infrastructure Group compared to Perforce and Clearcase, CVS, PVCs, Visual SourceSafe (VSS) several CM tools for quantitative and qualitative. For qualitative comparisons, content involves Methods and environments of tool support; for quantitative comparisons, including the time required to perform different activities on different project scale. Copyright Notice: 9CBS is this BLOG managed service provider. If this paper involves copyright issues, 9CBS does not assume relevant responsibilities, please contact the copyright owner directly with the article Author.
[
Click here to favor this article]
Published on January 19, 2005 9:53 AM
comment
#
Branch (BRANCH)
2005-01-19 10:41 AM
Moxie
Welcome everyone to discuss the use of CVS in Eclipse:
Branch (BRANCH). The branch is introduced in our CVS basic anory. One project can have multiple branches, and a branch modification does not have any impact on other branches.
If there is a UM (Unified User Management) project, this is a universal user management system, but our specific items such as financial management, and some special business needs for users. At this time, you can create a branch of financial management UM. Add its own business function. At the same time, it can be compared to the code of the main line (Compare).
#
Reply: Version Control Tool
2005-01-19 10:09 PM
Zorro.x
I have used WinCVS and I feel very difficult. I feel very easy to use JBuilder. I have used Eclipse and I feel uncomfortable. It's so much, thank you! #
Reply: Version Control Tool
2005-01-19 11:53 PM
XiGuadao
There is also a version of Subversion is also a version control tool. It has a tool for replacing CVS, especially for the version control function of the folder directory, which provides CVS, very nice, worth studying
#
Reply: Version Control Tool
2005-01-20 10:01 am
graydom
Thank you for providing information
CM's things are the premise and foundation for work
#
Reply: Version Control Tool
2005-01-20 10:21 am
Moxie
Subversion may be powerful than CVS. But don't forget that CVs have already pretended to have a large number of markets, especially in open source. This, I think it is difficult to reach the Subversion. Moreover, the tool is enough, isn't it?
#
Reply: Version Control Tool
2005-01-21 12:08 am
Earthharp
P4S
The Best
#
Reply: Version Control Tool
2005-01-21 1:49 PM
Ibeyond
Now the code management I use CVS.
Document management I use Subversion, I feel that it is not bad.
#
Reply: Version Control Tool
2005-01-21 2:33 PM
Yayv
Subversion and CVS have a hand of the author, and there is a CVS2SVN warehouse conversion tool that does not have any obstacles from the CVS to the Subversion.
And Subversion also makes up for the many shortcomings of CVS, interested, you can go see
#
Reply: Version Control Tool
2005-01-22 10:38 AM
DDDD
nonsense,
#
Reply: Version Control Tool
2005-01-23 8:42 PM
Michael
The landlord said that StarTeam does not support parallel development, I think it is really a good understanding of Starteam.
#
Reply: Version Control Tool
2005-01-23 10:51 PM
Netcobra
I am afraid I have to develop parallel in addition to VSS?
Single function, Subversion is still much more than CVS, some are still good; as for "market", it is still necessary to see demand, and now some Kaiyuan software is using Subversion.
I feel WinCVS is not easy to use, I can try TortoiseCVS, which is a CVS tool integrated with the resource manager. It is easy to get started with Windows users. The home page is http://torToisecvs.SourceForge.net.
For Subversion, there are similar tools TortoiseSVN, and the usage method is almost identical, and the home page is http://torToiseSvn.tigris.org.
#
Reply: Version Control Tool
2005-01-24 1:13 AM
eric
VSS also supports parallel development, but VSS's default settings are forbidden "two people Check Out".
Just change the settings of the VSS.
The biggest shortcoming of VSS may not support Internet, but if it is only used in the LAN, I think VSS has an advantage in terms of ease of use and convenience.
#
Reply: Version Control Tool
2005-01-24 12:48 PM
SYDONGSUN (www.askguoyu.com)
Video Getting Started Learning Download: http://www.askguoyu.com/cm/cvs1.htm
#
Reply: Version Control Tool
2005-01-24 12:50 PM
SYDONGSUN (www.askguoyu.com)
Similarly, some other partial learning information about the software configuration management tool is also available on the website.
Reference: http://www.askguoyu.com
#
Reply: Version Control Tool
2005-01-24 5:25 PM
Moxie
Thanks to Michael's finger, I made a mistake. Check the documentation carefully and Starteam supports parallel development. Thanks again to Michael again.
#
Reply: Version Control Tool
2005-01-24 5:30 PM
Moxie
The integration of version control tools and development tools is also a standard, especially the version control of the code control. VSS is mainly seamless with Microsoft's development tools, but it is very troublesome to use other development tools.
#
Reply: Version Control Tool
2005-01-27 7:30 PM
Old Kang
What about your picture?
#
Version control tool
2005-01-27 8:47 PM
Whiteeagle
Ping Back from: blog.9cbs.net
#
Reply: Version Control Tool
2005-01-28 7:43 PM
extraordinary
To Netcobra:
VSS is also not very good in terms of branch, merge.
#
Reply: Version Control Tool
2005-01-30 10:24 PM
Huitiansou
I have been using Visual SourceSafe (VSS)
In exchange, all companies use Visual SourceSafe (VSS)
#
Reply: Version Control Tool
2005-01-30 11:47 PM
Arbow
How to Moxie put so much "hard disk map"? ?
#
Reply: Version Control Tool
2005-02-01 3:37 PM
Let go of yourself
Now I have a firefly, I don't know who used it? Look at the online introduction seems very good, don't know where some downloads? I also want to find a play.
#
Reply: Version Control Tool
2005-02-01 4:24 PM
Lunar
I use CVS, but I often have a conflict or I can't make up or update the phenomenon.
#
Reply: Version Control Tool
2005-02-01 10:12 PM
Nomagic
I have used CVS, it is very difficult to generate a lot of temporary file inclusions in the original code file. I have used STARTEAM, it is very easy to use, and it is not complicated.
#
Reply: Version Control Tool
2005-02-02 8:47 PM
Yang Yushu
Why is there no svn? ? ? ? gosh! ! ! ! ! ! ! ! ! !
We use SVN
#
Reply: Version Control Tool
2005-02-04 10:21 AM
Smithredsun
Contact number: 010-82645151
See: http://www.f c s o f T.com.cn
What is an EFORM development platform?
EFORM is a browser-based form custom tool. EFORM is a page design tool, and EForm contains a large number of components. You don't have to write a row of code to develop common function points.
It has the benefit of using the EFORM platform:
1. Develop the technical threshold capable of reducing the developer using the EFORM platform, making a very low level can develop a common function in a software project. For example, the database's data increases the printed printing, etc., and this part of the function often also occupies Most of a software project. Such a software project development member can have a large number of people to be a secondary school, even high school students, which greatly reduces the development cost of the entire software project. On the other hand because of low levels Developers are easy to recruit, which also makes software projects easier. 2. The code-consistency developed with EFORM platform is better, and it is easy to maintain and upgrade. Because only personalized features need to write event code. So the code is very Less, a lot of calls that call the underlying code, which is highly integrated in the code. There is very little amount of the code modified after maintenance of the upgrade.
3. Development of EFORM platform can greatly improve the development efficiency. EFORM platform uses methods for common functions and controls, making it easy to develop some common functions (such as rendezvousing, tree controls, table controls). Almost You don't have to write a line of code. You can complete the properties and events directly through the control. The development of the developer is like a typist's work. (The development efficiency comparison diagram shown in the figure)
4, developing the issue of the mobile development project member with the EFORM platform. Because the programmer has caused a lot of examples of the entire project. And use the EFORM platform, because everyone is a form developed by the same mode, Thus, a person developed is easy to understand and use another person. This makes the effects of developers' flow greatly reduced. Enterprises are no longer subject to people.
5. Developing the EFORM platform can make the project no longer endless, can't be shut down. Because you can train the elite in the end user, let them master the way of use of the EFORM platform, so most needs they can do itself, not to trouble the software Developer.
EForm's design idea is to design control or function points in database program development in the EFORM platform, can be called by simple setting parameters or properties. And a very personal function point can use traditional code mode Development. Because a large amount of database program development is a common function point, deletion, change, check, print, report, chart, data check, etc., and these function points are done in the EFORM platform, as long as it is simple Set it to complete these function points, and this setting process is also visual, there is a corresponding setting interface. Do these common function points are very simple and fast. And a small number of special function points can be written by writing code. It is done. That is to say, some of the functions can be done directly by simple settings, another part of the function is hard to write with code. This will reach a common function to directly call the EFORM underlying API. Implementation to improve development efficiency, but a form does not limit only these common functions, you can also use code to perform unlimited expansion. This reach both improved development efficiency and a complex function.
The EFORM development platform is divided into EFORM.J2EE and EFORM.NET. EFORM.J2EE is written in Java, facing J2EE applications. EFORM.NET is written in .NET, facing .NET applications. Actually the entire EFORM development platform A total of three pieces of code, 1 part is the code of the front desk such as HTC JS DHTML, 2 part is the Java code, 3 part is the .NET code (C # language), where Java's code is completed, and the code completed by .NET code The function is exactly the same. With 1 and 2, it constitutes an EFORM.J2EE version, and it has been formed by 1 and 3. This will be obtained by two versions. This can be seen that EFORM.J2EE and EFORM.NET interface and The operation is exactly the same. Just run the environment and the programming statement of the use. This is the form of the form that needs to be written from the J2EE platform to the .NET platform or from the .NET platform to J2EE, using EForm And the program can be fully reserved. It can easily cross the two mainstream development platforms.
The form developed using the EFORM development platform can be run directly in the browser, not only this, but its design tool is also running in the browser. That is to say, developers are also developed in IE (drag control). Developers No need to install a lot of software in order to build a development environment, this is very beneficial for remote collaboration development.
EFORM has a common large number of development components, such as tree controls, tables, chart controls, print controls, upload controls, queries, etc., also built into a functional point of common database programs such as single table input, a pair of multi-table inputs. By using these can greatly improve the development of the speed, reduce the threshold for these common functions, you can develop very little knowledge. You can develop with EForm generated format, which is very convenient for future maintenance upgrades.
The form developed by the EFORM development platform can be run separately from the EFORM platform. It is also easy to integrate with other programs. Projects are often developed with a large number of common functions, while a small amount of functions have been developed in other ways. Then integrate them The .eform development platform is designed specifically for someone who needs to develop database programs. It uses open copyright sales. For users' opening up 100% source code, that is to say to develop the EFORM development platform. All source code is provided to the user, and it also includes corresponding development documents and typical examples are provided to users, and users developed by the EFORM development platform can be freely distributed. After the user purchases EFORM, it is equivalent to eForm to develop it. The same is true. And Beijing Fang Cheng also provides a year of free service and technical support.
EFORM sales have no encryption and License. It is a special sales method. The sales process is actually the process of completing the transfer of knowledge and value. Equivalent to Fang Cheng Company to develop a platform to develop a platform and then help users It uses, users use EFORM development software can be freely sold, and there is no relationship with Fang Cheng Company. This shows that the purchase of EForm and self-recruiting employees have developed a platform compared to time or cost And risks are all cost-effective for purchasing EForm.
#
Problems in WinXP running CVS
2005-02-04 4:54 PM
WSMYF
System: WinXP;
After installing the WinCVS, running, always prompted to install Python, but still can't run after the installation, don't know why?
#
Reply: Version Control Tool
2005-02-13 2:46 PM
Piggybank
Have been used to VSS for so many years
In addition to using ClearCase (defects, configuration, etc.) during product development, in the company's VSS, your notebook and home machine are also VSS.
VSS also supports concurrency and branches, but the default setting is turned off.
Eric is right, personal feeling, the small team develops VSS enough.
As for the shortcoming of the Internet (VSS is unsafe), the VisualStudio98 / VB6 in the MSDN cosmic version has a vssserver, but unfortunately I have not tried it, I don't know how the effect. But there was no next table, it won't do it.
Friends have recommended StarTeam, but it is too complicated to use, huh, huh.
Recently, I was trying Vault Sourcegear - downloaded. The friend of the .Text source code should be touched to this East, claiming to be a product developed by the VSS product manager leaving Microsoft. Based on WebService, support Internet, fully compatible with VSS, such as integration with IDE.
Downloads have been used for a while, it feels good. Preparing to promote a small range in my product group after the festival, if you can intend to buy License officially use - so, you don't have to work in the disconnection method after home, and you don't have to worry about server sharing permissions.
The only small problem is that before you have not all turned to VGS, switch between VSS and Vault Sourcegear (eg, different Solution controls. VGS provides conversion tools to make Dongdong export in VSS) more troublesome - So consider writing a small program to forward command line parameters (this will allow users to choose from to choose to solve this problem. After all, the call interface of vs / vs.net / jbuilder, etc. is based on command line parameters.
Oh, experienced friends may wish to discuss how to solve it. Maybe someone has written, save us, huh, huh
I installed a VGS, the current version of WebClient features is relatively weak:
Http://vault.xiaozhu.com/vaultService/ Interested friends can try it, I opened a read-only guest account (no password) and Visitor account (password: xiaozhu). Download and install the client, you can try it up. If you want to restore the default version control software in your machine's IDE is VSS, you only need to run VSS / Win32 / SSINST.EXE.
#
Reply: Version Control Tool
2005-02-14 12:47 AM
Perforcer
I use Perforce, at home, the company is used. I think the code is very uncomfortable in the environment where there is no version-controlled environment, and it has a serious lack of security. After all, every line of code is your own heart and blood accumulation. And when you discover your own development, there is no version control, it will be disastrous!
#
Reply: Version Control Tool
2005-02-15 8:15 PM
Stevegycn
VSS has a third-party tool that supports Internet, which can get the address from the VSS website of the MS. If the small team is developed, VSS is still available, the function is enough, if it is a small team, you need to support Internet version control, you can consider Using VPN to make file sharing, VSS is file sharing protocol, and the current VSS supports Unicode text files There are some problems. If there is a source code file that uses the Unicode encoded, it is best to manually set those files to binary formats. One version of the MS will be released together with the VS2005.
We use CVS a lot, mainly to develop in different locations, directly using CVS's Server work mode. I feel the most annoying problem is that the file format must be clearly decided to join the type of file, the binary and text files are best not to make mistakes, otherwise there is no way to correct it. At this point, SVN is still very nice. Now, we have started to migrate to SVN, which is still obvious than the improvement in CVS.