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
611–620 of 717 posts
Re: Lore – Open source version control system designed for scalability
#612Earlier quoted context omitted.
No they're saying that it will explicitly record the move, unlike Git which has to guess (it often fails).
Git does record the move, and you don't have to use the git ui to do it. Lore says it requires `lore stage move` to record it. More details in the reply to your other comment.
Re: Lore – Open source version control system designed for scalability
#613Re: Lore – Open source version control system designed for scalability
#614Earlier quoted context omitted.
Banks absolutely love security by obscurity. No clue why.
security by only obscurity is bad. Having both is better. For example say I have a hollowed out wall that is hidden behind a painting. Just putting my money in the hole is bad once it’s found it’s gone but if I put my money in a safe in the hole. Well now you need to find it and break the safe and a hidden safe is objectively better than just having a safe on the floor because you need to find it first.
Re: Lore – Open source version control system designed for scalability
#615Why development of lore happens on git/github ?. Subversion is hosted on subversion server. Same applies to mercurial or fossil. I'd expect that VCS project is self-hosted.
They have probably enough _bigger_ projects that dogfoods it.
Re: Lore – Open source version control system designed for scalability
#616Earlier quoted context omitted.
> You do not "lock assets", 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 "m…
> 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. 100% and LOL. Sometimes I wonder where we'd be if Mercurial (hg) had won…
If you're not sick of hearing about it, jj is git-compatible, and borrows heavily from hg's UI and terminology. It's CLI is concistent, logical, and easier to pick up than git.
Re: Lore – Open source version control system designed for scalability
#617Earlier quoted context omitted.
One thing I don't like about Git LFS is that there is no way to delete very old history. It's the 'git spirit' to not allow deleting history, but in the context of LFS it sounds horrible. Especially if you use Github. If there is an asset that is updated very frequently in the early stage of development, you'll be charged for all the storage for the rest of the repo's life. That happens a lot in gamedev: most assets…
> One thing I don't like about Git LFS is that there is no way to delete very old history. It's the 'git spirit' to not allow deleting history, but in the context of LFS it sounds horrible. Especially if you use Github. At my dayjob we used Git LFS for a bit, but foud it unworkably clunky - we eventually found it easier to just make a separate "LFS" repository and add it as a submodule to the main monorepo. Now we ca…
With the giant caveat that doing this effectively breaks the history of the parent project. TBF that's not really any different than rewriting history and later discovering that an old version of a lockfile no longer works but I still think it's worth mentioning.
Re: Lore – Open source version control system designed for scalability
#618Earlier quoted context omitted.
don't think it supports branches it's also tough when you have 1TB of data, over 1mm files and you might want to lock hundreds files in one go
I mean, Git LFS 'supports branches' in that the LFS content identifiers are checked into git as files and Git operated normally; LFS is just a way to replace those content identifiers with the actual content, and then vice-versa when you commit. I think branching is the one thing that didn't get more complicated with LFS.
Re: Lore – Open source version control system designed for scalability
#619Earlier quoted context omitted.
You really can't merge binary data, such as textures, meshes, audio, etc. It doesn't matter if you base64 encode the data and stuff it in a text file: it's a jumble of data (assuming this is the implication of what Blow did).
Tools that support non-destructive editing workflows could in theory provide limited diff and merge capabilities on their internal graphs pf non-destructive operations. E.g. Photoshop could in theory merge two files where unrelated layers have changed. But nobody is actually implementing this because it would be lots and lots of work.
At least for code, I know people have attempted format-aware, structural diffing for a while. The Lisp communities tried a few times, because s-exps are trivial to turn into trees. None became the standard diff tool, though. However, modern tools like difftastic used tree-sitter to bring a lot of language-aware diffing to the masses.
- https://docs.racket-lang.org/sexp-diff/index.html
- https://github.com/michaelw/mw-diff-sexp
- https://github.com/lambdaisland/deep-diff2
Re: Lore – Open source version control system designed for scalability
#620For 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…
A significant part of my job, unfortunately, is helping people fix their workspaces when Perforce (p4) goes bad, or creating guardrails and wrappers to stop Perforce doing bad things. In fairness, p4 predates most of the VCSes we consider "modern", so I empathize with a lot of the underlying architecture decisions. However, it has and continues to utterly fail at improving at a reasonable pace. For example: - p4 trac…