The approach of having everything next to the code seems good in theory but it's just a nightmare in practice for big projects. Imagine your git history filled with commits from project managers where every little change in requirements and docs has its own commit. We've tried that and ended up having to rebase our branches multiple times a day while we lost the overview of code changes completely. The main issue tha…
Version Control for Everything
51–55 of 55 posts
Re: Version Control for Everything
#52I really really want to do version control for everything, but most of my data is binary so it really doesn't agree with git; I tried using LFS as well but it didn't work for my specific workflow. Hopefully something less text oriented comes along in the future. Lore looked interesting for this purpose. https://github.com/EpicGames/lore
Re: Version Control for Everything
#53Earlier quoted context omitted.
Funnily enough, git doesn't actually allow you to 'change' any history. It allows you to make new history, and the old history might get garbage collected eventually.
It does (let you change history), but in a tamper evident way.
Basically, almost everything is immutable in git, apart from tags and branches: these are mutable pointers to immutable commits.
Re: Version Control for Everything
#54The approach of having everything next to the code seems good in theory but it's just a nightmare in practice for big projects. Imagine your git history filled with commits from project managers where every little change in requirements and docs has its own commit. We've tried that and ended up having to rebase our branches multiple times a day while we lost the overview of code changes completely. The main issue tha…
Maybe what I'm saying is stupid or malinformed, but why not having the doc as a separate repo, and set it as a submodule to the repo where the code lives? Agent should be able to push code to the submodule independently from the code, and it should not be problematic for the main repository
Actually I would suggest that to one of the projects that I'm currently involved in
Re: Version Control for Everything
#55Earlier quoted context omitted.
Hash the files and commit the hashes. Store the large files somewhere convenient, keyed by the hash. Voila, you’ve invented an LFS.
That's just how plain git works anyway. Commits are just a tree of hashes which refer to the blobs in the objects store. Diffing is done on demand. If you can implement diff for binary files, then you've got git.