For context, since a lot of people on HN haven't worked on games - this is not intended to compete with Git for general software development. This is a competitor with Perforce for game development. Git is fine for text based files like code, but it's really bad at stuff like textures, 3D models, audio files, and other non-text files that game developers need to collaborate on. For example, one artist might need to o…
Lore – Open source version control system designed for scalability
381–390 of 717 posts
Re: Lore – Open source version control system designed for scalability
#382Earlier quoted context omitted.
I think they're saying the opposite. It won't detect a filesystem-level move. It will simply record a delete and create without the relationship. Git does record the rename, though: ~/work/tmp/repo git init . --quiet ~/work/tmp/repo master echo 'foo' > foo.txt ~/work/tmp/repo master? git add . ~/work/tmp/repo master+ git commit -m "create" --quiet ~/work/tmp/repo master mv foo.txt bar.txt # no `git mv` ~/work/tmp/rep…
> Git knows that the file was renamed even without using git to do the rename. No it doesn't. Git knows that file A was deleted and file B was created, and if they have the same content then it will guess that it was a rename. But it's a heuristic that doesn't always work. E.g. I think it doesn't try to guess for large diffs, and it doesn't work if you modify the file in the same commit.
However, if you just move or rename a file, git does recognize that, and it doesn't require any manually annotation.
Lore needs you to tell it that you're moving or renaming. It's not the end of the world, but it's a real pain if other tools are operating on the file. You will need to go back and manually annotate those operations if you want it to preserve the relationships.
Re: Lore – Open source version control system designed for scalability
#383Earlier quoted context omitted.
Something else that git isn't good at: permissions. In gamedev, you might have proprietary work that you want to restrict to certain users. In P4, you can add restrictions to certain directories for only those who have signed the required NDAs. That's not something that you can do in git: it's all or nothing. Maybe you can set something up with submodules, but that's going to upend your repository if you hadn't plann…
That always seemed crazy to me about git. Permissions are a pretty basic enterprise offering. Does Gitlab do better with this?
Re: Lore – Open source version control system designed for scalability
#384We had to use Perforce (Helix Core Cloud) at my last game studio, and it is the de facto industry standard that most of your creative staff is already familiar with. The programmers don't love it, but they don't rule the roost in games. It's also the safe, verified default for working with Unreal Engine 5. It does show its years though. We were one of the first users of the Perforce cloud offering, as we were small a…
I just took over a team that was using Git, and yes, I know it's everyones favourite VCS but for Games it's just about the worst thing available. I could measure art reviews with git in hours, now with perforce its seconds. I wish I was joking.
All the interesting tools that UE5 uses (Horde/UBA for a clean example) will require perforce.
but, Perforce hasn't done anything with its industry position. It's expensive as hell and they don't have operational costs related to hosting (you have to host it yourself, and honestly, for performance reasons you really want to- despite it being a real pain to maintain passed first install). There's some echoes of stuff they try but they have absolutely no solid direction and nearly everything they've been doing cuts against common sense or their userbase, while their core product keeps getting renamed but no actual improvements.
It's a lesson in how proprietary software is really a prison.
I wish I could use a better code review tool than Swarm.
I wish I could integrate SSO without weird LUA hooks which cause segfaults on my machine (enough of them causing a perforce deadlock).
and I wish I could run a distributed storage backend instead of relying on a big fat SSD and journalled backups that can't be restored because licenses are tied to the IP address of the main server.
It's forgotten technology, and the company that operates it is a zombie.
Re: Lore – Open source version control system designed for scalability
#385Earlier quoted context omitted.
Has nothing to do with Perforce being the Oracle of VCS because it’s baked into the big 3? Riiiight.
Well another factor could be that Perforce is a lot easier to use than Git - Actually, would like to think am good with git, but sometimes just wonder how it became so big considering the simple or important things (like check-ins and merges) are so complicated.
Delta patches become effortless
Re: Lore – Open source version control system designed for scalability
#386Re: Lore – Open source version control system designed for scalability
#387Earlier quoted context omitted.
Something else that git isn't good at: permissions. In gamedev, you might have proprietary work that you want to restrict to certain users. In P4, you can add restrictions to certain directories for only those who have signed the required NDAs. That's not something that you can do in git: it's all or nothing. Maybe you can set something up with submodules, but that's going to upend your repository if you hadn't plann…
That always seemed crazy to me about git. Permissions are a pretty basic enterprise offering. Does Gitlab do better with this?
The maximum granularity is also 'per repo'.
Re: Lore – Open source version control system designed for scalability
#388Earlier quoted context omitted.
Objects are your files. Underlying git is a content-addressable filesystem. The objects are referenced by trees. A tree is just a directory. The trees are then referenced by commits and/or tags into a DAG with named pointers into various parts of it (which are your branch and tag references): https://git-scm.com/book/en/v2/Git-Internals-Git-Objects Because it would be terribly in-efficient to have a bunch of loose ob…
Now explain this to an artist with very little programming experience beyond what they picked up from their coworkers. I don't mean to be too glib, but some programmers have this decrepit idea that anyone working with computers should understand programming to be able to fully utilize them. I worked in gamedev, and many of my colleagues were brilliant, but your comment would read as complete nonsense to many of them.…
Re: Lore – Open source version control system designed for scalability
#389This is a very promising announcement for Unreal game development specifically. For any other purpose I wouldn't care as much. Perforce definitely needs a challenger. It is not the incumbent because it is particularily simple to use or administer. Git is actually way simpler when it comes to branching operations for example. The reasons why p4 is often preferred in gamedev have already been mentioned in other comment…
Re: Lore – Open source version control system designed for scalability
#390Perforce is a necessary evil in games. Git is simply not suitable. So this is already a huge win.
I main that Git is - at absolute best - simply mediocre. It's not a "good" VCS tool. It is merely adequate.
I would love to see Epic go for a full Git killer.
It looks like Epic has a created a virtual file system interface that is cross-platform. FRICKIN SWEET. This is a critical component to making a VCS tool that doesn't suck. And there has not been an existing open source solution to it.