
Introdução
Em programação, o uso do comando "git diff" é essencial na gestão de projetos, permitindo que os desenvolvedores visualizem as alterações realizadas no código-fonte. Com o comando, é possível identificar quais linhas foram adicionadas, modificadas ou removidas, facilitando a revisão de mudanças antes de integrá-las ao repositório principal. Além disso, o "git diff" ajuda a detectar conflitos durante a fusão de ramificações e mantém um histórico detalhado das alterações, possibilitando o rastreamento do desenvolvimento do código ao longo do tempo.
No entanto, em arquivos de hardware, layout e esquemas elétricos, o uso da ferramenta de diff do git não é muito recomendado, pois para identificar as diferenças entre commits ou alterações, seria necessária uma ferramenta visual.
Algumas ferramentas de layout possuem essa funcionalidade integrada, como o Altium Designer, Proteus Design Suite ... porém são softwares pagas. Diante do crescimento do Kicad, que é uma ferramenta open source, foi realizada uma pesquisa para identificar alguma ferramenta de diff para esquemáticos e layout.
Kiri
O Inspetor de Revisão do KiCad (KiRI) é uma ferramenta desenvolvida por
Leandro Hecke disponível no GitHub em
https://github.com/leoheck/kiri. O KiRI é projetado especificamente para auxiliar no processo de revisão de projetos criados com o software KiCad, uma suíte de design eletrônico de código aberto.
Ele oferece recursos para análise e inspeção de projetos do KiCad, com o objetivo de detectar erros, inconsistências e melhorar a qualidade do design eletrônico. O KiRI permite a verificação de parâmetros, como espaçamento de trilhas, largura de vias, posicionamento de componentes, entre outros, que facilita a identificação e correção de problemas, contribuindo para a eficiência e precisão do processo de revisão de projetos no KiCad.
 |
Fonte https://github.com/leoheck/kiri/blob/main/misc/kiri_pcb.png |
 |
Fonte https://github.com/leoheck/kiri/blob/main/misc/kiri_sch.png |
KiCad-Diff
O KiCad-Diff, disponível no GitHub em
https://github.com/Gasman2014/KiCad-Diff, é um projeto que implementa uma ferramenta desenvolvida por
John e
Leandro Heck. Ela tem como propósito comparar e visualizar as discrepâncias entre versões de projetos criados com o software KiCad, uma plataforma de design eletrônico de código aberto.
 |
Fonte https://raw.githubusercontent.com/Gasman2014/KiCad-Diff/master/docs/gui.png
|
 |
Fonte https://raw.githubusercontent.com/Gasman2014/KiCad-Diff/master/docs/gallery.png |
 |
Fonte https://raw.githubusercontent.com/Gasman2014/KiCad-Diff/master/docs/triptych.png |
Conclusão
Ferramentas de diff são valiosas para engenheiros e projetistas que trabalham com o hardware, fornecendo recursos automatizados de inspeção e verificação para melhorar a qualidade dos projetos eletrônicos. Seu uso pode ajudar a garantir que os designs estejam em conformidade com os padrões desejados e a identificar possíveis erros ou problemas antes da fabricação ou produção.
Vale ressaltar que as ferramentas não são oficiais do repositório do KiCad, ambas foram criadas e são mantidas por desenvolvedores da comunidade, e estão sobre a licença MIT, uma licença de código aberto permissiva que permite o uso, modificação e distribuição do software, tanto para fins comerciais quanto não comerciais, desde que sejam incluídos os avisos de direitos autorais e a licença original.
Sensacional, ótimo artigo, parabéns! Algum desses softwares servem pra versionamento de projetos mecânicos também (como AutoCAD, SolidWorks, etc)? Se não, você já viu algum software que poderia servir pra esses casos?
ResponderExcluirValeu Matheus, não, cada software gera um tipo de arquivo diferente, por exemplo o altium gera arquivos binários. Essas ferramentas foram feitas exclusivamente para Kicad. Creio que para outros softwares ( AutoCAD, SolidWorks, etc) se o arquivo de modificação for facil de ler no git diff é possível desenvolver uma ferramenta, mas não cheguei a pesquisar sobre.
ExcluirParabens, realmente é uma ferramenta que falta para Hardware, o processo de diff é muito difícil de realizar via linha de comando.
ResponderExcluirSim, em alguns casos chega a ser impossível realizar esse processo via git diff
Excluir