Version Control

When managing a Design System that is continuously getting updated alongside the product, then you can run into issues of using different design system versions for different prototypes. Ideally, you want to keep your library up to date as much as possible in general, but you also might want to control when to upgrade the design system version.

To solve this, Merge’s version control system gives you the flexibility to manage your library version for each project. You can freely and easily switch between different versions you’ve added.

Version Control Options

In Merge, you have two options on how you want to select the library version you want to use for a given project: Branch or Version Tag.

Branch

If you are managing library versions with the Branch feature, Prototypes will only automatically update when there is change in the branch you are using.

Tag

Selecting a specific version tag, will mean your prototype is always referencing that specific version and won't be updated when you update the library. It will only update when you change Tag versions or switch to Branch or Latest.

NOTE

You can only push a Tag once, you can’t push your component library to UXPin again using the same tag. You will have to specify a new tag.

Branch vs Tag?

If you’re in the process of actively making changes to your design system and don’t want to keep changing tags every time you push to test changes, then using Branch is advised.

If you’re looking for more control over design system versions, then Tag gives you full control on when to upgrade the design system version.

Always Use the Latest Design System Version

Additionally, if you always want to use the latest version of your design system then there is a checkbox to follow “Latest”. Using the latest option will ensure a prototype will be automatically updated whenever there is a change in the library as it is always referencing the latest version of the branch.

Adding Tag Versions To Your Library

Specify --tag option at push from CLI

npx uxpin-merge push --token TOKEN --tag VERSION

Adding Branch Versions To Your Library

Specify --branch option if you wish to push working branch

npx uxpin-merge push --token TOKEN --branch branch

How to switch a version for a prototype?

How to switch a version for a prototype

  1. Click gear icon while you open merge library you would like to control
  2. Click “Manage Version in project” on library panel
  3. Choose the version you want to use for a prototype

How to set a default version for future prototypes?

How to set a default version for future prototypes

  1. Click gear icon while you open merge library you would like to control
  2. Click “Library settings” on library panel
  3. Choose the version you want to use for future prototypes