Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Git Diff Tool for the Schematic Library

Titus Chow has created a bash script that finds changes in the schematic library across two branches. It is recommended that you use Bash on Ubuntu on Windows for Windows 10.

...

Code Block
$ git merge master
warning: Cannot merge binary files: altium-lib/Schematic Diagrams.SchLib (HEAD vs. master)
warning: Cannot merge binary files: altium-lib/Footprints.PcbLib (HEAD vs. master)
Auto-merging altium-lib/Schematic Diagrams.SchLib
CONFLICT (content): Merge conflict in altium-lib/Schematic Diagrams.SchLib
Auto-merging altium-lib/Footprints.PcbLib
CONFLICT (content): Merge conflict in altium-lib/Footprints.PcbLib
Automatic merge failed; fix conflicts and then commit the result.


$ git status
On branch elec_191_chaos_layout
Your branch is up-to-date with 'origin/elec_191_chaos_layout'.
You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)

Changes to be committed:

        modified:   MSXII-Controller-Board/Controller-Board-Rev3.PcbDoc
        modified:   MSXII-Controller-Board/Controller-Board.PrjPcb
        modified:   MSXII-Controller-Board/Controller_Board_Main.SchDoc
        modified:   MSXII-Controller-Board/Controller_Board_Power_Supply.SchDoc
        new file:   MSXII-Controller-Board/Project Outputs for Controller-Board/Controller-Boa
        new file:   MSXII-Controller-Board/Project Outputs for Controller-Board/ControllerBoar
        new file:   MSXII-Controller-Board/Project Outputs for Controller-Board/Design Rule Ch
        new file:   MSXII-Controller-Board/Project Outputs for Controller-Board/Design Rule Ch

Unmerged paths:
  (use "git add <file>..." to mark resolution)

        both modified:   altium-lib/Footprints.PcbLib
		both modified:   altium-lib/Schematic Diagrams.SchLib

From this, we can see that the change common to both elec_191 and master is the Footprints library and Schematic Diagrams library. We want to choose our Footprint library libraries over the one in master: 

Code Block
$ git checkout --ours altium-lib/Footprints.PcbLib
$ git add .

Then run status again: 

Code Block
$ git status
On branch elec_191_chaos_layout
Your branch is up-to-date with 'origin/elec_191_chaos_layout'.
All conflicts fixed but you are still merging.
  (use "git commit" to conclude merge)

Changes to be committed:

        modified:   MSXII-Controller-Board/Controller-Board-Rev3.PcbDoc
        modified:   MSXII-Controller-Board/Controller-Board.PrjPcb
        modified:   MSXII-Controller-Board/Controller_Board_Main.SchDoc
        modified:   MSXII-Controller-Board/Controller_Board_Power_Supply.SchDoc
        new file:   MSXII-Controller-Board/Project Outputs for Controller-Board/Controller-Boa
        new file:   MSXII-Controller-Board/Project Outputs for Controller-Board/ControllerBoar
        new file:   MSXII-Controller-Board/Project Outputs for Controller-Board/Design Rule Ch
        new file:   MSXII-Controller-Board/Project Outputs for Controller-Board/Design Rule Ch

...