wssync.py #1

  • //
  • cbd/
  • main/
  • 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
#1 21633 C. Thomas Tyler Populate -o //guest/perforce_software/cbd/main/...
//cbd/main/....
//guest/perforce_software/cbd/main/scripts/wssync.py
#5 16705 C. Thomas Tyler Set to use SDP standard Python/P4Python.
#4 16702 C. Thomas Tyler Configured to ensure python3 is used.
#3 11366 C. Thomas Tyler Promoted CBD from dev to main.
#2 11356 C. Thomas Tyler Promotion from Dev Branch.

       What's included:
       * CBD scripts for Streams as demonstrated at Merge 2014.
       * Deletion of files from the original PoC that aren't needed.

       What's coming later, still work in progress on the dev branch:
       * Documentation.
       * Test Suite with complete Vagrant-based Test Environment.
       * CBD scripts for Classic.
#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