• Advertisement
Sign in to follow this  

Source Control - Perforce

This topic is 1832 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

It is Perforce - P4 free and easy to use with VisualStudio 2010/2012 ? Looking around the web of perforce I don't get it clear. I remember reading some article of a Valve programmer about the great things about perforce in source control, how fast and all that it was, but I see it complicated o set up. Is anyone better, or a good tutorial about this? 

Share this post


Link to post
Share on other sites
Advertisement

As far as I know, Perforce is free for up to 20 users (http://www.perforce.com/downloads/try).

 

We are using it at work and I like it pretty much.  It works well with VS 2010.  I don't know about 2012, but I guess it should be fine.  It's being used by the major game development companies (http://www.perforce.com/customers/solutions/game-development), mainly because it can easily handle large binary files.

 

I can't really help you about setting up a server ('m just a user), but I guess you can find good tutorial on their website.

Share this post


Link to post
Share on other sites

Remeber you need to have the full version of VS to have any plugins work inside of it.

 

Perforce isn't that hard to setup to be honest, just install the client and server. Tell the server where to store repositories and import your first repository from the client into the server. After that you need to check out the files you want to use, unlike SVN you don't have the files checked out by defeault.

Share this post


Link to post
Share on other sites

Perforce works very well with VS2012. Though, as far as I know you can only use the VS plugins with the paid professional versions of VS. Does not make much difference though, since the P4V client works well. So, if you plan to use the express edition of VS be prepared to do most of your version control work outside of VS.

 

I am not sure how much work it is to set up, but it should not be more complicated than any other typical network service. If you are looking for something really easy, Mercurial seems to be a real breeze to set up. http://hgbook.red-bean.com/

Share this post


Link to post
Share on other sites

I wasn't aware of the plugin limitation with the free version.  Are you sure about that?  All the plugins are available to download for free on their website.  There's also this open source plugin:  http://code.google.com/p/niftyplugins/

 

Edit: Oh...  you meant the paid version of VS, not perforce!  Sorry...

Edited by Faelenor

Share this post


Link to post
Share on other sites

For working alone, client and server can be put in the same computer without losing advantages or slow down computer? I mean for example putting repository and backup in one harddrive while OS and all working files are in other. I remember using once some program that used an SQL server, I installed everything in the same computer and the sqlserver process was huge and was slowing down my computer even making it unusable.

Share this post


Link to post
Share on other sites
As for the plungin limitation for 2010 look here: http://vinayakgarg.wordpress.com/2011/08/27/features-missing-in-visual-studio-2010-express/

In short it is plugins and a few other things which won't make much of a difference unless you as a user need it. 2012 is a bit better but still lacks the plugin capability.

As for working alone I have never used Perforce but used svn/git on my local computer without much of problem. You could also use an old computer you have to store your repository on which I found works quite well.

(Sorry for formatting/spelling mistakes - posting on a phone.)

Share this post


Link to post
Share on other sites
I wasn't aware of the plugin limitation with the free version.  Are you sure about that?  All the plugins are available to download for free on their website.  There's also this open source plugin:  http://code.google.com/p/niftyplugins/

 

The problem is not with the source control software. The free versions of VS simply don't work with any plugins, be they source control plugins or anything else.

Share this post


Link to post
Share on other sites
For working alone, client and server can be put in the same computer without losing advantages or slow down computer? I mean for example putting repository and backup in one harddrive while OS and all working files are in other. I remember using once some program that used an SQL server, I installed everything in the same computer and the sqlserver process was huge and was slowing down my computer even making it unusable.

I have this kind of setup for my home projects as I find it extremely usefull to see what I did previously, if not only to not make the same mistakes or see what I have thought before. I have never really seen any slowdown on the machine, as long as you tell the VS plugin and the client not to fstat(check status of open files and changelist ever so often).

Share this post


Link to post
Share on other sites

Client-server model SCMs are just a degenerate case of distributed SCMs; you can model a client-server SCM with a distributed one, but you can't model a distributed SCM with a client-server one. Also, Git's merge tool is killer, and without its powerful merge tool, branching (which is a vital operation in mature code bases) is just too difficult and dangerous to bother.

 

I remember thinking SVN was leagues away from VSS or CVS in quality. Now, I see them as more alike than different. All client-server SCMs are basically garbage, and Git is the gold standard of distributed SCMs.

Share this post


Link to post
Share on other sites
Perforce is free for small projects and very reliable. Easy to use? I wouldn't say so, until you have some experience with it. I recently updated it and had to mess around with obscure command line options to get it to work again.

I get around the no plugin problem by checking out the entire project before an editing session, then reverting unchanged files after. It's just me working on it, so it makes no difference.

It's fine to have the server and client on the same machine. Installing as a service is convenient because you don't have to start the server manually.

Share this post


Link to post
Share on other sites
Perforce is not a good choice for source control. It is intended to be version control for binary assets; like textures and sounds. For source contol, or version contol in general on text data, use Svn or git. Perforce's speed comes from it throwing away all the useful features of Svn/git that you need for source control but don't really need for binary assets.

Share this post


Link to post
Share on other sites

I have installed P4D both locally on a Windows 7 machine, and on a Windows Home Server.  Installation was shockingly simple, given how complex Perforce administration can get.  When installed locally, I had some slight lag issues where I would switch back to P4V and it would take a second or two to respond.  Nothing major, and the PC wasn't all that great.  When running on the Windows Home Server, I have none of those issues.  It has been a while since I installed P4D, so I can't remember how much of the terminology you may need to know before installing for the first time.  I used Perforce at work long before installing it at home, so what I consider a simple installation may be more confusing for someone who has never used Perforce.

 

The new P4VS plugin for Visual Studio is a huge step forward from the old SCC plugins they had.  Still can be confusing if you don't understand how it's binding to the .suo file, and it has some issues when dealing with generated project files and solutions, but it's not a huge deal.

 

While there is a reason lots of game developers use Perforce, keep in mind a company's needs when it comes to source control are not the same as an individuals.  Perforce can scale to thousands of users across a cluster of servers with proxy and replica servers and handle repositories hundreds of TBs in size and dealing with branches that are 100GB in size.  You may be one person coding on your laptop in front of a TV.  While Perforce supports that, you may find something else better suits your situation.

Share this post


Link to post
Share on other sites

Im using it too at work. We dont have VS plugin installed though, just the Checkout and Revert commands added. P4 is really great but I wouldnt use it for my own projects ....its overkill:)

Share this post


Link to post
Share on other sites

After switching to Mercurial, I cannot see why should I go back to P4. I was lured into trying it as it was rumored to be "easier". I found myself the hard way this was not the case.

I strongly suggest Mercurial+TortoiseHG.

Share this post


Link to post
Share on other sites

Thanks to your replies and different opinions, I am going to try some of them, the perforce, git and mercurial, but as I saw in git webpage, that is very well done and explained, with a simple tutorial and a free book, I think that at the end will choose it, but anyway I'm going to try them all and see which one feels better for one-person programming.

Share this post


Link to post
Share on other sites
git is the latest trendy version control system, but tbh, for a single person project, you might want to try out Subversion.

Also, for administering it without dealing with the command line or services, I highly recommend SCM Manager (http://www.scm-manager.org). Whilst I only use it for SVN (because I am not trendy), it can support quite a few version control systems.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement