360 likes | 773 Views
Perforce. The Fast Software Configuration Management System . 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.
E N D
Perforce The Fast Software Configuration Management System
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.
What’s good about Perforce ? • Fast • Comparatively cheap • Runs on most platforms • Supports parallel development • Easy to administer
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
Perforce Architecture Pp4 sync Client1 Server Depot a central file repository p4 submit ClientN
Perforce Server implements optimized database services based on the Berkeley DB database package. Server a Data Manager a Request Handler sequences actions to carry out client requests and manages communication with the client. a File Librarian a highly efficient file archiver that stores repository files on disk local to server.
Perforce Client • Client workspace • Client name • Client root • Client view • Client specification
Perforce Client p4 client Client: cleanup-yzvereva Owner: yzvereva Description: Created by yzvereva. Root: /home/yzvereva/cleanup Options: modtime, noclober View: //depot/ips/projects/cleanup/…//cleanup-yzvereva/…
Parallel Development and Branching Two forms of parallel development: • 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.
Branching Branching is the creation of variant codelines from other codelines.
Perforce Client Views Depot Branch 0 Branch 1 Client … View Line 1 … View Line 2 … Branch n
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.
Networking • Uses TCP/IP-based streaming protocol. • Works equally well on a LAN or around the world. • Provides 100% interoperability in heterogeneous network environments.
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
Configuration Labels Labels provide the ability to store a named specification of a particular set of file revisions for later access. p4 sync …@release2.0.1
Other SCM Systems • ClearCase • CVS • PVCS • Visual Sourcesafe
ClearCase vs. Perforce Fast Slow
Conclusion “A tool is only as good as you use it,” the saying goes. www.perforce.com