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.

When working on a file, your versions automatically save locally, and you get to choose which versions should go up to the cloud. If there are other cloud versions for a file you’re working on, you can quickly start working off of any of those versions as well.

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

sample of the versions tab in the right sidebar

The versions tab in the right sidebar shows your local and cloud versions combined together.

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

1

Artists work as usual

Ensure that mudstack is watching your local working directories. 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

Select versions to commit

Next, pick which of these local versions you want to commit, 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 button located next to the version’s title. This title will be visible to other users.

Send Versions to the Cloud

To share your work with other team members in the cloud workspace, you must specify which versions are important for them to access. mudstack simplifies this process with a commit and push workflow.

Commit a Version

click the commit checkbox on a version to define a local version is ready for upload

Commit your changes to define the important versions that need to be uploaded.

By committing a local version, you’re telling mudstack that you want to include that version(s) in the cloud. Remember, you must commit a local version before you’re able to push it to the cloud.

To commit a local version, simply check the checkbox located on the right side of the version.

Uncommit a Version

Uncommit a local version by unchecking the checkbox on the right of a version.

If you already pushed a version and want to remove it, you will need to delete the version instead.

Push a Version

click the push button after committing local versions

Push your changes to upload local versions to the cloud.

After committing one or more local versions for a file, a Push button will display at the top of the versions tab. Click that button to quickly push up the file’s committed local versions.

Versions aren’t sent to the cloud until you push them. Pushing a version will add any committed versions in sequential order to the cloud workspace.

If you encounter a version conflict, a modal will appear to resolve the issue. If you are on the push or pull table, you will see a Fix Issue button next to the conflicting versions. Click that button to resolve a conflict.

Cloud File Versions

Whenever a new version of a file is added to the cloud, it is treated by default as the Current version. This is the version that any user gets when they download 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.