Jump to content

  • Log In with Google      Sign In   
  • Create Account

Source Control - Perforce


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
16 replies to this topic

#1 n00by2077   Members   -  Reputation: 135

Like
0Likes
Like

Posted 15 January 2013 - 07:00 AM

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? 



Sponsor:

#2 Faelenor   Members   -  Reputation: 396

Like
0Likes
Like

Posted 15 January 2013 - 07:10 AM

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.



#3 NightCreature83   Crossbones+   -  Reputation: 2853

Like
1Likes
Like

Posted 15 January 2013 - 07:22 AM

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.


Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, Mad Max

#4 GuyWithBeard   Members   -  Reputation: 828

Like
1Likes
Like

Posted 15 January 2013 - 07:22 AM

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/



#5 Faelenor   Members   -  Reputation: 396

Like
0Likes
Like

Posted 15 January 2013 - 07:42 AM

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, 15 January 2013 - 08:11 AM.


#6 n00by2077   Members   -  Reputation: 135

Like
0Likes
Like

Posted 15 January 2013 - 07:58 AM

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.



#7 Aiive   GDNet+   -  Reputation: 917

Like
1Likes
Like

Posted 15 January 2013 - 08:06 AM

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.)

#8 GuyWithBeard   Members   -  Reputation: 828

Like
0Likes
Like

Posted 15 January 2013 - 08:08 AM

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.



#9 NightCreature83   Crossbones+   -  Reputation: 2853

Like
1Likes
Like

Posted 15 January 2013 - 08:21 AM

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).


Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, Mad Max

#10 Sean T. McBeth   Crossbones+   -  Reputation: 1541

Like
2Likes
Like

Posted 15 January 2013 - 09:11 AM

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.


[Formerly "capn_midnight". See some of my projects. Find me on twitter tumblr G+ Github.]


#11 EWClay   Members   -  Reputation: 659

Like
0Likes
Like

Posted 15 January 2013 - 09:35 AM

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.

#12 HAM   Members   -  Reputation: 176

Like
0Likes
Like

Posted 15 January 2013 - 11:32 AM

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.

#13 gekko   Members   -  Reputation: 478

Like
0Likes
Like

Posted 15 January 2013 - 10:44 PM

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.


-- gekko

#14 Aliii   Members   -  Reputation: 1446

Like
0Likes
Like

Posted 16 January 2013 - 12:18 AM

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:)



#15 Krohm   Crossbones+   -  Reputation: 3129

Like
2Likes
Like

Posted 16 January 2013 - 02:21 AM

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.



#16 n00by2077   Members   -  Reputation: 135

Like
0Likes
Like

Posted 16 January 2013 - 02:55 AM

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.



#17 Karsten_   Members   -  Reputation: 1612

Like
0Likes
Like

Posted 16 January 2013 - 05:18 PM

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.

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS