Buildbot This Is the Buildbot Manual

Total Page:16

File Type:pdf, Size:1020Kb

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.............................................. 15 2.10.1 Starting the buildslave .................................. 15 2.10.2 Connecting to the buildmaster .......................... 15 2.10.3 Forcing Builds .......................................... 16 3 Concepts ....................................... 17 3.1 Version Control Systems ...................................... 17 3.1.1 Generalizing VC Systems ................................. 17 3.1.2 Source Tree Specifications ................................ 18 3.1.3 How Different VC Systems Specify Sources ............... 19 3.1.4 Attributes of Changes .................................... 20 3.2 Schedulers ................................................... 22 3.3 BuildSet ................................................... 23 3.4 BuildRequest ................................................. 24 3.5 Builder ................................................... .... 24 3.6 Users ................................................... ...... 25 3.6.1 Doing Things With Users ................................ 25 3.6.2 Email Addresses ......................................... 26 3.6.3 IRC Nicknames .......................................... 27 3.6.4 Live Status Clients ....................................... 27 3.7 Build Properties .............................................. 27 ii 4 Configuration .................................. 29 4.1 Config File Format ............................................ 29 4.2 Loading the Config File ....................................... 30 4.3 Testing the Config File ........................................ 30 4.4 Defining the Project .......................................... 31 4.5 Change Sources and Schedulers................................ 32 4.5.1 Scheduler Scheduler ...................................... 33 4.5.2 AnyBranchScheduler ..................................... 34 4.5.3 Dependent Scheduler ..................................... 34 4.5.4 Periodic Scheduler ....................................... 35 4.5.5 Nightly Scheduler ........................................ 35 4.5.6 Try Schedulers ........................................... 37 4.5.7 Triggerable Scheduler .................................... 37 4.6 Merging BuildRequests........................................ 38 4.7 Prioritizing Builders........................................... 39 4.8 Setting the slaveport .......................................... 39 4.9 Buildslave Specifiers........................................... 39 4.9.1 When Buildslaves Go Missing ............................ 40 4.10 On-Demand ("Latent") Buildslaves .......................... 41 4.10.1 Amazon Web Services Elastic Compute Cloud ("AWS EC2") ................................................... 41 4.10.1.1 Get an AWS EC2 Account ......................... 41 4.10.1.2 Create an AMI ..................................... 42 4.10.1.3 Configure the Master with an EC2LatentBuildSlave ................................................... ...... 42 4.10.2 Dangers with Latent Buildslaves......................... 44 4.10.3 Writing New Latent Buildslaves ......................... 45 4.11 Defining Global Properties ................................... 45 4.12 Defining Builders ............................................ 45 4.13 Defining Status Targets ...................................... 47 4.14 Limiting Memory and Disk Usage ............................ 47 4.15 Debug options ............................................... 48 5 Getting Source Code Changes................ 50 5.1 Change Sources ............................................... 50 5.2 Choosing ChangeSources ...................................... 52 5.3 CVSToys - PBService ......................................... 52 5.4 Mail-parsing ChangeSources ................................... 53 5.4.1 Subscribing the Buildmaster.............................. 53 5.4.2 Using Maildirs ........................................... 54 5.4.3 Parsing Email Change Messages .......................... 54 5.4.3.1 FCMaildirSource .................................... 55 5.4.3.2 SyncmailMaildirSource .............................. 55 5.4.3.3 BonsaiMaildirSource................................. 56 5.4.3.4 SVNCommitEmailMaildirSource ..................... 56 5.4.3.5 BzrLaunchpadEmailMaildirSource ................... 56 5.5 PBChangeSource.............................................. 56 5.6 P4Source ................................................... 57 iii 5.7 BonsaiPoller .................................................. 58 5.8 SVNPoller ................................................... 58 5.9 MercurialHook ................................................ 62 5.10 Bzr Hook ................................................... 64 5.11 Bzr Poller ................................................... 65 6 Build Process .................................. 66 6.1 Build Steps ................................................... 66 6.1.1 Common Parameters ..................................... 67 6.1.2 Using Build Properties ................................... 68 6.1.3 Source Checkout ......................................... 70 6.1.3.1 CVS ................................................ 72 6.1.3.2 SVN ................................................ 72 6.1.3.3 Darcs ............................................... 75 6.1.3.4 Mercurial ........................................... 75 6.1.3.5 Arch ................................................ 76 6.1.3.6 Bazaar .............................................. 76 6.1.3.7 Bzr ................................................. 76 6.1.3.8 P4 .................................................. 77 6.1.3.9 Git.................................................. 77 6.1.3.10 Monotone .......................................... 78 6.1.4 ShellCommand ........................................... 78 6.1.5 Simple ShellCommand Subclasses ........................ 80 6.1.5.1 Configure ........................................... 81 6.1.5.2 Compile ............................................. 81 6.1.5.3 Test ................................................. 82 6.1.5.4 TreeSize ............................................. 82 6.1.5.5 PerlModuleTest ..................................... 82 6.1.6 Testing with mysql-test-run .............................. 82 6.1.6.1 SetProperty ......................................... 84 6.1.6.2 SubunitShellCommand .............................. 84 6.1.7 Python BuildSteps ....................................... 84 6.1.7.1 BuildEPYDoc ....................................... 84 6.1.7.2 PyFlakes ............................................ 85 6.1.7.3 PyLint .............................................. 85 6.1.8 Transferring Files ........................................ 85 6.1.9 Steps That Run on the Master ........................... 87 6.1.10 Triggering Schedulers ................................... 87 6.1.11 Writing New BuildSteps................................. 88 6.1.11.1 Writing BuildStep Constructors .................... 88 6.1.11.2 BuildStep LogFiles ................................. 89 6.1.11.3 Reading Logfiles.................................... 90 6.1.11.4 Adding LogObservers .............................. 91 6.1.11.5 BuildStep URLs.................................... 95 6.2 Interlocks ................................................... 96 6.3 Build Factories................................................ 99 6.3.1 BuildStep Objects........................................ 99 6.3.2 BuildFactory ............................................. 99 iv 6.3.2.1 BuildFactory Attributes ............................ 101 6.3.2.2 Quick builds ....................................... 101 6.3.3 Process-Specific build factories .......................... 101 6.3.3.1 GNUAutoconf...................................... 101 6.3.3.2 CPAN ............................................. 102 6.3.3.3 Python distutils .................................... 103 6.3.3.4 Python/Twisted/trial projects...................... 103 7 Status Delivery ............................... 105 7.1 WebStatus
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]
  • Buildbot: a Continuous Integration System
    Buildbot: A continuous integration system Krzysztof Voss January, 2013 Outline • Testing and Continuous Integration • Introduction to Buildbot • BuildMaster • BuildMaster components • BuildSlave • Installation and Usage 1 Testing and continuous integration Tests: • the best specification • safety-net for refactoring • bug identification Tests are the most effective if we: • run them often • run them on different machines/environments • can easily see their results 2 The most straightforward approach would entail: • logging in to different machines • fetching the newest source code • running tests • analyzing their output In case we want to test a few environments, repeating the above steps is tedious. Developers do not focus on the code, instead they run tests. A continuous integration system performs all of these steps for us, so developers can focus on their code. 3 Introduction to Buildbot: Features • run builds on a variety of BuildSlave platforms • arbitrary build process: handles projects using C, Python, . • minimal host requirements: python and Twisted • BuildSlave can be behind a firewall if they can still do checkout • status delivery through web page, email, IRC, other protocols • track builds in progress, provide estimated completion time • flexible configuration by subclassing generic build process classes 4 • debug tools to force a new build, submit fake Changes, query BuildSlave status • released under the GPL source: http://buildbot.net/buildbot/docs/current/manual/introduction.html 5 Introduction to Buildbot: Overview system overview source: http://buildbot.net/buildbot/docs/0.8.1/full.html 6 BuildMaster BuildMaster components source: http://buildbot.net/buildbot/docs/0.8.1/full.html 7 BuildMaster BuildMaster: • holds the configuration of the entire system.
    [Show full text]
  • Analysis of Devops Tools to Predict an Optimized Pipeline by Adding Weightage for Parameters
    International Journal of Computer Applications (0975 – 8887) Volume 181 – No. 33, December 2018 Analysis of DevOps Tools to Predict an Optimized Pipeline by Adding Weightage for Parameters R. Vaasanthi V. Prasanna Kumari, PhD S. Philip Kingston Research Scholar, HOD, MCA Project Manager SCSVMV University Rajalakshmi Engineering Infosys, Mahindra City, Kanchipuram College, Chennai Chennai ABSTRACT cloud. Now-a-days more than ever, DevOps [Development + Operations] has gained a tremendous amount of attention in 2. SCM software industry. Selecting the tools for building the DevOps Source code management (SCM) is a software tool used for pipeline is not a trivial exercise as there are plethora’s of tools development, versioning and enables team working in available in market. It requires thought, planning, and multiple locations to work together more effectively. This preferably enough time to investigate and consult other plays a vital role in increasing team’s productivity. Some of people. Unfortunately, there isn’t enough time in the day to the SCM tools, considered for this study are GIT, SVN, CVS, dig for top-rated DevOps tools and its compatibility with ClearCase, Mercurial, TFS, Monotone, Bitkeeper, Code co- other tools. Each tool has its own pros/cons and compatibility op, Darcs, Endevor, Fossil, Perforce, Rational Synergy, of integrating with other tools. The objective of this paper is Source Safe, and GNU Bazaar. Table1 consists of SCM tools to propose an approach by adding weightage to each with weightage. parameter for the curated list of the DevOps tools. 3. BUILD Keywords Build is a process that enables source code to be automatically DevOps, SCM, dependencies, compatibility and pipeline compiled into binaries including code level unit testing to ensure individual pieces of code behave as expected [4].
    [Show full text]
  • Studying Routing Issues in Vanets by Using NS-3 Bachelor Thesis on Informatics
    Studying Routing Issues in VANETs by Using NS-3 Bachelor Thesis on Informatics by Christos Profentzas Thesis supervisor Dr. Periklis Chatzimisios Alexander Technological Educational Institute of Thessaloniki Department of Informatics A.T.E.I. of Thessaloniki P.O. Box 141 GR -547 00 Thessaloniki, Macedonia, Greece November 2012 i Acknowledgements This research project would not have been possible without the sup- port of many people. The author wishes to express his gratitude to his supervisor, Assistant Professor Periklis Chatzimisios (Alexan- der TEI of Thessaloniki, Greece) and Assistant Professor Gennaro Boggia (Politecnico di Bari, Italy) who was abundantly helpful and offered invaluable assistance, support and guidance. Deepest grati- tude are also due to the members of the supervisory committee, Assis- tant Professor Luigi Alfredo Grieco and Ph.D Student Giuseppe Piro without whose knowledge and assistance this study would not have been successful. Special thanks also to all group members of Telematics Lab at the Electrical & Electronics Engineering Depart- ment of Politecnico di Bari, for sharing the literature, invaluable assis- tance and laboratory facilities. The author would also like to convey thanks to the Office of Erasmus Program and Faculty of Alexander Technological Educational Institution of Thessaloniki for providing the financial means. Abstract A Vehicular Ad-hoc Network (VANET) is a system of nodes (vehi- cles) that are being connected with each other by wireless technolo- gies. Usually the nodes are moving with very high speeds and, thus, the topology is unpredictable and frequently changing. Such networks can be stand alone and making paths along vehicles or may be con- nected by an infrastructure internet.
    [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]
  • This Book Doesn't Tell You How to Write Faster Code, Or How to Write Code with Fewer Memory Leaks, Or Even How to Debug Code at All
    Practical Development Environments By Matthew B. Doar ............................................... Publisher: O'Reilly Pub Date: September 2005 ISBN: 0-596-00796-5 Pages: 328 Table of Contents | Index This book doesn't tell you how to write faster code, or how to write code with fewer memory leaks, or even how to debug code at all. What it does tell you is how to build your product in better ways, how to keep track of the code that you write, and how to track the bugs in your code. Plus some more things you'll wish you had known before starting a project. Practical Development Environments is a guide, a collection of advice about real development environments for small to medium-sized projects and groups. Each of the chapters considers a different kind of tool - tools for tracking versions of files, build tools, testing tools, bug-tracking tools, tools for creating documentation, and tools for creating packaged releases. Each chapter discusses what you should look for in that kind of tool and what to avoid, and also describes some good ideas, bad ideas, and annoying experiences for each area. Specific instances of each type of tool are described in enough detail so that you can decide which ones you want to investigate further. Developers want to write code, not maintain makefiles. Writers want to write content instead of manage templates. IT provides machines, but doesn't have time to maintain all the different tools. Managers want the product to move smoothly from development to release, and are interested in tools to help this happen more often.
    [Show full text]
  • Expert Python Programming Third Edition
    Expert Python Programming Third Edition Become a master in Python by learning coding best practices and advanced programming concepts in Python 3.7 Michał Jaworski Tarek Ziadé BIRMINGHAM - MUMBAI Expert Python Programming Third Edition Copyright © 2019 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Commissioning Editor: Kunal Chaudhari Acquisition Editor: Chaitanya Nair Content Development Editor: Zeeyan Pinheiro Technical Editor: Ketan Kamble Copy Editor: Safis Editing Project Coordinator: Vaidehi Sawant Proofreader: Safis Editing Indexer: Priyanka Dhadke Graphics: Alishon Mendonsa Production Coordinator: Shraddha Falebhai First published: September 2008 Second edition: May 2016 Third edition: April 2019 Production reference: 1270419 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78980-889-6 www.packtpub.com To my beloved wife, Oliwia, for her love, inspiration, and her endless patience.
    [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]
  • Design and Implementation of a Continuous Integration System
    Prakash Acharya DESIGN AND IMPLEMENTATION OF A CONTINUOUS INTEGRATION SYSTEM DESIGN AND IMPLEMENTATION OF A CONTINUOUS INTEGRATION SYSTEM Prakash Acharya Bachelor’s Thesis Spring 2019 Information Technology Oulu University of Applied Sciences ABSTRACT Oulu University of Applied Sciences Information Technology, Internet Services Author: Prakash Acharya Title of the bachelor’s thesis: Design and Implementation of a Continuous Integration System Supervisor: Lasse Haverinen Term and year of completion: Spring 2019 Number of pages: 43 Not having an automated test system in the software development process leaves space for errors to go unnoticed in code review, which can break a codebase if integrated. The aim of the Bachelor’s thesis was to design and implement a Continuous Integration system where tests and build tasks could be automated. The Buildbot framework was used as a Continuous Integration and automation framework. The Ansible playbook was used for automating the deployment of Buildbot configuration. The Buildbot configuration was created in such a way that it allows Buildbot instances to be created easily and in a configurable manner. In addition, automation of the Python static code analysis tool, Prospector, was added to the Continuous Integration system. The result of having a configurable Buildbot system was that the developers could start adding automation tasks and test and verify their change without affecting the production instance. Having an automated static code analysis run on changes brings into attention potential problems and error before they are integrated. Even though the Buildbot system is not taken into use, it was tested in a test environment and it is shown to work.
    [Show full text]
  • Driving and Virtualizing Control Systems: the Open Source Approach Used in Whiterabbit
    Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez Academia-Industry Matching event on Technology of Controls for Accelerators and Detectors November 2013 Agenda Knowing Igalia The value of the Open Source approach Open Source approach in WhiteRabbit A walk on technical details and demo Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez What is Igalia? Open Source Company 40 engineers and hackers working around the globe Hacking upstream in different technologies and communities kernel (Linux) virtualization (QEMU/KVM) browsers/multimedia (WebKit, Blink, GStreamer...) compilers (V8, JavaScriptCore...) UI (GTK+,...) documents (Evince, LibreOffice...) distros (Debian, Tizen...) automotive/IVI 13 years old now! www.igalia.com Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez Partnering Linux Foundation www.linuxfoundation.org/news- media/announcements/2011/04/igalia-joins-linux- foundation W3C www.igalia.com/nc/igalia-247/news/item/igalia-joins- the-world-wide-web-consortium Tizen Association www.igalia.com/nc/igalia-247/news/item/igalia-joins- the-tizen-association-partner-program/ ... Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez What services and solutions provides Igalia? We are experts in Open Source
    [Show full text]
  • 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.
    [Show full text]