Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don't see how this could ever work on evolving languages, different GIT versions would produce different commits and read commits differently based on the latest C++ standard. This would potentially lead to version control bugs where different GIT versions creates different results from the same commit, that is horrible, version control needs to be 100% bug free in that regard.

The only reasonable application would be to use a language AST parser to better identify relevant text diffs, but the commits still needs to be stored as text.



This doesn't really make sense, because in order to have those code changes compile correctly, there must be a corresponding commit to CI config that changes the complier version or compiler switches for the new language version. The "semantic-diff-er" can also be driven by that commit such that it uses the correct language version.


It's non trivial to support multiple versions of the same language on a host system. You have to account for dev machines and workflows as well.

Docker can help with this, but often devs don't want to run a container to build their code. It's a hard habit to change.

Now, consider how difficult it would be to get the differ to understand where to find compiler versions.


Commits could be stored as is, the difference would be that diffs are clearer when presented to a human.


How is this different from any other problem that is already solved by version pegging?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: