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

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.

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

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

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

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

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

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.

Trashing a Local Version

Trash a local version by clicking the bottom right delete button on an expanded version card. The version will move to the Trashed Versions area.

Trashing 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.

Permanently deleting a version

Click the Show Trashed button in the top right of the versions tab.

Either click the Delete trashed versions to delete all currently trashed versions for a file.

Restoring trashed versions

Click the Show Trashed button in the top right of the versions tab.

Click the Restore version button next to the name of the version.

Saving space with versions

When you push files from your local computer to a workspace, you can delete versions inbetween the cloud version you worked from on during a push.

To do this, check the Flatten local version on push? button, then check the Permanently delete versions? button if you want those trash buttons permanently deleted.

Flatten local version history on push

This action does not affect branched versions, only local version parents of the current set version you are pushing to the workspace.

Manage all local versions

Manage old local versions

Go to the SettingsLocal Versions area

You can see the total storage usage and version counts across all files.

Any local versions that you have set as current will not be visible in this area, so you can’t delete current work, only past versions.

To bulk delete old local versions across multiple files, you can click the checkbox next to any file you’d like to clean up, or select all in the checkbox above the file list.

Click the Cleanup local versions for selected files to permanently delete those old local versions.