When Developers Build Software, They're Able to Keep Track of All The

Total Page:16

File Type:pdf, Size:1020Kb

When Developers Build Software, They're Able to Keep Track of All The < Day Day Up > Practical Perforce By Laura Wingerd ............................................... Publisher: O'Reilly Pub Date: November 2005 Print ISBN-10: 0-596-10185-6 Print ISBN-13: 978-0-59-610185-5 Pages: 358 Table of Contents | Index When developers build software, they're able to keep track of all the different versions and all the components they use with software configuration management (SCM) systems. One of the more popular SCM products is Perforce. Authored by Perforce's own VP of product technology, Practical Perforce is the ideal complement to the existing product manual, focusing less on the 'how" and more on the "why" and "when." The book is not only a helpful introduction to Perforce, it's an enlightening resource for those already familiar with this versatile SCM product. Whether you're a programmer, product manager, or build engineer, you stand to benefit from the many insider tips and ideas presented in this convenient guide. Practical Perforce is divided into two main parts. Part I offers a whirlwind technical tour, complete with careful descriptions of basic and advanced Perforce commands designed to give you a baseline knowledge. Part II describes the big picture-using Perforce in a collaborative software development. It outlines recommended best practices and quickly shows how to implement them with the Perforce operations introduced in Part I. Throughout the book, you'll learn how to maximize Perforce so it completes tasks like these in the most efficient manner possible: Keep track of changes as you conduct concurrent parallel work on files Log activity Generate reports on who did what when Compare, merge and branch files Store files and file configurations Restore lost bug fixes Recognizing the pitfalls and practices of an SCM system like Perforce is absolutely essential to producing good software. Now, with Practical Perforce, you have the edge you need to ensure success. < Day Day Up > < Day Day Up > Practical Perforce By Laura Wingerd ............................................... Publisher: O'Reilly Pub Date: November 2005 Print ISBN-10: 0-596-10185-6 Print ISBN-13: 978-0-59-610185-5 Pages: 358 Table of Contents | Index Preface What Is Perforce? The Perforce System in a Nutshell Why Perforce? About This Book What's Not In This Book Additional Reading Conventions Used in This Book Using Code Examples Safari® Enabled How to Contact Us Acknowledgements Chapter 1. Files in the Depot Section 1.1. The Perforce Filespec Syntax Section 1.2. Browsing Depot Files Section 1.3. File Types at a Glance Chapter 2. Working with Files Section 2.1. An Overview Section 2.2. Creating A Workspace Section 2.3. Synchronizing a Workspace Section 2.4. Local Syntax, Wildcard Expansion, and Special Characters Section 2.5. Working with Local Files Section 2.6. Working with Pending Changelists and Submitting Files Section 2.7. Removing and Restoring Files Section 2.8. Useful Recipes Chapter 3. Resolving and Merging Files Section 3.1. Resolving: When, What, and How Section 3.2. How Perforce Merges Text Files Section 3.3. Reconciling Structural Changes Section 3.4. Tips for Smoother Collaboration Section 3.5. The Arcana of Merging Chapter 4. Branching and Integration Section 4.1. The Classic Case for A Branch Section 4.2. Creating Branches Section 4.3. Integrating Changes from Branch to Branch Section 4.4. Reconciling Structural Changes Section 4.5. The Arcana of Integration Chapter 5. Labels and Jobs Section 5.1. Saving Important Configurations Section 5.2. Using Labels Section 5.3. Using Jobs Section 5.4. Jobs as Changelist Markers Chapter 6. Controlling and Automating Activity Section 6.1. Depot and File Access Section 6.2. Accessing Files in Other Domains Section 6.3. Saving and Restoring Specs Section 6.4. Change Notification and Change Monitoring Section 6.5. Scripting Tips Section 6.6. Behind-the-Scenes Version Control Chapter 7. How Software Evolves Section 7.1. The Story of Ace Engineering Section 7.2. The Mainline Model Section 7.3. Ace Engineering Revisited Section 7.4. Containerizing Chapter 8. Basic Codeline Management Section 8.1. Organizing Your Depot Section 8.2. General Care and Feeding of Codelines Section 8.3. Nightly Builds Section 8.4. Is Bug X Fixed in Codeline Y? Chapter 9. Release Codelines Section 9.1. Creating a Release Codeline Section 9.2. Working in a Release Codeline Section 9.3. Integrating Changes into the Mainline Section 9.4. Making a Release Section 9.5. Distributing Releases Section 9.6. Breaking the Rules Section 9.7. Retiring a Release Codeline Section 9.8. Task Branches and Patch Branches Chapter 10. Development Codelines Section 10.1. Creating A Development Codeline Section 10.2. Working in a Development Codeline Section 10.3. Keeping a Development Codeline Up to Date Section 10.4. Working with Third-Party Software Section 10.5. Delivering Completed Development Work Section 10.6. The Soft Codelines Chapter 11. Staging Streams and Web Content Section 11.1. Staging Web Content Section 11.2. Visual Content Development Section 11.3. Bug Fixes and Staging Streams Section 11.4. Major Web Development Appendix A. Setting Up a Perforce Test Environment Section A.1. Setup Section A.2. Connecting to Other Servers Section A.3. Getting Help Appendix B. Perforce Terminology and P4 Commands Bibliography Glossary About the Author Colophon Index < Day Day Up > < Day Day Up > Preface What Is Perforce? The Perforce System in a Nutshell Why Perforce? About This Book What's Not In This Book Additional Reading Conventions Used in This Book Using Code Examples Safari® Enabled How to Contact Us Acknowledgements < Day Day Up > < Day Day Up > What Is Perforce? If you've picked up this book simply because of its riveting title, you may be wondering what Perforce is. Perforce is a software configuration management (SCM) system. SCM systems are used by software developers to keep track of all the software they build and all the components that go into it. A good SCM system can explain the mysteries of software development and head off its disasters-mysteries like lost bug fixes, and disasters like botched file merges. In large-scale and commercial environments, good SCM is absolutely essential to producing good software. It's All Software and We're All Software Developers SCM was once concerned with files that computer programmers produced. Now it is concerned with files of all types that a business produces. Software, when viewed from the perspective of SCM, is any endeavor that calls a computer home. Documention, web content, spreadsheets, schematics, graphics, sound-it's all software. If it's stored in computer files and gets built, embedded, or packaged into a deliverable result, it's software. The term software developer may not sound like it applies to web content authors, graphic artists, test engineers, and technical writers, but for the purpose of this book, anyone whose work involves creating computer files from intellectual thought is a software developer. Perforce, like all SCM systems, keeps track of changes as people do concurrent, parallel work on files. It logs activity, reports who did what; compares, merges, and branches files; and stores files and file configurations. Some of Perforce's most salient features are: The depot Perforce stores files in a protected repository known as the depot. The depot is a centrally located, permanent archive of all file content submitted by users.[*] [*] The data format of the Perforce depot is not proprietary; it is, in fact, consistent with the RCS archive format. Because of this, there is a common misperception that Perforce is an RCS wrapper. It's not. Workspaces Perforce users work on files in workspaces, private disk areas of their own that contain copies of depot files. In this book we'll describe effective ways developers can use workspaces, and we'll also discuss how workspaces can be used to automate nightly builds, release packaging, web staging, and other software production tasks. Changelists Perforce changelists tie files changed together into single units of work. Every change to the depot can be traced to a changelist, and every changelist marks a known, reproducible state of the depot; the depot evolves as changelists are submitted. In the Perforce view of SCM, it is the changelist-not the file revision, nor the delta-that is the atomic transaction of software development. This book will discuss a variety of ways changelists can be used, including treating them as snapshots and using them to identify file dependencies. Filespecs and views The Perforce filespec syntax, and the views that use it, allow selection of files for Perforce operations. Filespecs can define not only the common file collections, like directories, but arbitrary collections of files that constitute codelines, modules, delivery streams, and other containers. They are the key to treating collections of files as versioned objects that can be inspected, rolled back, branched, labeled, compared, and merged at any version. Jobs In Perforce you can record externally defined tasks and states-bug reports, feature requests, and project milestones, for example-in objects it calls jobs. Jobs can be linked to changelists to provide a record of software changes related to tasks. Jobs are also the linchpin of any integration between Perforce and external systems, as we'll see in later chapters. Branching Perforce uses Inter-File Branching to model file variants. In the traditional version tree branching model used by most SCM systems, a file can be be branched and merged only into revisions of itself. In Perforce, any two files can have a branching relationship; branched files are peers, not offshoots, of their originals. A number of chapters in this book are dedicated to describing Perforce branching and its unexpectedly useful applications.
Recommended publications
  • Auswirkungen Der Benutzung Von Zentralen Und Dezentralen Versionsverwaltungssystemen in Open Source Projekten
    Auswirkungen der Benutzung von zentralen und dezentralen Versionsverwaltungssystemen In Open Source Projekten Masterarbeit an der Freien Universität Berlin für den Abschluss zum Master of Computer Science Jana von dem Berge 16. April 2009 Fachbereich Mathematik und Informatik Arbeitsgruppe Software Engineering Betreuer: Christopher Oezbek II Selbstständigkeitserklärung: Hiermit erkläre ich, dass ich diese Arbeit vollkommen selbständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt sowie Zitate kenntlich gemacht habe. Berlin, 16. April 2009 Jana von dem Berge III IV Inhalt 1 Einleitung............................................................................................................. 1 1.1 Open Source Projekte .................................................................................. 1 1.2 Aufgabenstellung.......................................................................................... 1 1.3 Versionsverwaltungssysteme....................................................................... 3 1.3.1 Einführung............................................................................................. 3 1.3.2 Zentrale Versionsverwaltungssysteme.................................................. 5 1.3.3 Dezentrale Versionsverwaltungssysteme ............................................. 8 2 Forschungsmethode.......................................................................................... 10 2.1 Grounded Theory ......................................................................................
    [Show full text]
  • 0000000000000000000000000
    Why use version control? Setting up CVS Saves all previous versions of all files so that Create the repository: you can undo (buggy) edits. % mkdir ~/cvsroot % [set permissions for ~/cvsroot] % setenv CVSROOT ~/cvsroot Logs changes to files so you can trace how % cvs init your sources have evolved over time. Set the CVSROOT environment variable in Mediates conflicting changes made by your .cshrc file. several different users---helps keep consistency. Repository Creating a Project Project 1 Project 2 Project 3 Create a project from existing files: % cd base64 % cvs import -m “base64” base64 carlk start Checkout the new project and delete the old files. % cvs checkout base64 Working copies Development Process with CVS Dealing with Conflicts If another user has committed changes to Get working copy Get any changes cvs checkout cvs update lines you have edited, CVS will report a conflict. Your version Edit files decode (infile, stdout); <<<<<<< decode64.c if( fclose (infile) ) return 0; ======= cvs commit if( fclose (infile) ) printf(" couldn't close file."); >>>>>>> 1.5 no Repository version Conflicts? Manually edit to remove the conflict. yes cvs update Edits on different lines are automatically Most of the merged. Resolve time you stay conflicts in shaded loop. 1 Frequently Used Commands Keywords Get the latest revisions of files with: Useful to put dynamic information in source file. % cvs update When you get a new revision, keywords are replaced with information about the file. Write changes back to repository with: % cvs commit -m“log msg” Keyword Replaced with $Author$ Username who checked in this revision. If you omit –m the editor given in the EDITOR $Date$ Date the this revision was checked in.
    [Show full text]
  • Technical Report
    Eric-Hg Technical Report S-PM 140524 Mercurial Version Control of Eric Projects Technical Report – 1 – Eric-Hg Technical Report Copyright Page S-PM 140400 No commercial uses, No modifications allowed; Jurisdiction International, Format Text This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. Current edition PDF file, Eric_Deliver site URL: http://www.box.net/shared/k64yenrpey under the “Creative Commons License” Disclaimer The information in this document is subject to change without notice. The author and publisher have made their best efforts about the contents of this book, nevertheless the author and the publisher make no representation or warranties of any kind with regard to the completeness or accuracy of the contents herein and accept no liability of any kind including but not limited to performance, merchantability, fitness for any particular purpose, or any loss or damages of any kind caused or alleged to be caused directly or indirectly from this book. Brand Names Brand names such as Linux, Windows, Python are assumed to be universally known, and are here used in full respect of their respective owners. Planned edition On paper, under traditional copyright Published by [not yet—just appointed] Town & Country Reprographics, Inc. 230 N Main St Concord, NH 03301 (U.S.A.) All rights reserved No part of this book may be reproduced, if not for personal use, in any form or by any means, such as: graphic, electronic, or mechanical, including photocopying, recording, videotaping, or information storage and retrieval systems, without written permission of the publisher.
    [Show full text]
  • Tortoisecvs User's Guide Version 1.8.0
    TortoiseCVS User's Guide Version 1.8.0 Ben Campbell Martin Crawford Hartmut Honisch Francis Irving Torsten Martinsen Ian Dees Copyright © 2001 - 2004 TortoiseCVS Table of Contents 1. Getting Started What is CVS? What is TortoiseCVS? Where to Begin? 2. Basic Usage of TortoiseCVS Sandboxes Checking out a Module Windows Explorer and TortoiseCVS Total Commander and TortoiseCVS Updating your Sandbox Committing your Changes to the Repository Resolving Conflicts Adding Files and Directories to the Repository 3. Advanced Usage of TortoiseCVS Creating a New Repository or Module Watch, Edit and Unedit Tagging and Labeling Reverting to an Older Version of a File Branching And Merging Creating a Branch Selecting a Branch to Work On Merging from a Branch Going Back to the Head Branch Binary and Unicode Detection File Revision History History Dialog Revision Graph Dialog Web Log Making a Patch File 4. Customizing TortoiseCVS Overlay Icons Selecting a Different Set of Overlay Icons Changing how the Overlay Icons Work 5. Command Reference for TortoiseCVS Installing TortoiseCVS Obtaining a Working Copy: CVS Checkout... Getting Other People's Changes: CVS Update CVS Update Special... Making Your Changes Available to Others: CVS Commit... Adding New Files: CVS Add and CVS Add Contents... Discarding Obsolete Files: CVS Remove Finding Out What Has Changed: CVS Diff... Making a Snapshot: CVS Tag... Lines of Development: CVS Branch... CVS Merge... CVS Make New Module Watching And Locking Finding Out Who to Blame: CVS Annotate Showing More Information: CVS Explorer Columns Keyboard Shortcuts How Web Log Autodetects the Server URL 6. Dialog Reference for TortoiseCVS Add Dialog Checkout Dialog Update Special Dialog Commit Dialog Branch Dialog Make New Module Dialog Progress Dialog Tag Dialog Preferences Dialog Merge Dialog History Dialog Revision Graph Dialog About Dialog 7.
    [Show full text]
  • Version Management with CVS
    Version Management with CVS for cvs 1.11.22 Per Cederqvist et al Copyright c 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. Portions Copyright c 1999, 2000, 2001, 2002, 2003, 2004, 2005 Derek R. Price, Copyright c 2002, 2003, 2004, 2005 Ximbiot http://ximbiot.com, Copyright c 1992, 1993, 1999 Signum Support AB, and Copyright c others. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another lan- guage, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. i Short Contents 1 Overview ..................................... 1 2 The Repository................................. 7 3 Starting a project with CVS ....................... 29 4 Revisions .................................... 33 5 Branching and merging .......................... 41 6 Recursive behavior ............................. 51 7 Adding, removing, and renaming files and directories ...... 53 8 History browsing ............................... 59 9 Handling binary files ............................ 61 10 Multiple developers ............................. 63 11 Revision management ........................... 73 12 Keyword substitution............................ 75 13 Tracking third-party sources ....................... 79 14 How your build system interacts with CVS ............. 83 15 Special Files .................................. 85 A Guide to CVS commands ......................... 87 B Quick reference to CVS commands .................
    [Show full text]
  • Version Control
    Version Control So#ware Quality Quality Audit and Cer2ficaon Master in Computer Engineering Roberto García ([email protected]) Introduc2on • Change-control procedures. Avoid uncontrolled changes, destabilize and degrade quality: • In requirements, disrupt design and coding • In design, code disagrees with requirements • In the code, inconsistencies and uncertain2es about what has been reviewed and tested – Version Control Systems (VCS): • Standalone (CVS, Subversion, Git,…) • Word processors (MicrosoL Office, OpenOffice,…) • Content Management Systems (Drupal, Joomla,…) • Wikis (MediaWiki, TWiki, Trac (wiki+svn)…) Features • Backup and Restore. Files are saved as they are edited, and you can jump to any moment in 2me • Synchronizaon. Lets people share files and stay up-to-date with the latest version • Short-term undo. Throw away your changes and go back to the “last known good” version in the database • Long-term undo. Jump back to the old version, and see what change was made that day • Track Changes. As files are updated, you can leave messages explaining why the change happened (stored in the VCS) • Track Ownership. A VCS tags every change with the name of the person who made it • Sandboxing. You can make temporary changes in an isolated area and test before “checking in” changes • Branching and merging. A larger sandbox. You can branch a copy of your code into a separate area and modify it in isolaon (tracking changes separately). Later, you can merge your work back into the common area Basic Setup • Repository (repo): The database storing the files • Server: The computer storing the repo • Client: The computer connec2ng to the repo • Working Set/Working Copy: Your local directory of files, where you make changes • Trunk/Main: The primary locaon for code in the repo, the main development line Basic Ac2ons • Add: Put a file into the repo and begin tracking it • Revision: What version a file is on (v1, v2, v3,...) • Head: The latest revision in the repo • Check out: Download a file from the repo • Check in: Upload a file to the repository (if it has changed).
    [Show full text]
  • Download the Wincvs-1.3 User Guide
    Users Guide Don Harper November 1, 2001 Copyright 2001 Don Harper Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified version of this manual under the conditions for verbatim copying, provided also that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. 2 Section 1 – Introduction ................................................................................................................... 5 Section 2 – Download and Installation ............................................................................................ 6 Section 3 – CVS Repository Configuration...................................................................................... 7 3.1 Local – Direct Access to Local Repository .........................................................................................7 3.2 Pserver, Rhosts, and Ssh – Remote Repository on Non-Windows Server.......................................7 3.3 Ntserver – Remote Repository on Windows Server ..........................................................................7 Section 4 – Beginners Guide to WinCvs .......................................................................................... 8 4.1 Running WinCvs for the First Time ...................................................................................................8 4.2 Setting WinCvs Preferences...............................................................................................................10
    [Show full text]
  • Buildbot This Is the Buildbot Manual
    BuildBot This is the BuildBot manual. Copyright (C) 2005, 2006, 2009, 2010 Brian Warner Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. i Table of Contents 1 Introduction..................................... 1 1.1 History and Philosophy ........................................ 1 1.2 System Architecture............................................ 2 1.2.1 BuildSlave Connections.................................... 3 1.2.2 Buildmaster Architecture .................................. 4 1.2.3 Status Delivery Architecture............................... 6 1.3 Control Flow ................................................... 6 2 Installation ...................................... 8 2.1 Requirements .................................................. 8 2.2 Installing the code ............................................. 8 2.3 Creating a buildmaster ......................................... 9 2.4 Upgrading an Existing Buildmaster............................ 10 2.5 Creating a buildslave.......................................... 10 2.5.1 Buildslave Options ....................................... 12 2.6 Launching the daemons ....................................... 13 2.7 Logfiles ................................................... .... 14 2.8 Shutdown ................................................... 14 2.9 Maintenance .................................................. 15 2.10 Troubleshooting.............................................
    [Show full text]
  • Lpi Linux Certification in a Nutshell
    LPI LINUX CERTIFICATION IN A NUTSHELL LPI LINUX CERTIFICATION IN A NUTSHELL Third Edition Adam Haeder, Stephen Addison Schneiter, Bruno Gomes Pessanha, and James Stanger Beijing • Cambridge • Farnham • Köln • Sebastopol • Taipei • Tokyo LPI Linux Certification in a Nutshell, Third Edition by Adam Haeder, Stephen Addison Schneiter, Bruno Gomes Pessanha, and James Stanger Copyright © 2010 Adam Haeder, Stephen Addison Schneiter, Bruno Gomes Pessanha, and James Stanger. 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 (http://my.safaribooksonline.com). For more infor- mation, contact our corporate/institutional sales department: 800-998-9938 or [email protected]. Editor: Andy Oram Indexer: Jay Marchand Production Editor: Adam Zaremba Cover Designer: Karen Montgomery Copyeditor: Genevieve d’Entremont Interior Designer: David Futato Proofreader: Jennifer Knight Illustrator: Robert Romano Printing History: May 2001: First Edition. July 2006: Second Edition. June 2010: Third Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trade- marks of O’Reilly Media, Inc. LPI Linux Certification in a Nutshell, the image of a bull, 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 authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.
    [Show full text]
  • Best Practices for Web Developers V1.01
    Best Practices for Web Developers v1.01 by Kate Rhodes ( masukomi at masukomi dot org ) May 18, 2007 1 This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License. http://creativecommons.org/licenses/by-nc-nd/3.0/ Contents 1 Let’s get a few things straight 3 2 Tools, tools, tools 4 3 Getting version control right 5 3.1 Youhaveaproductionbranch. 6 3.2 Emergencybugfixesstartwithproduction. 6 3.3 Exploring new functionality starts with a new branch. 6 3.4 You have a main development branch. 7 3.5 You are not using a version control system that makes branching and merging a pain. 7 3.6 You are not using CVS anymore. 7 3.7 You have started using a version control system that’s actually good.......... 8 4 Testing 10 4.1 Basictestingconcepts ............................... 11 4.1.1 Unittesting..................................... 11 4.1.2 Functional / Acceptance testing . 11 4.1.3 Integration testing . 12 4.1.4 Systemtesting ................................... 12 4.2 HeuristicDrivenDevelopment. 13 4.2.1 Triage . 13 4.2.2 When things break. 14 4.2.3 Your development environment . 15 2 CONTENTS 3 5 Optimization & load tests 16 5.1 Triage based on predicted usage. 16 5.2 Create test data early in realistic amounts. 17 5.3 Mirror your production environment. 17 5.4 Learn to use profiling software. 18 5.5 Setsometargets. ..................................... 18 5.6 Usediversionarytactics. .... ........ ....... ........ .. 18 5.7 Loadtestingrulesofthumb... ........ ....... ........ ... 19 6 Application deployment 20 6.1 Rulesofthumb ...................................... 20 6.1.1 Your live webapp is never in a state that can’t be rolled back to in the future.
    [Show full text]
  • CVS-RCS- HOW-TO Document for Linux (Source Code Control System)
    CVS−RCS− HOW−TO document for Linux (Source Code Control System) CVS−RCS− HOW−TO document for Linux (Source Code Control System) Table of Contents CVS−RCS− HOW−TO document for Linux (Source Code Control System)...............................................1 Al Dev (Alavoor Vasudevan) alavoor@yahoo.com................................................................................1 1.Introduction...........................................................................................................................................1 2.Which one is for me? CVS or RCS......................................................................................................1 3.Setting up CVS ....................................................................................................................................1 4.Shell Scripts .........................................................................................................................................1 5.CVS Documentation ............................................................................................................................2 6.Emacs Editor ........................................................................................................................................2 7.Problem Reporting System ..................................................................................................................2 8.Other Formats of this Document...........................................................................................................2
    [Show full text]
  • Working with SVN
    MNXB01 2015 Working with SVN Florido Paganelli Lund University [email protected] Florido Paganelli Working with SVN Tutorial 2b 1/66 Outline What are version/revision control systems Generic concepts of version/revision systems SVN Generic concepts of SVN SVN tutorial Florido Paganelli Working with SVN Tutorial 2b 2/66 Notation I will be using the following color code for showing commands: Application options and values Application or program Second parameter in different formats to command command to application First parameter to command app command --option=value -option value inputpar otherinputpar BLANK SPACES Florido Paganelli Working with SVN Tutorial 2b 3/66 Why version/revision systems? Say you wrote some piece of code. You discover a bug and you want to change it. You fix the bug, save the code. Try the program again and… it doesn't work! What went wrong? Would be nice if you could compare what you changed... Solution: make a backup copy before every change! Version systems make it easy to backup and compare changes Florido Paganelli Working with SVN Tutorial 2b 4/66 Why version/revision systems? If you do many changes, you might not remember what changes you made. Version systems allow you to attach a comment to the change. If you want to share your code with other developers, it's nice if everybody can see who changed what. Version systems allow you to author the changes so the others know what you're done. This helps sharing code. Florido Paganelli Working with SVN Tutorial 2b 5/66 Why version/revision systems? Summary: Backup each change in your code Compare different versions of your code Comment and annotate each change Share among developers Florido Paganelli Working with SVN Tutorial 2b 6/66 Concepts of version systems Repository: A database that contains the list of changes made.
    [Show full text]