Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Perforce for a Subversion user?

Tags:

I've just changed jobs. My previous employer uses Subversion, my new employer uses Perforce.

Are there any resources out there that'll help me, as a user, change my mental model from a Subversion one to a Perforce one? What are the analogs to common SVN commands? Which concepts are implemented differently?

I'm not particularly interested in the pros and cons of Perforce vs Subversion - the decision's been made. There are plenty of other questions on S.O. covering that. I'd like to know what mental readjustment I'll have to make (or not).

like image 657
Roger Lipscombe Avatar asked May 04 '10 09:05

Roger Lipscombe


2 Answers

Perforce and Subversion are quite similar, they both feature atomic commit of groups of files, and path-based branching.

Perforce has:

a) Pending changesets - you can group files that you are editing into groups and manipulate the groups.

b) Client-Specs - you can map the repository to your local work-space in quite complicated schemes.

c) No external - so you can't map the same part of the repository to multiple locations in your work-space, or map other repositories to sub-dirs in your work-space.

d) Merge-tracking, which is a new feature for Subversion.

e) Strong server connections: You have to tell the server before editing a file, and the server uses this information to keep a good idea of your local work-space state, which makes updates faster.

like image 55
Douglas Leeder Avatar answered Oct 11 '22 09:10

Douglas Leeder


A few things come to mind (I have used perforce four years ago - things may have changed).

  • locking - perforce requires you get a lock on files you are working on. Subversion doesn't.
  • changelist - changelists are basic to working with perforce. Every commit is of a changelist. They are less important in subversion.

This blog post may help you make the transition.

like image 45
Yuval F Avatar answered Oct 11 '22 09:10

Yuval F