Versions Compared

Key

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

...

Code Block
languagebash
firstline1
Rev X.Y

Where X represents each change changes that requires require a board new PCB to be fabricated again, and Y represents each change committed to your branchthat changes a component in the Bill of Materials. For example, if you created a new board then the first revision of any schematic version will be Rev 1.0, and the first board produced will be Rev 1.Y. The second revision of this board that has to be fabricated will then have Rev 2.Y. Please make sure to include the revision number inside your commit messages for easier tracking.. Once you receive the board and you realized that one of the parts should've been a 10k resistor instead of a 1k, you would change the schematic and update the revision to Rev 1.1. Any changes that require a new board to be fabricated will be on Rev 2. 

Commit Messages

Commit messages are added when you commit your files to your branch. By including useful information, it will allow us to easier keep track of revisions, and revert to any earlier revisions if necessary. Your commit messages should follow a similar format as this

Code Block
languagebash
firstline1
<HW-JiraTicketNumber> <ProjectName> <Rev X.Y>
<Brief
description- of whatWhat was changed in this commit>? 

Library Changes
- List of schematic and library changes 

Your description should include enough information for anyone else on the team to understand what you're working on. 

...

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.

...

We have 3 branches: master, A, and elec_191_chaos_layout. A has been merged into master already, with a small change to the PCB library in the form of a deleted pad. elec_191_chaos_layout has the same pad deleted, and a few other additions/changes made to other components. To merge elec_191_chaos_layout into master, we first run merge, and then check status: 

Code Block
$ git merge master
warning: Cannot merge binary files: altium-lib/Footprints.PcbLib (HEAD vs. master)
 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

...