CVS, 2Nd Edition by Jennifer Vesperman
Total Page:16
File Type:pdf, Size:1020Kb
Essential CVS, 2nd Edition By Jennifer Vesperman ............................................... Publisher: O'Reilly Pub Date: November 2006 Print ISBN-10: 0-596-52703-9 Print ISBN-13: 978-0-59-652703-7 Pages: 428 Table of Contents | Index 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. Essential CVS, 2nd Edition By Jennifer Vesperman ............................................... Publisher: O'Reilly Pub Date: November 2006 Print ISBN-10: 0-596-52703-9 Print ISBN-13: 978-0-59-652703-7 Pages: 428 Table of Contents | Index Copyright Dedication Preface Part I: Introduction Chapter 1. What Is CVS? Section 1.1. What Is a Versioning System? Section 1.2. Why CVS? Section 1.3. CVS in the Field Chapter 2. CVS Quickstart Guide Section 2.1. Installing CVS Section 2.2. Building Your First Repository Section 2.3. Importing Projects Section 2.4. Accessing Remote Repositories Section 2.5. Checking Out Files Section 2.6. Editing Files Section 2.7. Committing Changes Section 2.8. Updating Sandboxes Section 2.9. Adding Files Section 2.10. Removing Files Section 2.11. Exporting and Building Projects Section 2.12. Quick Tips for Success Part II: Using CVS Chapter 3. Basic Use of CVS Section 3.1. General Information Section 3.2. Sandboxes and Repositories Section 3.3. Committing Changes to the Repository Section 3.4. Updating the Sandbox Files from the Repository Section 3.5. Adding Files to the Repository Section 3.6. Removing Files from the Repository Section 3.7. Moving Files or Directories Section 3.8. Releasing a Sandbox Section 3.9. Keywords Section 3.10. Binary Files and Wrappers Section 3.11. Specifying Default Command Options Chapter 4. Tagging and Branching Section 4.1. Tagging Section 4.2. Stickiness Section 4.3. Branching Section 4.4. Branching Strategies Section 4.5. Merging Strategies Chapter 5. Multiple Users Section 5.1. Using Simultaneous Development Section 5.2. Watching a File Section 5.3. Reserving Files Section 5.4. Comparing File Revisions Section 5.5. Displaying Recent Changes Section 5.6. Displaying File History Part III: CVS Administration Chapter 6. Repository Management Section 6.1. Creating a Repository Section 6.2. Deleting a Repository Section 6.3. Securing Your Projects Section 6.4. Repository Structure Section 6.5. CVSROOT Files Section 6.6. Server Environment Variables Section 6.7. Backing Up a Repository Section 6.8. Distributed Repositories Section 6.9. Editing a Repository Section 6.10. Sandbox Structure Section 6.11. Client Environment Variables Section 6.12. Exit Status Chapter 7. Project Management Section 7.1. Creating a Project Section 7.2. Distributing Files Section 7.3. Running Scripts Section 7.4. Interfacing with External Programs Section 7.5. Tools Section 7.6. Strategies and Practices Chapter 8. Remote Repositories Section 8.1. Specifying Repository Paths Section 8.2. Method Options Section 8.3. The local Access Method Section 8.4. The ext and server Access Methods Section 8.5. The fork Access Method Section 8.6. The gserver Access Method Section 8.7. The kserver Access Method Section 8.8. The pserver Access Method Section 8.9. Using inetd with gserver, kserver, and pserver Section 8.10. PAM Chapter 9. Troubleshooting Section 9.1. General Troubleshooting Techniques Section 9.2. Connectivity Problems Section 9.3. Filename Problems Section 9.4. Line-Ending Problems Section 9.5. Permission Problems Section 9.6. Lock Files Section 9.7. Time Issues Part IV: Reference Chapter 10. Command Reference Section 10.1. CVS Command-Line Options Section 10.2. CVS Commands Chapter 11. Miscellaneous Topics Reference Section 11.1. Administrative Files Section 11.2. CVSROOT Files Section 11.3. CVSROOT Variables Section 11.4. Dates Section 11.5. Environment Variables Section 11.6. Keywords and Keyword Modes Section 11.7. Pattern Matching Section 11.8. Repository Access Methods Part V: Appendixes Clients and Operating Systems Section A.1. Multi-Operating-System Clients Section A.2. Macintosh Clients Section A.3. Unix and Linux Clients Section A.4. Windows Clients Section A.5. Integration Tools Administrators' Tools Section B.1. CVS Variants Section B.2. Distribution Tools Section B.3. Logging Tools Section B.4. Metadata Tools Section B.5. Converters Section B.6. Miscellaneous Frequently Asked Questions Section C.1. Usage Questions Section C.2. Administration Questions About the Author Colophon Index Essential CVS, Second Edition by Jennifer Vesperman Copyright © 2007, 2003 O'Reilly Media, Inc. All rights reserved. Printed in the United States of America. Published by O'Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O'Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (safari.oreilly.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Editor: Brian Jepson Executive Editor: Mary O'Brien Production Editor: Lydia Onofrei Copyeditor: Nancy Kotary Proofreader: Lydia Onofrei Indexer: John Bickelhaupt Cover Designer: Karen Montgomery Interior Designer: David Futato Illustrators: Robert Romano and Jessamyn Read Printing History: June 2003: First Edition. November 2006: Second Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O'Reilly logo are registered trademarks of O'Reilly Media, Inc. Essential CVS, the image of a bobac, and related trade dress are trademarks of O'Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O'Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. This book uses RepKover™, a durable and flexible lay-flat binding. ISBN-10: 0-596-52703-9 ISBN-13: 978-0-596-52703-7 Dedication To my grandmother, Emilie Carrick. Born 1907, died 2002. Nan, You lived through changes and troubles and rose above them. You saw the best in everyone you met, and helped them see it as well. You loved everyone, and helped us learn to love. I miss you. I love you. Preface CVS (Concurrent Versions System) is a tool that enables you to track changes to a set of files over time. CVS is commonly used in software development, for instance, to allow multiple developers to coordinate changes, track versions, and permit simultaneous development of different versions of the same code. This book is not just for software developers. It is for anyone who produces things that change. CVS can manage versions of anything that can be stored in files, so it is useful for programmers, system administrators, software architects, writers, graphic artists, and user-interface (UI) specialists. Outside the computing field, it can be used by authors, poets, managers, architects, engineers, accountants, and other people running their everyday lives. Changes for the Second Edition First, Essential CVS, Second Edition, is current for both the stable and feature tracks of CVS. Feature releases contain new CVS features as well as current bug fixes. At the time I'm writing this, the current versions are stable CVS 1.11.22, and feature CVS 1.12.13; the book is up to date for these versions. Most CVS features are available in both the stable and the feature versions of CVS. Where there is a difference, it is mentioned in the book. Second, I've added and expanded the examples in general, and specifically added screenshots and examples of using graphical CVS clients to run CVS commands. Another feature of the second edition that I'm excited about is the sidebarsI've provided chatty sidebars explaining how I've used CVS in the past, or how a command could be used. I've also provided sidebars that discuss aspects or features of Unix that you need to know.