Why not just have the EDA tools understand (or have plugins that do) how version control systems work and provide diff'ing abilities? The EDA tool would have to provide the diff'ing ability but have API hooks for interfacing with version control systems.
LabVIEW can do diffs and it integrates with version control systems. LabVIEW is almost completely visual and it'll show you what changed between versions if you ask.
Because EDA tools and their authors are stuck in a 1990s mentality. Usability outside of improved autorouters has not significantly improved in many years. I fear that the tool authors just don't "get" the development processes that have emerged in the last 20 years.
There's some other avenues that EDA tools also aren't taking that could be great market opportunities for some of the small to mid-range players to capitalize on.
Besides just modern version control systems, most big companies have internal teams to manage schematic symbols and layout footprints for all parts they use. There's outrageous duplication of effort going on. If there was a "cloud" provider who could do this for you, it'd cost each company less and the service could be better. There'd have to be customization and an API so each company could customize their access and data stored, but that's easier than actually selling this idea :)
The Upverter (YC W11) guys are working on a lot of these issues - their tool aims to be a sort of github for electronics, with browser based EDA tools:
If someone's looking for a really cool project to make a name for themselves, this seems like a great candidate. I want to see a git GUI that has a fully integrated diff viewer for EAGLE files, with tracking of electronic subsystems/components as first-class entities.
I don't really get what they're saying with "visual diffs". Normal practice is to have a side-bar with a list of differences between versions. That makes it pretty clear what was added or removed. Using colours kind of fails because (for just a two sided PCB) you have two copper sides, one (maybe two) component sides, and these already use a bunch of different colour.
Whatever you do with "visual diffs" needs to work in monochrome - you have people working with traditional blueprints, or with mono printers. Heck, you still (in the 21st century!) have people using fax machines.
This all sounds really negative, but it isn't. It's a great idea, I just hope they can make it work.
I started out thinking that visual diffs for PCB artwork was a great idea, but as I think it through, I don't see a whole lot of value.
Circuit board layout is not like code where you can reduce changes to diffs. Often you want to look at the entire layout because the change may have a side effect that you don't see from just the diff: e.g., re-routing a 120VAC input line near the connector that your pH sensor connects to. The layout is all that has changed, but that change can have an effect on something completely unrelated.
Absolutely version control for schematics/artwork is a good idea: that's a given. But I'm not sold on being able to visually diff the changes.
On an unrelated note: did that PCB layout shown make anyone else cringe? I still shudder thinking about it.
I wish there was a visual diff tool for function block programming in PLCs. I am moving more and more towards the "structured text" type PLC programming just so I can get a sensible change history.
LabVIEW can do diffs and it integrates with version control systems. LabVIEW is almost completely visual and it'll show you what changed between versions if you ask.