Chapter Visual Source Safe Introduction
1.1 Background information
If the software crisis of the 70 's led to the birth of the idea and the development of the theory system, the rapid development of the software industry in the 80-90 years, especially in the 90, led to the generation and realization of another new idea, which is the software version management.
As long as anyone who's been involved in software development knows, it is hard to imagine and impossible for a software project to be completed by one person at a time, usually with a research and development team to analyze, design, encode, and maintain, and a dedicated test team to test software that has completed coded debugging. In the huge and complex process of software development, people need to be involved in all aspects, and the information feedback is not only between the team members and the research and development groups, but also between the customers and the developers. All of these communication feedback information can lead to changes to the software, the small may be only a source file in the definition of a variable changes, large to redesign the program module may even be the entire requirements analysis changes. In this project, due to the inherent characteristics of software development, may form a large number of software versions, and we do not guarantee that there will be no error changes, and such a difficult situation is very realistic in front of the project development manager, how he/she can effectively solve these problems, specifically the following questions:
1. How to conduct the overall management of research and development projects;
2. How to coordinate with an effective mechanism among members of the project development team;
3. How to carry out the unified management of the sub-projects undertaken by the members of the Panel;
4. How to make a unified summary of the changes made by the members of the Research and Development Group;
5. How to retain the modified trajectory in order to remove the wrong changes;
6. How to identify, manage and differentiate the various versions of the software that are formed during the research and development process.
A very direct response, we have to introduce a management mechanism, a versioning mechanism, and a generalized version management, which requires not only the source version of the release management, but also the entire project management. In the past, it has been hailed as having a good programming style, such as commenting on changes to other people's source programs, modifying people and dates, and if multiple members have been modified at the same time, there is a need for timely manual differences in comparison and synthesis in order to form a unified new version. This approach in the current large-scale software development has become more and more space, can be said to be a small workshop in the form of the face of the social production of software, it is no longer possible to make it.
In fact, the idea of version management has long existed in the minds of software developers, but the past is not as urgent as people now realize. UNIX's program development system earlier provided the ability to carry out the source version management tool in the development team, now Linux is to provide a powerful Cross-platform version manager, the foreign company's windows-based version manager has a more mature products, Domestic research units such as the computer Department of Peking University Case laboratory are also committed to this work. In a wide range of mature products and pilot products, there will only be a detailed introduction to the Visual SourceSafe 6.0 of Microsoft, which uses a wider range of user prospects and is easier to obtain, for common research and development team solutions, and specific implementations.
1.2 VSS Introduction
VSS 6.0 is now a member of the development product family as Microsoft Visual Studio 6.0, such as Visual C + + 6.0 and Visual J + 6.0.
1. The simple workings of VSS
Microsoft's VSS 6.0 addresses the issue of versioning that the software development team has faced for a long time, and it may effectively help the person responsible for the project development team manage the project program and store all project source files (including various file types) in a unique way. Members of the development group cannot make direct modifications to the files in the database. Instead, the version manager copies the source program of the project or the source program of the subproject to each member's own working directory for debugging and modification, and then submits the modified project file as checkin to VSS for a comprehensive update. VSS also supports fast and efficient sharing of files between multiple projects. When a member adds a file to VSS, the file is backed up into the database so that all members can share the file. And each member's changes to all project files will be recorded in the database, making the restoration and revocation of modifications possible at any point in time. Members of the team may get the latest version of the project, modify it, and save a new version.
VSS's Project organization management makes the coordination of the development team easy and intuitive, and when one and a group of files are distributed to another member, group, Web site, or any other address, VSS ensures that the real share between them and the different versions of the selected set of files are secure. More and more developers are now able to access the functionality of VSS through their development environment. And VSS can be easily integrated with Microsoft Access, Visual Basic, Visual C + +, Visual FoxPro, and other development tools, and once VSS is integrated into the development environment, it can be used like a control. is a good way to demonstrate the ease of use and power of VSS.
2. Several important concepts in VSS
To better understand VSS, it is necessary to give a description of some of the following concepts.
The first is the concept of the project, which is a set of files in VSS (any type) that can be added, deleted, edited, and shared among projects or between projects. A project has many similarities to the operating system's folders, but it better supports file merging, history, and versioning. All files exist in a VSS database project, and members of the development Group cannot work on the primary backup file in VSS (except for checks and versions than for Peer-to-peer special cases) but VSS provides each member with a copy under its own working directory for work. Although you can view a file without a working directory, you must create a working directory if you want to actually work under VSS management.
VSS is able to maintain multiple versions of a file, including a record that is modified from one version to another. Version control includes the following:
Group coordination-in general, make sure that only one member modifies a particular file at any given time, which prevents the file from being accidentally updated by other members ' modifications. Of course, the VSS administrator can change this default setting to allow multiple checkout for a single file and still prevent overwriting other people's modifications.
Version Tracking-archive and track older versions of source code and other files, and these versions can be restarted for bug tracking or other purposes.
Cross-platform development-supports versioning of the same code across multiple development platforms.
Reuse or object-oriented code-a module that tracks which programs use which code can be reused.
The meaning of version control will be further discussed in future chapters.
As we already know, VSS provides versioning and historical services to ensure that each version of a file is recoverable. VSS uses a date/time stamp to record when a file was checkout, or when it was modified, and there are three main ways to track the version of the file and project:
Version number: This is the internal digital maintained by VSS and the user has no control over it. Each version of each file and project has a version number, which is always an integer and is incremented.
Tags: these are a string that the user assigns to a version of an item or file, and can be any format string that is no longer than 31 characters in length.
Date/time stamp: It gives information about when a file was last modified, or when a file was checkin. VSS also supports 12-hour and 24-hour time formats.
The working directory is where the user actually modifies the project file, and when the user checkout or extracts a file, VSS copies the item to the user's working directory, and when the user modifies the file and checkin or submits it, VSS then copies it back to the VSS database from the user's working directory. When a user makes a checkout, VSS will automatically manage his working directory, such as creating the necessary subdirectories. and the working directory can be created or modified at any time.
3. Some of the new features and features of VSS 6.0
Archiving and recovery-in VSS 6.0 these operations are performed in a user-friendly VSS Administrator Wizard, and in previous releases they were only implemented through the command line.
Move file-When the user moves the file, VSS 6.0 automatically shares the file in a new project and deletes it from the original project. In a new project, the properties of the file are shared.
Difference comparisons between multiple projects-this feature allows users to compare differences between different projects.
Expansion of a single file-in previous versions, VSS could expand only one directory (folder), and in VSS 6.0, a file could be expanded.
Rapid extraction-As VSS 6.0 improves in performance, file extraction is now about twice times faster than the previous VSS version.
Historical information Filtering-vss 6.0 supports viewing the history of files and items that are not tagged.
Clear temporary Folder Options-This new feature makes it easy for users to clear temporary folders.
Check external hyperlinks-in earlier versions of VSS, only internal hyperlinks and jumps within the project were checked, and VSS 6.0 allowed users to check for hyperlinks and jumps outside the project.
Create a shortcut key to open a VSS database-users can use this new feature in VSS Explorer to create a desktop shortcut that opens a particular VSS database.
HTML-formatted Help-VSS Previous versions use the WinHelp format