Personal Blog Job 1

Source: Internet
Author: User
Tags svn client mercurial version control system

I. List of 5 to 10 questions that you do not understand after reading the textbook quickly

Ii. How do the words "Software" and "engineering" appear-when, where, and by whom?

The term software is

Software engineering This time in about 1960 years Hamilton was invented in MIT's computer science and AI Labs.

Third, the current popular source program version management software and project management software, what are the pros and cons?

"1" Microsoft TFS

Advantages: And VisualStudio integration of the best, the function of itself is very powerful, and is not only a source management, but the personal use generally also mainly with its source management functions.

"2" Git

Advantages: Suitable for distributed development, emphasizing individual. Public server pressure and data volumes are not too large. Fast and flexible. Conflicts can easily be resolved between any two developers. Work offline. Cons: Less data (at least Chinese information is scarce). The learning cycle is relatively long. does not conform to conventional thinking. Code confidentiality is poor, and once the developer has cloned the entire library, all code and version information can be fully exposed.   "3" mercurial  easier to manage. Traditional version control systems use centralized repository, and some repository-related management can only be done by the administrator alone. Due to the use of distributed models, there is no such trouble in Mercurial, each user to manage their own repository, administrators only need to coordinate synchronization of these repository. A more robust system. The distributed system is more robust than a centralized single-server system, and a single-server system cannot run once the server has problems, and distributed systems are usually not affected by one or two of nodes. The dependency on the network is lower. Since synchronization can be done at any time, Mercurial can even be managed offline, only when there is a network connection.   "4" Github github can host a variety of git libraries and provide a web interface, but unlike other services like SourceForge or Google code , GitHub's unique selling point is the simplicity of branching from another project. Contributing code to a project is simple: first click on the "Fork" button of the project site, then check out the code and add the changes to the code base you just separated, and finally request a code merge from the project owner through the built-in pull request mechanism. GitHub has already been called the code player's MySpace.   "5" svn  all documents show that SVN can replace CVS, while SVN's problems and shortcomings are hidden. Unfortunately, we don't think of SVN as a substitute for CVS, although many of the flaws have been modified. What's more, it even lets people return to CVS. CVS and SVN comparisons are similar to comparisons between C + + and Java. It's obvious that CVS and SVN are much more powerful than SourceSafe, as C + + and Java are much more powerful than basic. CVS represents all the functional items of a nearly code-control system, although sometimes his implementation is not very convenient. SVN fixes and adds some functionality that CVS does not hold. For example, to create a flag and branch dubious, you will not have any notification when you edit the file. SVN is not a replacement for CVS, it's just a different system, similar to CVS. It has some unique features that are sufficient as a reason to use it。 These features make him more suitable for development environments, such as for PowerBuilder. Below you can find the comparative advantages and disadvantages of both. 1 Storage Type Format CVS is a version control system based on the RCS file. Each CVS file is just an ordinary file, plus some additional information. These files will simply repeat the tree structure of the local file. Therefore, you do not have to worry about any data loss, and you can manually modify the RCS file if necessary. SVN is based on a relational database (BERKLEYDB) or a series of binary files (FS_FS). On the one hand this solves many problems (for example, parallel read and write shared files) and adds many new features such as runtime transaction characteristics. )。 On the other hand, however, data storage becomes opaque. 2 speed CVS is slower. Overall, SVN is a lot faster than CVS because of the different architecture implementations. It only transmits very little information on the network and supports more features of the offline mode. But it also comes at a price. The price of speed is huge storage (full backup of all working files). 3 Flags & Branches SVN uses flags and branches to discard the other three things, which in effect means they replace the concept with copying files or directories inside the archive to save the log. This way, either the flag creation or the branch creation is just a copy of the file inside the warehouse. For a branch: a branch is just a separate directory inside the warehouse, unlike the early stages. For flags: The code cannot be flagged anymore. In a way, the SVN full file number complements this flaw, and the entire repository in SVN has a version number, but not a single file. 4 metadata CVS only allows files to be stored. SVN allows a file to have any number of named properties, which is completely functional. 5 file Types CVs was originally designed for the storage of text files. So there is little support for other file types (binary, Uniform Code) files, and other information if needed, and the client server is tuned. SVN cares about all the file types and doesn't require you to do it manually. 6 Rolling back
CVS allows any rollback to be made on any of the submitted versions, although it takes some time (all files are processed separately). SVN is not allowed to roll back after submission. It is recommended that you add a good version of the state to the end of the repository, overwriting the damaged version. The corrupted version will exist in the database anyway. (The SVN rollback operation is actually a merge operation) 7 transactions
The "0 or one" transaction principle in CVS is not implemented at all. If you check in a few files (add to the server), it is very likely that some of the files are complete, and the others are not. As a unspoken rule, manually correct these and repeat check-in for the remaining files (not all files) one by one. These files will be checked in in two phases. SVN does support the "0 or one" transaction principle, which is one of the great advantages of SVN. Compare to VSS 1. Support for renaming, which is important for Java development in order to get better code, the development needs to be often refactored, refactoring often involves the file's refactoring name, and renaming VSS is not supported. 2. Development is not necessarily locked. On the one hand lead to refactoring inconvenient, on the other hand, can not be developed offline, using SVN is different, you can take home to continue to develop, back, submitted on the line. 3. Multi-platform. Can support operations under multiple platforms 4. Better client support. The VSS Plugin in Eclipse is less useful than its SVN Plugin. An SVN client tortoisesvn used under Windows also works better than the VSS client (VSS has only one GUI client provided by Microsoft). 5. Better integration with peripheral tools. A variety of peripheral tools (mainly server-side) to meet a variety of needs. If necessary, you can also write your own plugin or management scripts, open architecture, allowing us to do so. 6. Convenient. An example: When deploying an application, the previous approach was to find the modified file in a project, update it to the server, execute the SVN Export command on the server, export the latest version of the codebase, and complete the deployment (or replace the old version). 7. Speed and stability look good. It is worthwhile to learn about its management and how it works. And VSS is a software that has been gradually discarded. If the time is not too much to use, then the time spent on the most worthy of the things above. Disadvantage 1, the server pressure is too large, the database capacity burst. 2, if can not connect to the server, basically can not work, look at the second step above, if the server can not connect, you can not submit, restore, contrast and so on. 3, not suitable for open source development (the number of developers is very very much, but Gae is using SVN). However, the general centralized management of a very clear authority management mechanism (such as branch access restrictions), can achieve hierarchical management, so as to solve the problem of a large number of developers. Advantages 1, convenient management, logical clear, in line with the general thinking habits. 2, easy to manage, centralized server to ensure security. 3, code consistency is very high. 4, suitable for the development of a few projects. 5, most of the software configuration management of the university textbooks are using SVN and VSS
 

Personal Blog Job 1

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.