The pcb file always changes when this menu is commanded. It looks like there are a lot of uuid changes. This is not good for git to tracking real changes. The same problem on both kicad 9 and 9.99. Thanks
It looks like you are using the nightly (9.99) build, which does change a lot. Even the testing (9.0) builds are updated frequently, although less than the nightlies.
I think that is why you see the UUIDs change. Probably the best way to guard against this is if you take control of the libraries. In other words, if you use the packaged libraries, and if those libraries are updated, then the UUIDs might change. But if you have a private copy of the libraries and you don’t update them, then the UUIDs should be stable.
That is slightly more work for you, but if you don’t want the libraries changing, then you have to freeze them by making private copies, and updating the fp-lib-table and sym-lib-table to point to your copies rather than the system ones.
You can attach an example project and tell what you would expect when doing the update. Otherwise I can only say that if you do an update you should expect your PCB to change, and it would of course affect the git diff. If you don’t want anything to change, don’t do an update.
This is a bug, nothing to do with the libraries changing. The first time pressing “update footprints from libraries” could be the libraries changing, but the 2nd, 3rd, ….could not be the libraries. It always changes the pcb file.
This similar “update symbols from library” menu in the schematic does not have this issue.
The fix still has some problem. PCB file depends on both the schematic and the footprints. So actions ‘update pcb from schematic F8’ and ‘update footprints from library’ should be mixed to see if there are some problem.
When ‘update pcb from schematic’ is commanded on the example project, it will add 3 units blocks to the pcb file:
(units
(unit
(name “A”)
(pins “1” “2”)
)
)
But when ‘update footprints from library’ is commanded, these three units blocks will be removed.