3 ms·
Improving on "git not handling non-text files" is a semantic understanding aka parse step in between the file write. Take a docx, write the file, parse it into
by samuelstros 6mo ago
Improving on "git not handling non-text files" is a semantic understanding aka parse step in between the file write.
Take a docx, write the file, parse it into entities e.g. paragraph, table, etc. and track changes on those entities instead of the binary blob. You can apply the same logic to files used in game development.
The hard part is making this fast enough. But I am working on this with lix [0].
[0] https://github.com/opral/lix https://github.com/opral/lix
- jayd16 6mo agoWhat's the plan for large files that can't be merged? Images, executable binaries, encrypted files, that sort of thing?
- samuelstros 6mo agoSimple left or right merge. One overwrites the other one. The appeal or structured file formats like .docx, .json, etc. Images are unstructured and simple "do you want to keep the left or right image" is good enough.
- jayd16 6mo agoThat doesn't really address the game dev use case then. Artists and designers want to prevent conflicts, not just throw away half the work and redo it.
- samuelstros 6mo agotrack the source of the asset and it works. take ui design. dont track the svg. track the design file itself
- jayd16 6mo agoOk well what if I draw the foreground and you add something to the background and now my changes visually block your changes? Even if the file is merged, our work is wasted and must be redone. P4 is often popular in industry because artists can lock files and inform others that work is being done in that area. If you actually want to capture those customers it's a use case that needs to be addressed.