Presentation on theme: "1 Perforce The Fast Software Configuration Management System."— Presentation transcript:
1 Perforce The Fast Software Configuration Management System
2 Perforce Q. How to safely perform the sharing of files among multiple users ? A. There are software configuration management tools to manage any sort of transactions. One of them is Perforce.
3 What’s good about Perforce ? Fast Comparatively cheap Runs on most platforms Supports parallel development Easy to administer
4 Topics of Discussion Perforce Architecture Parallel Development and Branching Networking Portability and Supported Platforms Atomic Change Transaction Model Configuration Labels Comparison with ClearCase Summary and Conclusion
5 Perforce Architecture Server Client1 ClientN Depot a central file repository p4 submit Pp4 sync
6 Perforce Server a Request Handler a Data Manager a File Librarian Server implements optimized database services based on the Berkeley DB database package. sequences actions to carry out client requests and manages communication with the client. a highly efficient file archiver that stores repository files on disk local to server.
9 Parallel Development and Branching Two forms of parallel development: 1. Users can work on files in common code line at the same time. 2. Perforce supports multiple parallel or related code lines in the depot.
10 Branching Branching is the creation of variant codelines from other codelines.
11 Perforce Client Views View Line 1 View Line 2 Branch n … … … Branch 1 Branch 0 Client Depot
12 Atomic Change Transaction Model Change: new Client: hewey2-yzvereva User: yzvereva Description: Fixed warnings in pbmdrvr and psdrvr, added a new “null” driver. Files: //depot/hewey/odhdw/nulldrvr.c #add //depot/hewey/odhdw/pbmdrvr.c #edit //depot/hewey/odhdw/psdrvr.c #edit Perforce supports submitting multi- file changes, and each change is uniquely and permanently identified.
13 Networking Uses TCP/IP-based streaming protocol. Works equally well on a LAN or around the world. Provides 100% interoperability in heterogeneous network environments.
14 Portability and supported platforms Implemented portably in C++ Server runs on most Unix platforms and on Windows NT Clients - any Unix platform - Windows NT, 95 - OS/2 - Macintosh - BeOS, QNX, Open VMS
15 Configuration Labels Labels provide the ability to store a named specification of a particular set of file revisions for later access. p4 sync
16 Other SCM Systems ClearCase CVS PVCS Visual Sourcesafe
17 ClearCase vs. Perforce ClearCasePerforce Time slows down ordinary work, such as editing and compiling under load, ClearCase gets much slower product builds are slow backing up requires considerable user downtime populating your disk – 7 times faster local disk access – 8 times faster. checking in/out files – 10 times faster. 1 st time loading repository – 50 times faster. labelling files – 140 times faster
18 ClearCase vs. Perforce ClearCasePerforce Money base price 5 times > than p4 needs more machine resources (needs30 MIPS and 64 Mbytes for each VOB of 2500 files and 25 users.) almost always requires complicated wrapper scripts requires much more support costs less needs much fewer machine resources (with the same resources supports files and 100 users) needs much less customization needs much less administration
19 ClearCase vs. Perforce ClearCasePerforce Control runs only on certain platforms no built-in atomic change transaction uses the traditional branching model runs everywhere has built-in atomic change transaction has an advanced branching model
20 Conclusion “A tool is only as good as you use it,” the saying goes.