How does the library merge tool work?
    • PDF

    How does the library merge tool work?

    • PDF

    Article Summary

    When using AllSpice Hub, you can manage your component library through a git repository. Companies choose this approach when they need the ability to sync a common library across people on a team.

    Though still early in the development stage, this is how it works:

    • Organizations create a dedicated git repository for all library files. These can be .schlib, pcblib, or .initlib files
    • As with other git repositories, engineers can pull a copy of the remote libraries to their local machine to use
    • Anyone using those libraries, installs the AllSpice library merge tool, to prevent merge conflicts
    • When different team members make changes to the library, either adding, removing, or modifying components, the library merge tool allows them to push the changes upstream without conflicts
    • There's an option to set up Slack notifications to get updated when there's component changes
    • You use it just like you would merging code - you will have to pull/merge/rebase before pushing if there are any upstream changes

    See the library merge tool in action in the video below:


    Current limitations:

    • Though you can merge changes, they can't be to the same component - meaning, you won't be able to merge a component that has been edited in two different branches (eg. someone has added a new attribute and someone else has edited the model upstream).
    • Theres no ability to merge on the remote server initially - so there's no capability to open a PR and close/merge in the web app
    • There's no installer, so setting up the library merge tool is manual
    What's on the roadmap?

    There are several improvements planned for the next 12 months. Some of the most interesting ones are:

    • Tabular view: a table of all your components when you open your library repo, where you can configure what attributes to display by default
    • Parametric search: being able to search the component table for different component names or attributes
    • Visualization: a page for each component where you can see the symbol, attributes, and lifecycle status
    • Reviews: the ability to run component reviews, similar to how PCB/schematic reviews in AllSpice Hub, with visual component diffs that show what's changed and the ability to add comments

    Was this article helpful?