I already use git
as a VCS to control software and firmware I develop. Having done some work lately on the hardware side and coming to the conclusion that it is viable to control KiCAD schematic and PCB files also in git (please take a look at https://jnavila.github.io/plotkicadsch), I was wondering having the firmware and the hardware schematics in the same git repo - and maybe referenced by the same github project and issue tracker - might be very interesting and productive, since hardware and firmware are so closely related.
A lot of times a new functionality in firmware requires you to modify the circuit board, and the opposite is very much true as well, so initially it makes sense to me that both could be controlled together in the same git repository, maybe having a subdir scheme like:
project (in git)
- kicad
- firmware
where the subdir kicad
would have all the schematic and PCB files and firmware
would hold the source code for the firmware which should run on the hardware designed in KiCAD.
That would leverage the issue tracker for the project for solving bugs or setting milestones, which generally would require actions on both firmware and hardware, making it easier to develop and maintain a product with consistent modifications, with different branches for testing new features and so on.
Have you ever tried or thought about that? Can you foresee any "showstoppers" or something that would strongly advise against doing it this way?