News for hackers. Stuff that matters.
Re:What’s wrong with Git? A conceptual design analysis (2016) by satya71 on Tuesday April 27, 2021 @05:59PM (#26962275)
What you’re looking for is called Perforce.
Re:What’s wrong with Git? A conceptual design analysis (2016) by dijit on Tuesday April 27, 2021 @06:11PM (#26962445)
Perforce for assets? Sure.

Perforce for code? It tries.. but, no thank you. Even if the client was good (it's really not, and will spin a CPU core when it detects a network hiccup) -- it still has a frustrating workflow paradigm, p4ignore is configured per-client, everything is read-only (leading to ugly context switches unless your editor directly integrates with p4) and the command line is so terrible that I think it was actually a joke that someone ran with.

No, perforce is not what you want, without even going into the "decentralised vs centralised" aspect of it.

Re:What’s wrong with Git? A conceptual design analysis (2016) by andromeduck on Tuesday April 27, 2021 @07:27PM (#26963376)
It's not p4 but Google3 + Hg CLI was way more fluent than I expected. I wish the third party portion were available as a service outside.
Re:What’s wrong with Git? A conceptual design analysis (2016) by dijit on Tuesday April 27, 2021 @07:29PM (#26963405)
Well, piper is "perforce that doesn't suck (and costs a heck of a lot less)"

I wish it were public.

Re:What’s wrong with Git? A conceptual design analysis (2016) by jaaron on Tuesday April 27, 2021 @09:35PM (#26964339)
Yep. There are reasons Perforce is so prevalent in game development, even if we gripe about it:

- Large binary asset support.

- Exclusive locks for binary assets.

- Speed. When configured properly, it's very fast, particularly for large repositories.

- Tooling support. It's nearly ubiquitous in gaming.

I'm working on repositories that are 100+ GB and need to support both programmers and artists. Git just isn't the right tool.

We do use git for backend server-side projects. Having to support two different version control systems is a pain, but, again, it's useful to have the right tool for the job.

Re:What’s wrong with Git? A conceptual design analysis (2016) by jayd16 on Tuesday April 27, 2021 @11:23PM (#26965183)
Git LFS is really robust these days. Personally I think its faster then Perforce now. Reconciles can hang and there's just so much more that can be done in git without hitting the network.

GitLFS supports locking too.

Re:What’s wrong with Git? A conceptual design analysis (2016) by traviscj on Tuesday April 27, 2021 @10:43PM (#26964886)
I really love the pragmatism behind saying: yes, X sucks, but it’s still useful.
Re:What’s wrong with Git? A conceptual design analysis (2016) by m463 on Wednesday April 28, 2021 @12:49AM (#26965715)
I like that a changelist is one atomic unit in time across everything. Don't underestimate the number of footshoots this avoids. and you can build your tooling on top of it.
Re:What’s wrong with Git? A conceptual design analysis (2016) by satya71 on Tuesday April 27, 2021 @10:34PM (#26964813)
Perforce has a product called Helix4Git, which apparently allows you to use Git with Perforce. Is it something you tried?
Re:What’s wrong with Git? A conceptual design analysis (2016) by jayd16 on Tuesday April 27, 2021 @11:26PM (#26965199)
Its still pretty fragile but it does work. I wouldn't recommend it for daily usage though. Too many things in p4 show up as impossible breaking changes to the git repo.
Re:What’s wrong with Git? A conceptual design analysis (2016) by icedchai on Tuesday April 27, 2021 @06:42PM (#26962888)
I worked at a company that used Perforce. It took 2 weeks to get a branch created. No thank you.
Re:What’s wrong with Git? A conceptual design analysis (2016) by dijit on Tuesday April 27, 2021 @07:12PM (#26963205)
Really not defending perforce, but "branches" are not how you usually work, a branch is basically a fork of the repo, it's almost impossible to reconcile.

"Branches", the way we use them in git are more like perforce Shelved CLs.

Re:What’s wrong with Git? A conceptual design analysis (2016) by Jochim on Tuesday April 27, 2021 @07:53PM (#26963643)
It's worth pointing out that shelved changes don't have any history though, so cross your fingers to make sure you don't accidentally delete/overwrite something.

Fwiw the only major issue I've had with branching is the fact its a full fat copy of your source which can end up taking up a load of space depending on how large your application is post build and how many binaries you dump into perforce.

They seem to be pushing towards "streams" now, but I've heard they make it easier to create development branches but haven't worked with them to find out.

Re:What’s wrong with Git? A conceptual design analysis (2016) by icedchai on Tuesday April 27, 2021 @07:19PM (#26963291)
Yes, I remember using "shelves" a lot. The branch was created for a major refactor of the code base, and the team I was on moved to that branch. Not sure what happened to it. I hated that company and left after a few months.
Re:What’s wrong with Git? A conceptual design analysis (2016) by koenigdavidmj on Tuesday April 27, 2021 @10:35PM (#26964824)
I wonder if it’s a workplace I worked at. We ended up having a bunch of generic branch names (one org had colors, another had star-related things), and when a project was done, they just used that branch for something else.
Re:What’s wrong with Git? A conceptual design analysis (2016) by jayd16 on Tuesday April 27, 2021 @08:01PM (#26963723)
Nah, shelves have no history. They're more like a patch. P4 streams are the closest to git branches.
Re:What’s wrong with Git? A conceptual design analysis (2016) by TheRealDunkirk on Wednesday April 28, 2021 @10:53AM (#26970056)
I'm sure that using commercial source control software doesn't HAVE to suck, per se, but the kind of companies that can afford Perforce are usually so bloated and political that you can't avoid that kind of bureaucracy.
Re:What’s wrong with Git? A conceptual design analysis (2016) by m463 on Wednesday April 28, 2021 @12:53AM (#26965738)

  p4 branch <name>
  (fill out the mapping)
  p4 integrate -b branch //...
Re:What’s wrong with Git? A conceptual design analysis (2016) by icedchai on Wednesday April 28, 2021 @02:06PM (#26972259)
I wonder what took the "IT department" so long then...
Re:What’s wrong with Git? A conceptual design analysis (2016) by jayd16 on Tuesday April 27, 2021 @11:35PM (#26965255)
P4 is ok even if I find it buggy and slow.

Ironically, what files count for p4ignore isn't even centrally configurable. You can't configure diff tools or merge strategies centrally either.

Because every commit has to hit central, receive hooks are actually useful and you can do big branch remappings in a more seamless way than adding a git submodule.

I forget where line ending configs live.

P4 solves some of these things but not everything and adds its own headaches.

Re:What’s wrong with Git? A conceptual design analysis (2016) by secondcoming on Tuesday April 27, 2021 @06:34PM (#26962778)
Last time I used Perforce was around ~2006 in a mobile OS company of approx 3000 devs. Boy was that thing slow.

Still though, P4Merge is my go-to diffing tool.