Earlier quoted context omitted.
I feel like submodules could be a lot easier to work with if the git command made it easy to update all submodules in one go based on branch head for the submodule.
That and a way to recursively commit/push (i.e. make a change within a submodule, commit in one step with the same message in the parent submodule). Right now, if you want to push a change to a file in a submodule such that it propagates to the users of your repo, you have to: 1. Change the file 2. Commit within the submodule 3. Push the submodule 4. add the submodule change in the outer repo 5. commit in the outer r…
Lore – Open source version control system designed for scalability
501–510 of 717 posts
Re: Lore – Open source version control system designed for scalability
#502Earlier quoted context omitted.
My teaspoons are terrible at peeling potatoes. Git has no built in authentication or RBAC. Thats not what its for. Its flat file source control. I swear loads of people havent a clue how git works or why it exists...most of the git based cloud services out there are 90% additional crap bolted on.
>Thats not what its for. This is a weak argument you could use for any missing feature.
Re: Lore – Open source version control system designed for scalability
#503Earlier quoted context omitted.
> this is not intended to compete with Git for general software development. This is a competitor with Perforce for game development. Well, it is intended to compete with Git for version control. It's just that Git happens to be so bad at some aspects of version control that it isn't used much in those cases. There's no good reason that Git couldn't be good at versioning binary files, or splitting up large projects.…
It feels like a Pareto Principle problem. 80% of source control is text files that can be three-way merged as text files, but a lot of hard problems are in that 20% that isn't. Git does very well at the 80% and with tools like custom merge tools and git lfs/annex and git sparse "cone" checkouts can get pretty close to hitting the 90 or 95% case. But yeah, so many of those extra tools in that 80 to 90% area are awful…
Re: Lore – Open source version control system designed for scalability
#504Earlier quoted context omitted.
That always seemed crazy to me about git. Permissions are a pretty basic enterprise offering. Does Gitlab do better with this?
I guess it's because git wasn't developed as enterprise software.
Re: Lore – Open source version control system designed for scalability
#505Just today as I pushed some changes to Github, I was thinking how user-unfriendly Git's UI is: Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 10 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 290 bytes | 290.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (2/2), completed with 2 local obje…
I think we can all agree that information should be behind a -v CLA. It's probably just something no one has thought of doing. I've learned over the decades to just ignore it.
Re: Lore – Open source version control system designed for scalability
#506Earlier 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?
Not exactly but if you're not obsessed with maintaining a monorepo, Gitlab allows you to organize your repos around organizations, which then has granular permissions. The underlying primitives is still Git, of course, so you can just submodule as necessary.
Re: Lore – Open source version control system designed for scalability
#507Kind of funny that it's on GitHub no hate. Missed opportunity for Lorehub.
Re: Lore – Open source version control system designed for scalability
#508Earlier quoted context omitted.
P4 is also really well integrated into IDEs and UE Editor so that I don't need to think about it as much as I need, compared to Git. Locking assets, releasing them, merging into streams etc., is overall pretty streamlined. When it works, it's great, but when it doesn't work though, it's pretty hard to diagnose issues.
One of the many points of git's design is that most of the steps you need to do in P4 are not necessary at all. You do not "lock assets", you do not "release them", there is no "merging into streams" equivalent. The entire workflow with git avoids huge amounts of the cognitive load of using P4, which in turn means that integration with IDEs becomes much less important. I worked with P4 around the time I first started…
Uhhhhhh. Locking binary assets is ABSOLUTELY NECESSARY in Git. Except Git can't actually do that. So what locking binary assets Git looks like in practice is an unenforced message in Slack saying "hey I'm changing this file please no one else touch it".
Git's design provides zero value and zero affordances for solving the very very real problem of unmergable binary assets.
> there is no "merging into streams" equivalent.
Weird take. Streams is Perforce's mediocre take on Git branches. P4 stream merge is close enough to Git branch merge that I would say they're in the same family.
> P4 struck me as "what a for-profit corporation would imagine a VCS should be like, if they'd never seen git".
And yet Git has almost zero mind share in gamedev because it doesn't solve the problem.
P4 is somewhat mediocre. And it's made zero improvement in ~8 years since getting bought up by PE.
But I can also teach a game designer or artist who has never heard of source control how to correctly and safely use P4 in about 15 minutes. Meanwhile you can tell Git is badly designed because there are 10,000+ tutorials explaining how easy it is! Spoiler: things that are actually easy do not need 10,000 tutorials telling you that it is easy.
Re: Lore – Open source version control system designed for scalability
#509Earlier quoted context omitted.
Does it actually restrict read access to specific directories? Unless I missed it, I didn't see anything in the docs about that.
"write access controlled at the branch/tag/file/directory level, including who can rewind, create, and delete branches/tags."[1] [1] https://gitolite.com/gitolite/overview.html#what-is-gitolite
Re: Lore – Open source version control system designed for scalability
#510For 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…