Support for Gerber files diff in Merge Request
Problem to solve
A team I'm working with is interested in using GitLab to manage their hardware PCB designs. They use Altium to do this. Being able to do schematic change reviews without getting everybody together would be very useful. Right now, Altium has the ability to show what's changed in the design but it is fully graphical on a Windows-only application. It has no way to export it. Luckily, the output format from Altium, gerber, is standardized and used by virtually all PCB design tools. It would be useful if GitLab's Merge Request tool could show the changes made to a Gerber (since it's rather unlikely that GitLab could support the Altium format directly)
Target audience
Hardware / Electrical Engineers
Further details
Electrical Engineers at organizations that use GitLab can use GitLab for not only storing their work but also to more easily perform reviews on revisions to those designs without having to have a meeting. Also, with this feature, open source hardware developers spread across the world can more easily collaborate on their designs.
Proposal
- In addition to any design-software specific design files, the generated gerber files would also have to be included in the source repository.
- When the engineer has a change made to the board they're working on and it is ready for review, they generate the updated gerber files, commit everything and create a Merge Request in GitLab
- GitLab generates a diff view of those gerber files for the review. This could be a lot like the image file diff feature but could also be more advanced than that. Evil Mad Scientists have a blog post about using the open source tools Gerbv and ImageMagick to make much better looking diff images too.
- Engineers on the review for the MR can see the gerber diffs generated by GitLab to leave comments. This workflow I think could be exactly like how GitLab's comment system for images works.
What does success look like, and how can we measure that?
A successful implementation would result in more organizations looking at GitLab for managing their hardware designs in addition to their software designs. Altium has recently added support for git natively and it is apparently being improved with every release. In a lot of ways, a workflow like GitLab could be extremely valuable for hardware design. It could enable worldwide teams to more easily collaborate on their hardware and software designs.
This feature request represents step one of this, enable meaningful diff views of hardware designs in GitLab. Once gerber diffs are usable, this is a success.
Links / references
Evil Mad Scientist blog post about generating gerber diffs
Cern's best practices using Altium with GitLab
q