Comparison: Perforce and Microsoft Visual SourceSafe. Perforce VSS

Similar documents
High Availability and Disaster Recovery Solutions for Perforce

Perforce for Subversion Users

Overview. Consolidating SCM Infrastructures - Migrating between Tools -

AccuRev Plugin for Crucible Installation and Release Notes

Perforce Getting Started with P4V

VMware Mirage Getting Started Guide

VMware Mirage Getting Started Guide

Perforce Getting Started with P4V

Laboratorio di Programmazione. Prof. Marco Bertini

Virtuozzo Containers

Perforce Getting Started with P4V

Still All on One Server: Perforce at Scale

IBM VisualAge for Java,Version3.5. External Version Control

Data Protection and Synchronization for Desktop and Laptop Users VERITAS BACKUP EXEC 9.1 FOR WINDOWS SERVERS DESKTOP AND LAPTOP OPTION

Exam : S Title : Snia Storage Network Management/Administration. Version : Demo

TEAM FOUNDATION SERVER (CONCEPT WILL APPLY TO TFS 2005, TFS 2008 & TFS 2010)

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

Designing Data Protection Strategies for Oracle Databases

VSO. Configuration Management

Using CVS Repositories with SAS

Vendor: Citrix. Exam Code: 1Y Exam Name: Designing Citrix XenDesktop 7.6 Solutions. Version: Demo

Oracle Enterprise Manager Ops Center. Introduction. Creating Oracle Solaris 11 Zones Guide 12c Release 1 ( )

PRESENTS... Fast and Secure SourceSafe Remote Access

Understanding Virtual System Data Protection

Designing Data Protection Strategies for Oracle Databases

P4VS User Guide Patch October 2017

MySQL Development Cycle

Push up your code next generation version control with (E)Git

<Insert Picture Here> Lustre Development

Deploy. A step-by-step guide to successfully deploying your new app with the FileMaker Platform

Data Protection Using Premium Features

Oracle E-Business Availability Options. Solution Series for Oracle: 2 of 5

Quick-start guide for installing the client software and starting your first review

Software configuration management

Zadara Enterprise Storage in

Veritas Provisioning Manager

EMC VPLEX Geo with Quantum StorNext

The recent agreement signed with IBM means that WhereScape will be looking to integrate its offering with a wider range of IBM products.

Perforce Defect Tracking Gateway Guide

NetVault for MAC OS X. Contents

Oracle Enterprise Manager Ops Center. Introduction. Creating Oracle Solaris 11 Zones 12c Release 2 ( )

VMware Mirage Web Management Guide. VMware Mirage 5.9.1

Technology Insight Series

Securing Amazon Web Services (AWS) EC2 Instances with Dome9. A Whitepaper by Dome9 Security, Ltd.

DEDUPLICATION BASICS

vsphere Update Manager Installation and Administration Guide 17 APR 2018 VMware vsphere 6.7 vsphere Update Manager 6.7

Data Replication Buying Guide

Hitachi Adaptable Modular Storage and Hitachi Workgroup Modular Storage

Guide to Mitigating Risk in Industrial Automation with Database

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018

MAPR TECHNOLOGIES, INC. TECHNICAL BRIEF APRIL 2017 MAPR SNAPSHOTS

Veritas Storage Foundation for Windows by Symantec

Riverbed Granite Use Cases

Technical Information. Experion eserver Specification EP Release July 2018, Version 1

An ESRI White Paper June 2009 ArcGIS Server and Virtualization

Migration. 22 AUG 2017 VMware Validated Design 4.1 VMware Validated Design for Software-Defined Data Center 4.1

Achieving Rapid Data Recovery for IBM AIX Environments An Executive Overview of EchoStream for AIX

Backup and Archiving for Office 365. White Paper

Enhancing Virtual Environments

CLOUD-SCALE FILE SYSTEMS

Analyzing File Content History

Embarcadero Change Manager 5.1 Installation Guide. Published: July 22, 2009

Design and deliver cloud-based apps and data for flexible, on-demand IT

A Cloud WHERE PHYSICAL ARE TOGETHER AT LAST

Perforce Using IDE Plug-ins

Realizing the Value of Standardized and Automated Database Management SOLUTION WHITE PAPER

Perforce Using IDE Plug-ins

VMware Mirage Web Manager Guide

ZYNSTRA TECHNICAL BRIEFING NOTE

Solutions Overview: Helix Version Control System

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management

Oracle Java SE Advanced for ISVs

Designing Data Protection Strategies for Lotus Domino

EMC Celerra CNS with CLARiiON Storage

Agenda. What is Replication?

Enterprise Sync 2.1. Release Notes

BEST PRACTICES GUIDE Configuring ShadowProtect and Windows

Alliance Key Manager A Solution Brief for Technical Implementers

Sage DacEasy. Getting Started Guide

JBoss Enterprise Middleware

NetVault:Backup for Mac OS X

Perforce Best Practices for Codeline Management. Organizing Codelines, Part 1

DQpowersuite. Superior Architecture. A Complete Data Integration Package

White paper: Agentless Backup is Not a Myth. Agentless Backup is Not a Myth

DRS Policy Guide. Management of DRS operations is the responsibility of staff in Library Technology Services (LTS).

EMC Documentum xdb. High-performance native XML database optimized for storing and querying large volumes of XML content

EMC Solutions for Backup to Disk EMC Celerra LAN Backup to Disk with IBM Tivoli Storage Manager Best Practices Planning

Using VMware vsphere Replication. vsphere Replication 6.5

Continuous Integration / Continuous Testing

EMC CLARiiON Backup Storage Solutions

VERITAS Backup Exec 10 for Windows Servers. Advanced Open File Option

SOFTWARE CONFIGURATION MANAGEMENT

EXAM Core Solutions of Microsoft Lync Server Buy Full Product.

The Submission Data File System Automating the Creation of CDISC SDTM and ADaM Datasets

Surveillance Dell EMC Storage with Digifort Enterprise

Solution Brief: Archiving Avid Interplay Projects using NLT and XenData

P4VS User Guide December 2018

Better Living Through New Releases

Data Protection for Virtualized Environments

CIMERA ARCHITECTURE. Release 4.2.x

Transcription:

Comparison: Perforce and Microsoft Visual SourceSafe Perforce & VSS

Overview This document compares Perforce version 2008.2 with Microsoft Visual SourceSafe (VSS) 2005, and contrasts their significant differences. This comparison focuses on qualitative aspects such as system architecture, performance, and usability. Executive Summary Attribute Perforce VSS Platform Dependencies Scalability and Performance Atomic Transactions Branching and Merging Distributed Development Integrations with Related Tools Support Self-contained client/server architecture. Response times are an order of magnitude faster for most operations. Multiplatform. The Perforce repository easily scales to the multi-terabyte range. Natively supported as changelists, enabling users to track file versions associated with a feature addition or issue resolution. Perforce branching automatically tracks the history of all branching operations. The Perforce Proxy offers a caching solution for remote users, with minimal administrative overhead and no extra cost. Many available tools are designed specifically to work with Perforce, including defect tracking tools. Provided by Perforce SCM experts and relied upon by over 300,000 users. Works over network shares, thereby slowing response times. Limited to Microsoft platforms only. Microsoft recommends that VSS databases not exceed 4 to 6 GB, for performance and stability reasons. Doesn t have an atomic change mechanism, and cannot group changes to related files. Limited support for branching and related operations. Branching relationships aren t maintained. Future merge and integration activities have no baseline to support conflict identification. Does not offer a distributed development solution. Only available for IDEs that support the SCC interface. Available through OEM, online, or pay-per-incident. 1

Figure 1: The Perforce client-server SCM system supports all major platforms. Platform Dependencies VSS is supported on Microsoft platforms. The VSS architecture uses the client/ server model. By default, clients enforce cooperation with one another through locks set on files within the database. Local files residing on the client are integral to VSS s ability to determine status, map storage, and control processing. These files are highly susceptible to accidental modification or deletion. Perforce supports a wide range of platforms, including Windows, Linux, Mac OS X, Unix, and Solaris. The Perforce architecture is also a client/server model, but Perforce maintains client processing and state information on a central server as part of the metadata (see Figure 1). Additionally, the latest versions of all files are maintained on the server. In the event of any failure on the client (for example, hardware failure), all the files managed by Perforce can easily be recovered from the server. Scalability and Performance The client/server architecture of Perforce performs consistently faster than VSS for equivalent operations. Perforce operations involving metadata (check-out, branching) are two to five times faster than the equivalent VSS operations. Perforce operations involving the transfer of file contents (get, check-in) are seven to ten times faster than the equivalent VSS operations. Data Integrity VSS is targeted toward individual developers or small teams with lightweight SCM needs. VSS limitations due to performance and stablility reasons include: Repositories limited to no more than 8,000 files per project Maximum allowable workspaces (imposed by the ss.ini file) is 10 Databases should be no larger than 6 GB Individual file sizes should be no more than 2 GB Comparison: Perforce and Microsoft Visual SourceSafe 2

The possibility of client and network failures leaving the database in a corrupt state is a risk inherent in the VSS design. A tool is provided for detecting, and when possible, correcting detected errors in the database. Microsoft recommends running this tool at least weekly, during which time the database isn t available to users. By contrast, Perforce easily scales to support large organizations with 10,000+ users and does not impose limits on the size of the database, projects, or teams. Perforce supports single instances of very large depots, or repositories, with no degradation of performance. Perforce installations containing terabytes of source code are not uncommon. All Perforce metadata is safely archived by taking a snapshot of the database and storing it offline. Perforce configurations using standard backup processes can create high-availability systems that provide 24/7 user access. Atomic Transactions VSS does not provide an atomic change mechanism and cannot group changes to related files. Relationships between files at check-in are lost unless artificial methods such as check-in time or common comments are used. If some of the files involved in a depot submission are rejected, the codebase is left in an inconsistent state. VSS label technology allows only one label per file version. Perforce organizes the changes made to multiple files into units of work called changelists. Typically, changelists represent features or bug fixes that are implemented by modifying multiple files. Because changelists are atomic, they ensure the integrity of each check-in, and avoid the corruption introduced by partial file submissions. Perforce guarantees that whenever a changelist is submitted, the state of the entire system before and after the changelist varies only by the set of changes (adds, deletes, and edits) involved in the given changelist. Perforce allows the same version of a file to be associated with multiple labels. Perforce also allows deleted file revisions to be included in labels. Branching and Merging VSS has limited support for branching and related operations. In VSS, branch relationships aren t maintained and future merge and integration activities have no baseline to support conflict identification. VSS does not have integration tracking and its automated merge technology works only if there are no conflicts. VSS supports only two merge types: a visual two-pane merge and a manual merge. The Perforce Inter-File Branching TM model is capable of branching thousands of files rapidly while retaining a complete branch and merge history. Instead of manually tracking all changes across branches, users can rely upon Perforce to merge file changes across multiple branches automatically and with fewer conflicts to resolve. A built-in graphical tool, Revision Graph, displays the detailed branching history of each file for easy visualization of code propogation. (see Figure 2). Perforce s Inter-File Branching enables users to work simultaneously in parallel development or release projects, easily and without restriction. Users can quickly and easily branch to develop customer variants, create prototypes and patches, isolate individual tasks, and more. 3

Figure 2: The Revision Graph tool shows the branching history of a file, together with merge history. Distributed Development VSS does not offer a distributed development solution, providing no efficiencies for groups of users at remote locations. Perforce s distributed architecture is supported by the Perforce Proxy at remote locations. The Perforce Proxy caches and serves files to users at remote locations, thereby reducing traffic across slower WAN links. All users, local or remote, connect to the same central depot and hence look at the exact same project files. Distributed development with Perforce doesn t require any additional process overheads or additional cost. Any number of proxies can be deployed, are invisible to end users, and require minimal administrative attention. Integrations with Related Tools VSS can only be used from within IDEs that use the Microsoft SCC interface. VSS provides built-in tools for difference, merge, and comparison, but third-party tools aren t encouraged. Perforce has a mature multiplatform GUI, and many IDE plug-ins. Perforce also integrates with popular software development tools. Major categories include the following: IDEs Web and graphical tools Software build tools Microsoft Office API tools Merge and diff tools Comparison: Perforce and Microsoft Visual SourceSafe 4

System Administration and Support Recovering deleted files is difficult in VSS. Only the latest version of a deleted file is available for recovery, and recovery of a deleted shared file is problematic. Perforce tracks and maintains deleted files and their version history, and enables easy retrieval of any previously deleted version. Support for VSS is provided either by the OEM vendor, online, or as pay-per-incident. There is no support for the trial version. Expert and responsive technical support is a hallmark of Perforce and full technical support is included during an evaluation. Perforce believes that when you buy an SCM system, you re not only putting your faith in the software, but also in the technical support you expect to receive. Additional Resources Evaluating Perforce More than 300,000 users at 5,000 companies rely on Perforce for software configuration management. Perforce encourages prospective customers to judge for themselves during a typical 45-day trial evaluation. And because the quality of a technical support organization is better experienced than described, get started by visiting: www.perforce.com/vss Scheduling a Demo of Perforce To learn more about Perforce, schedule an interactive demo tailored to your requirements. Visit: www.perforce.com/vssdemo Migrating to Perforce For more information on related software including conversion utilities for migrating from VSS to Perforce, please visit: www.perforce.com/perforce/loadsupp.html#conv Perforce Consulting Services has experience assisting customers with migrations from various SCM systems. For more information, please visit: www.perforce.com/consulting 5

Additional SCM comparisons available at http://www.perforce.com/comparisons North America Perforce Software Inc. 2320 Blanding Ave Alameda, CA 94501 USA Phone: +1 510.864.7400 info@perforce.com Europe Perforce Software UK Ltd. West Forest Gate Wellington Road Wokingham Berkshire RG40 2AT UK Phone: +44 (0) 845 345 0116 uk@perforce.com Australia Perforce Software Pty. Ltd. Suite 3, Level 10 221 Miller Street North Sydney NSW 2060 AUSTRALIA Phone: +61 (0)2 8912-4600 au@perforce.com Copyright 2009 Perforce Software Inc. All rights reserved. All trademarks or registered trademarks used herein are property of their respective owners.