Book description
This easy-to-follow reference shows a variety of professionals how to use the Concurrent Versions System (CVS), the open source tool that lets you manage versions of anything stored in files. Ideal for software developers tracking different versions of the same code, this new edition has been expanded to explain common usages of CVS for system administrators, project managers, software architects, user-interface (UI) specialists, graphic designers and others.
Current for version 1.12, Essential CVS, 2nd Edition offers an overview of CVS, explains the core concepts, and describes the commands that most people use on a day-to-day basis. For those who need to get up to speed rapidly, the book's Quickstart Guide shows you how to build and use a basic CVS repository with the default settings and a minimum of extras. You'll also find:
- A full command reference that details all aspects of customizing CVS for automation, logging, branching, merging documents, and creating alerts
- Examples and descriptions of the most commonly used options for each command
- Why and when to tag or branch your project, tagging before releases, and using branching to create a bugfix version of a project
- Details on the systems used in CVS to permit multiple developers to work on the same project without loss of data
An entire section devoted to document version management and project management includes ways to import and export projects, work with remote repositories, and shows how to fix things that can go wrong when using CVS. You'll find more screenshots in this edition as well as examples of using graphical CVS clients to run CVS commands. Essential CVS also includes a FAQ that answers common queries in the CVS mailing list to get you up and running with this system quickly and painlessly.
Publisher resources
Table of contents
- Dedication
- Preface
-
I. Introduction
- 1. What Is CVS?
-
2. CVS Quickstart Guide
- 2.1. Installing CVS
- 2.2. Building Your First Repository
- 2.3. Importing Projects
- 2.4. Accessing Remote Repositories
- 2.5. Checking Out Files
- 2.6. Editing Files
- 2.7. Committing Changes
- 2.8. Updating Sandboxes
- 2.9. Adding Files
- 2.10. Removing Files
- 2.11. Exporting and Building Projects
- 2.12. Quick Tips for Success
-
II. Using CVS
-
3. Basic Use of CVS
- 3.1. General Information
- 3.2. Sandboxes and Repositories
- 3.3. Committing Changes to the Repository
- 3.4. Updating the Sandbox Files from the Repository
- 3.5. Adding Files to the Repository
- 3.6. Removing Files from the Repository
- 3.7. Moving Files or Directories
- 3.8. Releasing a Sandbox
- 3.9. Keywords
- 3.10. Binary Files and Wrappers
- 3.11. Specifying Default Command Options
-
4. Tagging and Branching
- 4.1. Tagging
- 4.2. Stickiness
- 4.3. Branching
- 4.4. Branching Strategies
- 4.5. Merging Strategies
- 5. Multiple Users
-
3. Basic Use of CVS
-
III. CVS Administration
-
6. Repository Management
- 6.1. Creating a Repository
- 6.2. Deleting a Repository
- 6.3. Securing Your Projects
- 6.4. Repository Structure
- 6.5. CVSROOT Files
- 6.6. Server Environment Variables
- 6.7. Backing Up a Repository
- 6.8. Distributed Repositories
- 6.9. Editing a Repository
- 6.10. Sandbox Structure
- 6.11. Client Environment Variables
- 6.12. Exit Status
-
7. Project Management
- 7.1. Creating a Project
- 7.2. Distributing Files
-
7.3. Running Scripts
- 7.3.1. Working with Scripting Files
- 7.3.2. Common Syntax
- 7.3.3. The modules File
- 7.3.4. The commitinfo File
- 7.3.5. The loginfo File
- 7.3.6. The postadmin File
- 7.3.7. The postproxy File
- 7.3.8. The posttag File
- 7.3.9. The postwatch File
- 7.3.10. The preproxy File
- 7.3.11. The rcsinfo File
- 7.3.12. The taginfo File
- 7.3.13. The verifymsg File
- 7.4. Interfacing with External Programs
- 7.5. Tools
- 7.6. Strategies and Practices
-
8. Remote Repositories
- 8.1. Specifying Repository Paths
- 8.2. Method Options
- 8.3. The local Access Method
- 8.4. The ext and server Access Methods
- 8.5. The fork Access Method
- 8.6. The gserver Access Method
- 8.7. The kserver Access Method
- 8.8. The pserver Access Method
- 8.9. Using inetd with gserver, kserver, and pserver
- 8.10. PAM
- 9. Troubleshooting
-
6. Repository Management
-
IV. Reference
-
10. Command Reference
- 10.1. CVS Command-Line Options
-
10.2. CVS Commands
- 10.2.1. add
- 10.2.2. admin
- 10.2.3. annotate
- 10.2.4. checkout
- 10.2.5. commit
- 10.2.6. diff
- 10.2.7. edit
- 10.2.8. editors
- 10.2.9. export
- 10.2.10. history
- 10.2.11. import
- 10.2.12. init
- 10.2.13. kserver
- 10.2.14. log
- 10.2.15. login
- 10.2.16. logout
- 10.2.17. ls
- 10.2.18. pserver
- 10.2.19. rannotate
- 10.2.20. rdiff
- 10.2.21. release
- 10.2.22. remove
- 10.2.23. rlog
- 10.2.24. rls
- 10.2.25. rtag
- 10.2.26. server
- 10.2.27. status
- 10.2.28. tag
- 10.2.29. unedit
- 10.2.30. update
- 10.2.31. version
- 10.2.32. watch
- 10.2.33. watchers
-
11. Miscellaneous Topics Reference
- 11.1. Administrative Files
-
11.2. CVSROOT Files
- 11.2.1. Scripting File Syntax
- 11.2.2. The checkoutlist File
- 11.2.3. The commitinfo File
- 11.2.4. The config File
- 11.2.5. The cvsignore File
- 11.2.6. The cvswrappers File
- 11.2.7. The editinfo File
- 11.2.8. The history File
- 11.2.9. The loginfo File
- 11.2.10. The modules File
- 11.2.11. The notify File
- 11.2.12. The passwd File
- 11.2.13. The postadmin File
- 11.2.14. The postproxy File
- 11.2.15. The posttag File
- 11.2.16. The postwatch File
- 11.2.17. The preproxy File
- 11.2.18. The rcsinfo File
- 11.2.19. The readers File
- 11.2.20. The taginfo File
- 11.2.21. The users File
- 11.2.22. The val-tags File
- 11.2.23. The verifymsg File
- 11.2.24. The writers File
- 11.3. CVSROOT Variables
- 11.4. Dates
- 11.5. Environment Variables
- 11.6. Keywords and Keyword Modes
- 11.7. Pattern Matching
- 11.8. Repository Access Methods
-
10. Command Reference
-
V. Appendixes
- A. Clients and Operating Systems
- B. Administrators’ Tools
-
C. Frequently Asked Questions
-
C.1. Usage Questions
-
C.1.1. Creating Projects and Sandboxes
- C.1.1.1. How do I start a new project?
- C.1.1.2. How do I avoid using a vendor tag and a release tag when I import?
- C.1.1.3. How do I list all the projects in a repository?
- C.1.1.4. How do I check out all the projects in a repository?
- C.1.1.5. How do I get a checkout that doesn’t have all that CVS administrative stuff?
- C.1.1.6. How do I check out only one file?
-
C.1.2. Using Sandboxes
- C.1.2.1. How do I tell whether there are files in the repository that I haven’t checked out? How do I tell which files in my sandbox I haven’t committed?
- C.1.2.2. How do I clear stickiness?
- C.1.2.3. What does “move away (file), it is in the way” mean?
- C.1.2.4. How do I rollback or uncommit?
- C.1.2.5. How do I recover deleted files?
- C.1.2.6. What is the Attic?
- C.1.2.7. How do I view changes since a particular date? What about between two dates?
- C.1.2.8. How do I view a list of all the files with a given tag?
- C.1.2.9. How do I find out which tag was set on a given date, or on what date a given tag was created?
- C.1.2.10. How do I retrieve a particular revision when I only know which date the revision was on?
- C.1.2.11. What is locking all about?
- C.1.2.12. How do I lock files so that only I can commit them?
-
C.1.3. Using Branches
- C.1.3.1. How do I lock a particular branch so no one can commit to it?
- C.1.3.2. How do I get the history of all files in a particular branch?
- C.1.3.3. How do I check out multiple branches of a project?
- C.1.3.4. How do I merge from branch to trunk, or trunk to branch?
- C.1.3.5. How do I avoid fixing the same conflicts over and over when I merge branches?
- C.1.3.6. How do I remove a branch?
- C.1.3.7. How do I branch a branch? Why would I want to?
- C.1.3.8. How do I recreate a deleted branch tag?
- C.1.4. Managing Projects
-
C.1.1. Creating Projects and Sandboxes
-
C.2. Administration Questions
- C.2.1. General Administration
-
C.2.2. Permissions and Security
- C.2.2.1. How can I manage CVS file permissions?
- C.2.2.2. How do I get access control for CVS?
- C.2.2.3. How do I prevent my users from deleting my repository?
- C.2.2.4. How do I let multiple users use the same files?
- C.2.2.5. How do I fix permission denied problems?
- C.2.2.6. How do I clear file locks?
- C.2.2.7. How do I set up pserver?
- C.2.2.8. How do I change pserver passwords?
-
C.2.3. Repositories
- C.2.3.1. How do I rename a repository?
- C.2.3.2. How do I maintain a repository on Samba/NTFS/etc.?
- C.2.3.3. How do I run multiple repositories from one pserver/kserver/gserver invocation?
- C.2.3.4. How do I make an anonymous, read-only repository?
- C.2.3.5. How do I make several anonymous, read-only repositories?
- C.2.3.6. How do I run multiple projects from one repository?
- C.2.3.7. How do I make multiple repositories with the same project information? How do I synchronize multiple CVS repositories?
- C.2.3.8. How do I move a repository from one server to another?
- C.2.4. Final Questions
-
C.1. Usage Questions
- About the Author
- Colophon
- Copyright
Product information
- Title: Essential CVS, 2nd Edition
- Author(s):
- Release date: November 2006
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9780596527037
You might also like
book
Essential CVS
CVS, the Concurrent Versions System, is the popular source-code management tool that frees developers from the …
book
CVS Pocket Reference, 2nd Edition
The beauty of open source is making code freely available. The curse is trying to organize …
article
Twenty Years of Open Innovation
Organizations that practice open innovation draw on external resources to develop new ideas for products and …
book
The Anti-Racist Organization
Tackle systemic racism in the workplace with practical strategies In The Anti-Racist Organization: Dismantling Systemic Racism …