This seems really cool, I'd love to see it integrated with GitHub so that when I push my code to my repos it notifies CommitQ of the diffs and it can process them. I don't need a new host for my code, but more insight into what's going on there? Yes, please, I'll certainly pay for that!
Interesting project. Semantically organizing code is a longstanding problem in the world of software development. The primary concern with this project, or any other attempts at solving this problem is practicality and actual utility.<p>I suppose utility rests on whether you treat it as a collaborative development platform or merely as a host for your code (and keep track of discussions, proposed changes, and what-not through other means).<p>Essentially, whether or not it turns out to be useful assumes that it is used as the central collaboration platform to an extent. Though on the other hand, merely tracking changes on a higher-level could be sufficient.
Giving more "engineering" tools to devs is finally getting more attention which is awesome. I'd love to use this kind of tech but don't want to move source repository host and also want something that would work with my stack and intricately so, ie providing more than just code modification but introduction of potential security holes and/or perf issues (like doing database queries in for loops, etc), regardless of whether it was RoR or ASP.NET MVC or X, Y, Z.<p>I would be really interested in some kind of open source project that offered this kind of tooling with said vision that I could use and commit back to...
This is pretty amazing. I regularly have conversations with other programmers where we talk about needing this sort of tool.<p>Question: For every language, are you writing a full-blown language parser to get the semantic information you need? Can I hook in new parsers to add language support?
The semantic diff is pretty cool. It will probably be pretty hard to apply that to C (cpp) and Lisp (macros, and especially the programmable readers in some Lisps). But maybe we don't actually need a solution for the general case and displaying "most" changes in a semantic way is enough.<p>I imagine these higher-level diffs could be especially useful for things where one doesn't have that much insight into the source code - for example, scanning for API changes between two versions of a Framework (where maybe even displaying only changes to public methods/exports would be enough). In any case, diffs on the AST level seem like a good, and quite under-explored, idea.
Cool stuff! This is something that can be improved instead of huge line diffs. For some input, I generally don't use `git diff`, instead I alias `git df` to `git diff --word-diff`, which makes it so much easier for me to see my changes.<p>I'd love to see you open source the diff part of things and figure out a different monetization process. If you can solve looking at diffs well, I'd love to see it on every code website - github, bitbucket, etc.
Plastic SCM's free-as-in-beer desktop diff/merge tools include enhanced diff functionality, including help when refactoring:<p><a href="http://plasticscm.com/features/xmerge.aspx" rel="nofollow">http://plasticscm.com/features/xmerge.aspx</a>
You might find this one interesting too: <a href="https://news.ycombinator.com/item?id=5520321" rel="nofollow">https://news.ycombinator.com/item?id=5520321</a>. It is about the new desktop semantic merge tool...