I’ve updated the savetool to keep a master version of the file! I’m now refefing to it as an Up Save tool.
################################################################################################
################################################################################################
### Save new version of current scene ###
### By Alastair Richardson ###
### May, 2013 ###
### Intended for Maya Ascii files ###
### Use: ###
### padding is the number of digits in the version number. ###
### ###
### versionIndicator is the characters that come before ###
### the version number. May be _V or _v depending on your ###
### pipeline. ###
### ###
### fileCountNumbering can be set to True or False. ###
### If set to True, the next version number will be obtained ###
### by counting the number of files in the working folder. ###
### This method is unpredictable if folder contains additional ###
### files or folders. ###
### ###
### If set to False, the next version number will be obtained ###
### using the current version number, can be risky if rolling ###
### to old versions is required. ###
### ###
################################################################################################
################################################################################################
padding = 3
versionIndicator = '_v'
fileCountNumbering = False
masterFileName = '_v000'
################################################################################################
### ###
### Change script at your own risk ###
### ###
################################################################################################
import maya.cmds as cmds
from pymel.core import *
import maya.OpenMaya as om
import os
def saveNewVer():
a = ''
b = ''
# find directory
currentDir = cmds.file( query = True, location = True )
splitDir = currentDir.split('/')
length = len(splitDir)
lessOne = length - 1
shortDir = splitDir[0:lessOne]
directoryToOpen = '/'.join(shortDir)
# create next version number of file
if fileCountNumbering == True :
# find the next version based on number of files on directory
currentFileName = splitDir[length -1]
versionSpilt = currentFileName.split(versionIndicator)
currentName = versionSpilt[0]
files = os.listdir( directoryToOpen )
mayaAscii = []
for i in files:
try:
a,b = i.split('.')
except:
print i + ' has no extension'
if b == 'ma':
mayaAscii.append(i)
else:
print str(i) + ' is not a Maya ASCII'
nextVersion = len(mayaAscii) + 1
else:
# find version by disecting current file name at _v
currentFileName = splitDir[length -1]
versionSpilt = currentFileName.split(versionIndicator)
sansMA = versionSpilt[1].split('.')
currentVersion = sansMA[0]
currentName = versionSpilt[0]
nextVersion = int(currentVersion) + 1
# do the saving
newDirName = directoryToOpen + '/' + currentName + versionIndicator + str(nextVersion).zfill(padding)
Mel.eval( "source addRecentFile.mel" )
Mel.eval('addRecentFile "%s" "%s";' % (newDirName + '.ma', 'mayaAscii'))
masterName = directoryToOpen + '/' + currentName + masterFileName
cmds.file( rename = masterName )
cmds.file( save = True )
cmds.file( rename = newDirName )
cmds.file( save = True )
om.MGlobal.displayInfo( 'saved to ' + newDirName )
saveNewVer()