A sample script for Reconcile\Post, Delete Versions, Compress Geodatabase and then Recreate those same versions:
# Import arcpy module
import arcpy, os, string
#Populate parent and child versions in the following manner('Parent':'Child', etc). DO NOT LIST DEFAULT
vTree = {'SDE.BOWS':'SDE.JIM', 'SDE.GIS':'SDE.KATIE'}
def RecPostNonDefault(workspace,log1):
for key, val in vTree.iteritems():
print "Reading {0} {1}".format(key, val)
arcpy.ReconcileVersions_management(workspace, "ALL_VERSIONS", key, val, "LOCK_ACQUIRED", "NO_ABORT", "BY_OBJECT", "FAVOR_TARGET_VERSION", "POST", "KEEP_VERSION", log1)
print "Rec and posting {0} to {1}".format(val, key)
def RecPostDefault(workspace, log2,defaultVersion):
arcpy.ClearWorkspaceCache_management()
for key, val in vTree.iteritems():
print "Reading {0} {1}".format(key, val)
arcpy.ReconcileVersions_management(workspace, "ALL_VERSIONS", defaultVersion, key, "LOCK_ACQUIRED", "NO_ABORT", "BY_OBJECT", "FAVOR_TARGET_VERSION", "POST", "KEEP_VERSION", log2)
print "Rec and posting {0} to {1}".format(key, defaultVersion)
def DeleteChildVersions(workspace):
arcpy.ClearWorkspaceCache_management()
for key, val in vTree.iteritems():
arcpy.DeleteVersion_management(workspace, val)
print "Deleted {0}".format(val)
def DeleteParentVersions(workspace):
arcpy.ClearWorkspaceCache_management()
for key, val in vTree.iteritems():
arcpy.DeleteVersion_management(workspace, key)
print "Deleted {0}".format(key)
#Compress database
def Compress(workspace,logWorkspace,log3):
arcpy.ClearWorkspaceCache_management()
outLog = open(os.path.join(logWorkspace, log3), 'w')
arcpy.Compress_management(workspace)
print ("Compressed database {0}".format(workspace))
outLog.write("Compressed database {0}".format(workspace))
outLog.close()
def RecreateVersions(workspace, defaultVersion):
for key, val in vTree.iteritems():
arcpy.CreateVersion_management(workspace,defaultVersion, key[4:], "PUBLIC")
print "Created version {0}".format(key)
arcpy.CreateVersion_management(workspace, key, val[4:], "PUBLIC")
print "Created version {0}".format(val)
if __name__=="__main__":
workspace = r"C:\Users\asrujitse\AppData\Roaming\ESRI\Desktop10.3\ArcCatalog\gdb103_sqlserver.sde"
log1 = ""
log2 = ""
logWorkspace = r"C:\TEMP"
log3 = "compress.txt"
defaultVersion = "sde.DEFAULT"
RecPostNonDefault(workspace,log1)
RecPostDefault(workspace, log2,defaultVersion)
DeleteChildVersions(workspace)
DeleteParentVersions(workspace)
Compress(workspace,logWorkspace,log3)
RecreateVersions(workspace, defaultVersion)