Artists work differently from engineers. We recognized this fact from the beginning, so mudstack’s version control is designed to be file-based, not project based.

Each file in mudstack has its own version history. This allows artists to work on a subset of files in the project and not have to deal with project level conflicts due to work of other artists entering the system.

Working locally, you are able to quickly start working off of any cloud version.

Non-destructive versioning with easy rollbacks allows artists to confidently adopt a version control system that doesn’t force them into a software development workflow with branching, checking out and locking files.

Create New Versions

New versions are created automatically on each save as long as the file is in a local or mapped workspace:

1

Do your work as usual

Ensure that mudstack is running so that changes to your local working directories are watched. Each save is considered a new local version by mudstack. With our current process, mudstack will work with overwriting saves. Incremental saves show as a new file. All overwritten versions are stored within mudstack.

2

Push changes from mudstack when you're ready

Next, pick which of these local changes— file changes and modifications to tags and libraries— you want to push, provide an optional description to share what changed, and then push them to the cloud workspace.

Edit Versions

click the edit name button that displays when hovering over the version name

Rename your versions to give better context into what changed.

To edit a version’s title, click the edit icon located next to the version’s title and enter a new title. This title will be visible to other users.

Send Your Changes to the Cloud

To share your work with other team members in the cloud workspace, you must push these changes to the cloud.

Upload Non Current Versions

There are occasions where you might want to upload a file version to the cloud but not want it to be the current version— whether it’s to share work in progress or just make a cloud backup.

You can do this at any point from the file details sidebar outside of the Changes view. Find the local version you want to upload and expand the card. Then, click the Save version to cloud icon— this will upload the version to the cloud history for that file and make it available to others without setting it as the current version.

Upload a non-current version of a file in mudstack

Cloud File Versions

Whenever a new version of a file is pushed to the cloud from the Changes view, it is treated by default as the Current version. This is the version that any user gets when they sync the file.

Roll Back Version

roll back to an older version in mudstack

To roll back to an older cloud version, hover over that version in the Versions tab. Click the Set current version button to set it as the Current version, then push your change.

Cloud versions will always have a profile picture of the user that pushed up that version. Local versions will not as they are visible only to the logged in user on the desktop app.

Downloading a version

Downloading a version will sync the version to disk in your version store for access later. If you set the current version to an older version, it will be downloaded if you have not already downloaded it.

Pulling from the sync table will only pull the file’s current version. If you want to pull older versions of a file, you must use that file’s version tab and click the Set current version button.

Set Current Version

click the push button after committing local versions

Set a current version to download old versions. Syncing a file to disk will only download the latest version.

A working version refers to the version accessible in your local directory. You can replace the file in your local directory with a different version by switching which version is the current version. Other versions of your files are stored in the “.mudstack” folder within the same local directory.

Click the Set current version button on the left side of the version card.

Working From a Cloud Version

Your local directory will always contain that current version of a synced file, allowing you to work off of it.

In order to work from a different cloud version, you must set that cloud version as the current version. If you don’t push this change, it will not impact other users, so you can safely use this option to swap versions locally.

Recall Uncommitted Versions

click the version button on the right side of a version to expand its uncommitted versions

Uncommitted versions between committed versions are collapsed to keep you focused on the important versions.

If you set a cloud version as a working version, all uncommitted local versions in front of that cloud version will be expanded as local versions, and all uncommitted versions from other versions are collapsed. From there you may set any of the uncommitted versions as your new working version.

You can see the count of uncommitted versions related to a cloud version on the top right of the version card.

Preview or Open a Version

click the eye to preview in mudstack and the open button in the bottom left to open with your OS default app

Preview and open versions directly from each version card to look at older changes.

Previewing a file version will display the file in app. Opening a file version will use your computer’s default app to open the file outside of mudstack. Either action will download and sync the file if you do not already have the file pulled locally.

Deleting Versions

click delete in the bottom left and confirm the delete to remove a version.

Delete unnecessary local and clould versions.

In the event you need to delete a version of a file, here are the options you have available.

Deleting a Local Version

Delete a local version by clicking the bottom right delete button on an expanded version card.

Deleting a Cloud Version

Using the desktop app: Same as local in action, but you need to perform a push after. The deletion action is initially carried out locally and only applied to the cloud after you push.

Using the web app: Deleting a version from the web app is instant and appears as a pull record for other desktop app users.