GitHub or Perforce?

Hi there,

I was wondering if someone have some recent experiences with choosing GitHub or Perforce as Source Control for small teams (5-10 people)?

And if one were to choose BitBucket instead of GitHub for private repos, are there any obvious disadvantages to that? Because the Payment plan for Bitbucket allows private repos for up to 5 people which sounds kinda cool… But wanted to hear what others prefer and why before i make my pick.

/Jonas

hey Jonas -

Perforce = free for 5 or less. I do not know the cost of 5+ off the top of my head.
I use Perforce. I like it. It works well, and, you can use a free hosted server from Amazon if you want with it.
Perforce also has a team that will set the thing up for you lol. They are really an amazing company and have a great product.

Git … well … $100 off the bat just to make it private. Not a bad solution tho. I have never had issues with Git other then …nope, none. lol

There is also gitlab.com which has more space (10 GB) than bitbucket (2gb) for there free private accounts . I think bitbucket even restricts space to 2gb for paid accounts (could be wrong though)

The question should be Git or Perforce, because GitHub is a Hosting site, and you’ll need to host your Perforce server somewhere.

I have tried several Git Hosting services. I settled on Unfuddle. It also provide issue tracking. For $20 a month it’s been great.

I used to use Perforce exclusively but it’s workflow for artists can be annoying, because they have to checkout files before they modify them. With git, you just make your changes and it’s tracked.

You’re right, the question should be Git or Perforce. I can’t change the title though hehe.

Anyway, i checked out the 7$/month plan at GitHub and tried to figure out how the workflow is in ue4. As i used Perforce before, i was initially a bit confused by the fact that i have to check things into a local repo, and then in the Git Desktop (or similar like Tortoise or whatever) do the sync to get it uploaded to the remote repo at GitHub. While this might actually be quite nice for an artist, it’s a bit anoying to do in ue4.

I saw that there’s another option though on this thread, which i unfortunately haven’t had time to test out myself, but will give it a go soon

As i was writing above, there’s a cheap 7$/month option for up to 5 people at GitHub. Where did you find the 100$ price? About Perforce at a free hosted server from Amazon, can you provide a link to that? I wasn’t able to find that. All i kept finding was paid servers.

And thanks guys for some valuable info on Git and Perforce. It’s really new to me, so every bit of info on how to make the best possible collaboration setup is welcome.

I use the Github private service, the main thing that appealed over Bitbucket etc. is that it scales. You can add capacity in 50GB chunks for $5 a month.

I also use Github a lot so I’m happy to contribute something back.

The workflows for Perforce and Git are different, each have their strengths. Perforce is often used on large projects because the inconvenience of having to check out items trumps the horror of merging when you have hundreds of people working on the same base. Git works extremely well for small, distributed teams.

The UE Editor Perforce integration is very good, if you try and edit an asset that isn’t checked out you just get a prompt that’ll check it out for you.

When i was looking at Git vs Perforce, i found the Git price of $100 for “making your project private”.
It was my understanding, that, unless you paid for Git, your projects would be view unless you paid to set them to private.

For the amazon thing, that was from a discussion from a rep at perforce. They did a followup call with me asking about usage and “how it was going” type thing. I explained setting up my own hosted server was a real pain in the rear. They explained that you can use the Amazon service (the free servers) to host from without issues. They were even kind enough to set it up for me and demo out what perforce was able to do for me.

Maybe thats why i went with Perforce. The call is really what sold me on it. Amazing group of ppl that are so willing to help get things working “as intended”.

I just looked at Git again …

In order to make this repository private, you’ll need to upgrade your account.
This will cost $7/month and you’ll get unlimited private repositories. You can cancel anytime
.”

I dont know where i saw that $100 thing from, i may have been looking at a bigger account upgrade at the time.

Is there a way to avoid having someone make a change in a file that is already being modified by someone else? I mean in Perforce i check it out, and then it’s locked by me. So anyone trying to do changes to that same file will not be allowed to make changes to it. In Git, this seems to be a thing that you will only find out when you check in and there’s a conflict. Or am i missing something basic? Again, thanks for the input.

Basically, no. Git is fundamentally different with it’s distributed architecture. It puts each developer in the position of effectively working on their own fork of the whole codebase and merging data back and forth with the central server version.

Big advantage is that it works offline, it’s great for projects with mostly text assets that merge easily, and with distributed development teams. It’s not terribly well-suited to binary asset heavy projects like games, especially with big teams.

Not to say it doesn’t work, it’s just Perforce is better. A AAA project with several hundred into thousands of developers touching the codebase, Git is a huge nope.

Why do you insist on calling GitHub Git? GitHub is a hosting site. Git is an open-source software, you can installing it wherever you want and there are other hosting sites besides GitHub.

sorry, i was saving myself 3 keystrokes. feel better now?

Personally I use Bitbucket when I need private repos and Github otherwise. There’s no downside to Bitbucket’s hosting unless you need more than 5 users per repo. Also it supports Git LFS now which is pretty important for games.

Still a big fan of SVN actually :slight_smile: (runs for the hills…)

Perforce isn’t free for 5 users at all, it has a workspace limitation. Which can be quite a big deal!

oh, i guess the Perforce rep that called me was wrong when he said it was free for 5 and under users … my mistake.
and the website:
Free for Small Teams: Up to 5 Free
Perforce Helix SCM and content collaboration solutions are free for up to 5 users.

my bad …

You have a very fitting nickname. :slight_smile: The 20 workspace limitation is still documented on their site here. It was much more obvious on their old site and I’ve contacted them about this before. Here’s their response:

No need to be sorry! :wink:

My personal preference would be P4V for a team of just a few.

git is an open source version control, there are many many hosting sites which you can use it with, or put it on your own server. GitHub is one hosting site. It’s not about keystrokes.

It’s not about keystrokes, they are two different things. For instance. I use Unfuddle, with a git repository because I prefer it over GitHub.

I use MS Team Services… Free GitHub (unlimited private) for up to 5 peeps working on a project. Works well with VS Studio.

teak

For solo use git-lfs (recently supported on github) is a great choice.

For teams, Perforce is a better choice, due to the locking of binary assets.