Simple Version Control v. 1.2.2 for Maya
Features:
* Save incremental backup versions of your Maya files with one click
* Quickly log optional notes, time and date info for each version
* Manage version history in the user interface: view and save notes, open and delete versions
* Find old versions with the built-in search system
* Use saved tags to quickly add keywords to notes and easily find them later
Tested and working on Maya 2016, 2017, 2018, 2019 and 2020.
FREE version available at: https://gumroad.com/l/hZUel
This script was written out of my own frustration in using incremental save tools available. Soon enough, I would end up with dozens of numbered files that didn't mean much when I needed to revert back to a previous version. What did I do in this or that version? Client changed his mind and asks for an old version before some change took place, how to find the right file without having to open them one by one?
The answer was that those versions clearly needed some form of companion log in which it would be possible to add notes of what was made and when. I knew that was possible in pipeline tools that offer a robust version control, but, honestly, I didn't need something that complex just to have some sort of control over my files. Neither I wanted to use those messy naming conventions like: myFile_blocking004_rev2_clientOK_02. Very confusing!
So I decided to write this little tool to try to solve that problem. Feel free to use it as your simple version control tool, a way to keep your save points organized. Hope it helps! :)
INSTALLATION:
1. Put the simpleVersionControl.mel file in your /maya/scripts folder and restart Maya
2. Save the code below to a shelf button, this will be your Save Version button.
source "simpleVersionControl.mel"; svcSave();
3. Now, save the code below to another shelf button. This will open the Main Interface, where you can view and open version files, delete them (by pressing DELETE key), update or add individual notes, save tags and use the search field to filter versions by keywords:
source "simpleVersionControl.mel"; svcUI();
SOME IMPORTANT INFO:
The script saves the incremental file in the same place as your master version, inside a folder called "__versions".
It will save two Maya files: the new increment version and the master version. So, this is different than Maya's internal increment system. This script will save the increments as backup files and you will always be working in the master file. The idea is that you would save your file normally in Maya (Ctrl + S) and when you reach some important point in your work, then you would save the new increment version as a backup of that point. If you enter some notes, it will also save a txt file named after its corresponding version. Deleting versions via the UI window will delete both the Maya file and its note file.
Both .ma and .mb version files go to their own folders.
Please note that if you open a version file (numbered 0001, for example) and save an increment, you will be saving an increment of that version file, not the master one. The tool saves versions of the file currently opened. However, if you open the UI to manage your versions, you can freely open other files and versions and the UI will still be managing the versions of the master file indicated in the top-left corner of the tool window. If you wish to see the versions of other files, you have to reopen the UI.
The search function is pretty flexible and will accept normal keywords, simple regular expressions and OR matches. Some examples of structures accepted:
cat dog :will show files whose notes contain the words cat AND dog
cat|dog|fox :will show files whose notes contain the words cat OR dog OR fox
cat|dog fox :will show files whose notes contain the words cat OR dog AND fox
Regular expressions you can use:
. Matches any single character
* Match zero or more occurances of the preceeding expression
+ Match one or more occurances of the preceeding expression
\ Escape special regular expression characters
[...] Matches any one of the enclosed characters. [0-9] or [a-z] for example, matches the intervals
Please first familiarize yourself with the script on a test scene and not on your work files! I am not responsible for any loss of your works due to improper use or to any change in the script.
Release Notes:
v.1.2.2 (August/2020): - The notes dialog now appears after all the saving procedure has taken place, so that when saving heavy scenes, we will no longer have a frozen dialog that would only be responsive after the saving was done.
v.1.2.1 (June/2020):
- Added the option to automatically insert the last notes entered in the note prompt to new versions saved with empty notes. Also works when note prompt dialog is disabled.
v.1.1.1 (June/2020):
- Fixed a Maya 2018+ bug where the Save Window would go down the screen when clicking Open Tags button in the first-run session.
- Added the option to recall the last saved note in the notes prompt dialog
v1.0.0 (June/2020):
- First release
A Simple Version Control system for Maya