wssync.py #5

  • //
  • guest/
  • perforce_software/
  • cbd/
  • dev/
  • scripts/
  • wssync.py
  • View
  • Commits
  • Open Download .zip Download (1 KB)
#!/p4/common/python/bin/python3
"""
Copyright (c) 2012-2014 Perforce Software, Inc.  Provided for use as defined in
the Perforce Consulting Services Agreement.

"""
# Performs two actions on sync or update:
# 1. Updates workspace view if necessary
# 2. Puts in correct rev specifiers for imports

# imports
import sys 
import logging
from Cbd import Cbd

# globals to read from broker
p4port = None
reqWs = None
reqCmd = None
reqArgs = []
reqCwd = None

# other globals
log = None
cbd = None

# parse arguments: normal broker args 
def parseArgs():
    global p4port
    global reqWs
    global reqCmd
    global reqArgs
    global reqCwd

    vals = cbd.parseBrokerArgs()
    
    argCount = vals['argCount']
    p4port = vals['brokerTargetPort']
    reqCmd = vals['command']
    reqWs = vals['workspace']
    reqCwd = vals['cwd']
    for idx in range(int(argCount)):
        k = 'Arg' + str(idx)
        reqArgs.append(vals[k])
    log.debug("Read args %s" % ','.join(reqArgs))

# main program
cbd = Cbd('broker')
log = cbd.getLogger()
parseArgs()
cbd.initP4(p4port)
cbd.syncWs(reqWs, reqCmd, reqCwd, reqArgs)
# Change User Description Committed
#5 19253 C. Thomas Tyler Routine merge-down from main to dev.
#4 11364 C. Thomas Tyler Changed shebang to use SDP-standard Python.
#3 11360 C. Thomas Tyler chmod +x.
 No content changes.
#2 11348 C. Thomas Tyler Uploaded CBD scripts as presented at Merge 2014.
#1 11347 C. Thomas Tyler Populate //guest/perforce_software/cbd/dev/...
from //guest/perforce_software/cbd/main/....
//guest/perforce_software/cbd/main/scripts/wssync.py
#1 11196 C. Thomas Tyler Added CBD sample logic.
 It was developed by Randy DeFauw as a PoC,
and mentioned at the Perforce MERGE 2013 User Conference.

This PoC explores a broad spectrum of CBD challenges, and thus is
complex.  Actual production implementations derived can be simpler.

This implementation works with Classic Perforce only; support for
Streams is possible.
//guest/randy_defauw/cbd/scripts/wssync.py
#1 8278 Randy DeFauw Import component development tool kit