dbrtools/dbr/createpatch.py
author MattD <mattd@symbian.org>
Sun, 13 Jun 2010 20:39:03 +0100
branchDBRToolsDev
changeset 285 6a928cf9e181
parent 179 eab8a264a833
permissions -rw-r--r--
diffenv - Added some basic support for diffing with zipped builds over http (such as the internal foundation builds). for example: dbr diffenv 'http://builds.symbian.org/SF_builds/symbian3/builds/FCL/symbian3_FCL.single.555/'

# Copyright (c) 2009 Symbian Foundation Ltd
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
#
# Initial Contributors:
# Symbian Foundation Ltd - initial contribution.
#
# Contributors:
# mattd <mattd@symbian.org>
#
# Description:
# DBR createpatch - Creates a patch of the changes made to a patched baseline

import sys
import dbrbaseline
import dbrpatch
import dbrutils

def run(args):
    if(len(args)):
      dbfilename = dbrutils.defaultdb()
      patchname = args[0]
      if(patchname):
          print 'Creating Patch:%s\n' % patchname
          baseline = dbrbaseline.readdb(dbfilename)
          if(len(baseline) > 0):
              patches = dbrpatch.loadpatches(dbrpatch.dbrutils.patchpath())
              db = dbrpatch.createpatchedbaseline(baseline,patches)
              env = dbrutils.scanenv()
              db = dbrpatch.newcreatepatch(patchname,db,env)
              baseline = dbrpatch.updatebaseline(baseline, db)
              patches = dbrpatch.updatepatches(patches, db)
              dbrpatch.savepatches(patches)
              dbrbaseline.writedb(baseline,dbfilename)
      else:
          help()
    else:
      help()
      
def help():
  print 'usage: Createpatch <patchname>'