You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gump.apache.org by bo...@apache.org on 2009/02/16 04:29:01 UTC
svn commit: r744794 - in /gump/trunk/python/gump/core/update: __init__.py
cvs.py git.py scmupdater.py svn.py
Author: bodewig
Date: Mon Feb 16 03:29:00 2009
New Revision: 744794
URL: http://svn.apache.org/viewvc?rev=744794&view=rev
Log:
refactor updaters in order to greatly reduce copy-n-paste
Added:
gump/trunk/python/gump/core/update/scmupdater.py (with props)
Modified:
gump/trunk/python/gump/core/update/__init__.py
gump/trunk/python/gump/core/update/cvs.py
gump/trunk/python/gump/core/update/git.py
gump/trunk/python/gump/core/update/svn.py
Modified: gump/trunk/python/gump/core/update/__init__.py
URL: http://svn.apache.org/viewvc/gump/trunk/python/gump/core/update/__init__.py?rev=744794&r1=744793&r2=744794&view=diff
==============================================================================
--- gump/trunk/python/gump/core/update/__init__.py (original)
+++ gump/trunk/python/gump/core/update/__init__.py Mon Feb 16 03:29:00 2009
@@ -17,6 +17,6 @@
# limitations under the License.
# tell Python what modules make up the gump.test package
-__all__ = ["updater","cvs","svn","jars", "git"]
+__all__ = ["updater","cvs","svn","jars", "git", "scmupdater"]
Modified: gump/trunk/python/gump/core/update/cvs.py
URL: http://svn.apache.org/viewvc/gump/trunk/python/gump/core/update/cvs.py?rev=744794&r1=744793&r2=744794&view=diff
==============================================================================
--- gump/trunk/python/gump/core/update/cvs.py (original)
+++ gump/trunk/python/gump/core/update/cvs.py Mon Feb 16 03:29:00 2009
@@ -43,189 +43,91 @@
from gump.tool.integration.cvs import *
+from gump.core.update.scmupdater import ScmUpdater
###############################################################################
# Classes
###############################################################################
-class CvsUpdater(RunSpecific):
+class CvsUpdater(ScmUpdater):
def __init__(self,run):
- RunSpecific.__init__(self,run)
+ ScmUpdater.__init__(self,run)
#
# A stash of known logins.
#
self.logins=readLogins()
- def updateModule(self,module):
+ def getCheckoutCommand(self, module):
"""
-
- Perform a CVS update on a module
-
+ Build the appropriate CVS command for checkout
"""
-
- #log.info('Perform CVS Update on #[' + `module.getPosition()` + \
- # '] : ' + module.getName())
+ self.maybeLogin(module)
- # Did we 'CVS checkout' already?
- exists = os.path.exists(module.getSourceControlStagingDirectory())
-
- # Doesn't tell us much...
- #if exists:
- # self.performStatus(module)
-
- self.performUpdate(module,exists)
-
- return module.okToPerformWork()
-
- def performStatus(self,module):
- # Get the Update Command
- (repository, root, cmd ) = self.getUpdateCommand(module, True, True)
-
- # Provide CVS logins, if not already there
- loginToRepositoryOnDemand(repository,root,self.logins)
-
- # Execute the command and capture results
- cmdResult=execute(cmd, module.getWorkspace().tmpdir)
-
- #
- # Store this as work, on both the module and (cloned) on the repo
- #
- work=CommandWorkItem(WORK_TYPE_UPDATE,cmd,cmdResult)
- module.performedWork(work)
-
- if not cmdResult.isOk():
- log.error('Failed to checkout/update module: ' + module.name)
-
- def performUpdate(self,module,exists):
- """
- Update this module (checking out if needed)
- """
- # Get the Update Command
- (repository, root, cmd ) = self.getUpdateCommand(module, exists)
-
- #log.debug("CVS Update Module " + module.getName() + \
- # ", Repository Name: " + str(module.repository.getName()))
-
- # Provide CVS logins, if not already there
- loginToRepositoryOnDemand(repository,root,self.logins)
-
- # Execute the command and capture results
- cmdResult=execute(cmd, module.getWorkspace().tmpdir)
-
- #
- # Store this as work, on both the module and (cloned) on the repo
- #
- work=CommandWorkItem(WORK_TYPE_UPDATE,cmd,cmdResult)
- module.performedWork(work)
- repository.performedWork(work.clone())
-
- # Update Context w/ Results
- if not cmdResult.isOk():
- log.error('Failed w/ CVS Root ' + root + ' for %s on Repository %s.' \
- % (module.name, module.repository.getName()))
- module.changeState(STATE_FAILED,REASON_UPDATE_FAILED)
+ cmd = Cmd('cvs', 'update_' + module.getName(),
+ module.getWorkspace().getSourceControlStagingDirectory())
+ self.setupCommonParameters(module, cmd)
+
+ # do a cvs checkout
+ cmd.addParameter('checkout')
+ cmd.addParameter('-P')
+ self.maybeAddTag(module, cmd)
+
+ if not module.getScm().hasModule() or \
+ not module.getScm().getModule() == module.getName():
+ cmd.addParameter('-d', module.getName(), ' ')
+
+ if module.getScm().hasModule():
+ cmd.addParameter(module.getScm().getModule())
else:
- module.changeState(STATE_SUCCESS)
-
- # We run CVS as -q (quiet) so any output means
- # updates occured...
- if cmdResult.hasOutput():
- log.info('Update(s) received via CVS on #[' \
- + `module.getPosition()` + \
- '] : ' + module.getName())
-
- def preview(self,module):
-
- (repository, root, command ) = self.getUpdateCommand(module,False)
- command.dump()
-
- # Doesn't tell us much...
- #(repository, root, command ) = self.getUpdateCommand(module,True,True)
- #command.dump()
-
- (repository, root, command ) = self.getUpdateCommand(module,True)
- command.dump()
-
-
- def getUpdateCommand(self,module,exists=False,nowork=False):
- """
- Format a commandline for doing the CVS update
+ cmd.addParameter(module.getName())
+
+ return cmd
+
+ def getUpdateCommand(self, module):
+ """
+ Build the appropriate CVS command for update
"""
-
- if nowork and not exists:
- raise RuntimeException('Not coded for this combo.')
-
- root=module.getScm().getCvsRoot()
+
+ self.maybeLogin(module)
- # Prepare CVS checkout/update command...
- prefix='update'
- directory=module.getWorkspace().getSourceControlStagingDirectory()
- if exists:
- directory=module.getSourceControlStagingDirectory()
- if nowork:
- prefix='status'
-
- cmd=Cmd( 'cvs',
- prefix+'_'+module.getName(),
- directory)
+ cmd = Cmd('cvs', 'update_' + module.getName(),
+ module.getSourceControlStagingDirectory())
+ self.setupCommonParameters(module, cmd)
- # Be 'quiet' (but not silent) unless requested otherwise.
- if not module.isDebug() \
- and not module.isVerbose() \
- and not module.getScm().isDebug() \
- and not module.getScm().isVerbose():
+ # Do a cvs update
+ cmd.addParameter('update')
+ cmd.addParameter('-P')
+ cmd.addParameter('-d')
+ self.maybeAddTag(module, cmd)
+
+ return cmd
+
+ def setupCommonParameters(self, module, cmd):
+ if self.shouldBeQuiet(module):
cmd.addParameter('-q')
-
- if nowork:
- cmd.addParameter('-n')
-
- # Allow trace for debug
- if module.isDebug():
+ elif module.isDebug():
cmd.addParameter('-t')
-
# Request compression
cmd.addParameter('-z3')
# Set the CVS root
- cmd.addParameter('-d', root)
-
+ cmd.addParameter('-d', module.getScm().getCvsRoot())
+
+ def maybeLogin(self, module):
+ repository = module.repository
+ root = module.getScm().getCvsRoot()
+
+ # Provide CVS logins, if not already there
+ loginToRepositoryOnDemand(repository, root, self.logins)
+
+ def maybeAddTag(self, module, cmd):
# Determine if a tag is set, on <cvs or on <module
- tag=None
+ tag = None
if module.getScm().hasTag():
- tag=module.getScm().getTag()
+ tag = module.getScm().getTag()
elif module.hasTag():
- tag=module.getTag()
-
- if exists:
-
- # Do a cvs update
- cmd.addParameter('update')
- cmd.addParameter('-P')
- cmd.addParameter('-d')
- if tag:
- cmd.addParameter('-r',tag,' ')
- else:
- cmd.addParameter('-A')
- #cmd.addParameter(module.getName())
-
- else:
-
- # do a cvs checkout
- cmd.addParameter('checkout')
- cmd.addParameter('-P')
- if tag:
- cmd.addParameter('-r',tag,' ')
-
- if not module.getScm().hasModule() or \
- not module.getScm().getModule() == module.getName():
- cmd.addParameter('-d',module.getName(),' ')
-
- if module.getScm().hasModule():
- cmd.addParameter(module.getScm().getModule())
- else:
- cmd.addParameter(module.getName())
-
- return (module.repository, root, cmd)
-
+ tag = module.getTag()
+ if tag:
+ cmd.addParameter('-r', tag, ' ')
Modified: gump/trunk/python/gump/core/update/git.py
URL: http://svn.apache.org/viewvc/gump/trunk/python/gump/core/update/git.py?rev=744794&r1=744793&r2=744794&view=diff
==============================================================================
--- gump/trunk/python/gump/core/update/git.py (original)
+++ gump/trunk/python/gump/core/update/git.py Mon Feb 16 03:29:00 2009
@@ -42,165 +42,47 @@
from gump.core.model.stats import *
from gump.core.model.state import *
+from gump.core.update.scmupdater import ScmUpdater
+
###############################################################################
# Classes
###############################################################################
-class GitUpdater(RunSpecific):
+class GitUpdater(ScmUpdater):
def __init__(self,run):
- RunSpecific.__init__(self,run)
+ ScmUpdater.__init__(self,run)
- def updateModule(self,module):
- """
- Perform a GIT update on a module
- """
-
- log.info('Perform GIT Update on #[' + `module.getPosition()` + \
- '] : ' + module.getName())
-
- # Did we 'GIT checkout' already?
- exists = os.path.exists(module.getSourceControlStagingDirectory())
-
- self.performUpdate(module, exists)
-
- return module.okToPerformWork()
-
- def performStatus(self,module):
+ def getCheckoutCommand(self, module):
"""
-
- Do a status comparison between our copy and server
-
+ Build the appropriate GIT command for clone
"""
-
- # need to look up how to do that with git
+ self.logRepositoryAndURL(module)
+ cmd = Cmd('git-clone', 'update_' + module.getName(),
+ module.getWorkspace().getSourceControlStagingDirectory())
+ self.maybeMakeQuiet(module, cmd)
+ cmd.addParameter(module.getScm().getRootUrl())
+ cmd.addParameter(module.getName())
+ return cmd
- def getStatusCommand(self,module):
+ def getUpdateCommand(self, module):
"""
-
- Build the 'git status --show-updates --non-interative' command
-
+ Build the appropriate GIT command for pull
"""
-
- # need to look up how to do that with git, this is certainly wrong
-
- log.debug("Git Module Status : " + module.getName() + \
- ", Repository Name: " + str(module.repository.getName()))
-
- url=module.getScm().getRootUrl()
-
- log.debug("GIT URL: [" + url + "] on Repository: " + module.repository.getName())
-
- #
- # Prepare GIT checkout/update command...
- #
- cmd=Cmd('git', 'status_'+module.getName(),
- module.getSourceControlStagingDirectory())
-
- #
- # Be 'quiet' (but not silent) unless requested otherwise.
- #
- if not module.isDebug() \
- and not module.isVerbose() \
- and not module.getScm().isDebug() \
- and not module.getScm().isVerbose():
- cmd.addParameter('--quiet')
-
- #
- # Allow trace for debug
- #
- # if module.isDebug() or module.getScm().isDebug():
- # cmd.addParameter('--verbose')
-
- # do an GIT status
- cmd.addParameter('status')
-
+ self.logRepositoryAndURL(module)
+ cmd = Cmd('git-pull', 'update_' + module.getName(),
+ module.getSourceControlStagingDirectory())
+ self.maybeMakeQuiet(module, cmd)
return cmd
-
- def performUpdate(self,module,exists):
- """
-
- Clone or Pull from GIT
-
- """
-
- # Get the Update Command
- (repository, url, cmd ) = self.getUpdateCommand(module, exists)
-
-
- # Execute the command and capture results
- cmdResult=execute(cmd, module.getWorkspace().tmpdir)
-
- #
- # Store this as work, on both the module and (cloned) on the repo
- #
- work=CommandWorkItem(WORK_TYPE_UPDATE,cmd,cmdResult)
- module.performedWork(work)
- repository.performedWork(work.clone())
-
- # Update Context w/ Results
- if not cmdResult.isOk():
- log.error('Failed to clone/pull module: ' + module.name)
- module.changeState(STATE_FAILED,REASON_UPDATE_FAILED)
- else:
- module.changeState(STATE_SUCCESS)
-
-
- def preview(self,module):
- (repository, url, command ) = self.getUpdateCommand(module,0)
- command.dump()
-
- (repository, url, command ) = self.getUpdateCommand(module,1)
- command.dump()
-
- def getUpdateCommand(self,module,exists=0):
- """
- Build the appropriate GIT command for clone/pull
- """
- repository=module.repository
-
- log.debug("Git Module Update : " + module.getName() + \
- ", Repository Name: " + repository.getName())
-
- url=module.getScm().getRootUrl()
-
- log.debug("GIT URL: [" + url + "] on Repository: " + repository.getName())
-
- #
- # Prepare GIT clone/pull command...
- #
-
- if exists:
- # do a GIT pull inside working copy
- cmd=Cmd('git-pull', 'update_'+module.getName(),
- module.getSourceControlStagingDirectory())
- else:
- # do a GIT clone
- cmd=Cmd('git-clone', 'update_'+module.getName(),
- module.getWorkspace().getSourceControlStagingDirectory())
-
- #
- # Be 'quiet' (but not silent) unless requested otherwise.
- #
- if not module.isDebug() \
- and not module.isVerbose() \
- and not module.getScm().isDebug() \
- and not module.getScm().isVerbose():
+ def logRepositoryAndURL(self, module):
+ repository = module.repository
+ url = module.getScm().getRootUrl()
+ log.debug("GIT URL: [" + url + "] on Repository: " + \
+ repository.getName())
+
+ def maybeMakeQuiet(self, module, cmd):
+ if self.shouldBeQuiet(module):
cmd.addParameter('--quiet')
- #
- # Allow trace for debug
- #
- # if module.isDebug() or module.getScm().isDebug():
- # cmd.addParameter('--verbose')
-
- if not exists:
- # do an GIT pull
- cmd.addParameter(url)
- cmd.addParameter(module.getName())
-
- return (module.repository, url, cmd)
-
-
Added: gump/trunk/python/gump/core/update/scmupdater.py
URL: http://svn.apache.org/viewvc/gump/trunk/python/gump/core/update/scmupdater.py?rev=744794&view=auto
==============================================================================
--- gump/trunk/python/gump/core/update/scmupdater.py (added)
+++ gump/trunk/python/gump/core/update/scmupdater.py Mon Feb 16 03:29:00 2009
@@ -0,0 +1,148 @@
+#!/usr/bin/python
+
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import os.path
+import sys
+
+from gump import log
+
+from gump.core.run.gumprun import *
+from gump.util.note import Annotatable
+from gump.core.model.workspace import *
+from gump.core.model.module import Module
+from gump.core.model.stats import *
+from gump.core.model.state import *
+
+###############################################################################
+# Classes
+###############################################################################
+class ScmUpdater(RunSpecific):
+ """
+ Base class for a SCM specific updaters.
+
+ Provides helpers and template method implementations.
+ """
+
+ def __init__(self,run):
+ RunSpecific.__init__(self, run)
+
+ #
+ # "public" interface of ScmUpdater
+ #
+
+ def preview(self, module):
+ """
+ Supposed to preview what needs to be done.
+
+ For most SCMs it doesn't say much and this method is never
+ called during a normal Gump run.
+ """
+ (cmd, isUpdate) = self.getCommandAndType(module)
+ if cmd:
+ cmd.dump()
+
+ def updateModule(self, module):
+ """
+ Performs a fresh check-out or an update of an existing wrokspace.
+ """
+
+ log.info('Perform ' + module.getScm().getScmName() + \
+ ' Checkout/Update on #[' + `module.getPosition()` + \
+ '] : ' + module.getName())
+
+ (cmd, isUpdate) = self.getCommandAndType(module)
+
+ if cmd:
+ if isUpdate:
+ log.debug(module.getScm().getScmName() + " Module Update : " +\
+ module.getName() + ", Repository Name: " + \
+ module.repository.getName())
+ else:
+ log.debug(module.getScm().getScmName() + " Module Checkout : " +\
+ module.getName() + ", Repository Name: " + \
+ module.repository.getName())
+
+ # Execute the command and capture results
+ cmdResult = execute(cmd, module.getWorkspace().tmpdir)
+
+ # Store this as work, on both the module and (cloned) on the repo
+ work = CommandWorkItem(WORK_TYPE_UPDATE, cmd, cmdResult)
+ module.performedWork(work)
+ module.repository.performedWork(work.clone())
+
+ # Update Context w/ Results
+ if not cmdResult.isOk():
+ log.error('Failed to checkout/update module: ' + module.name)
+ module.changeState(STATE_FAILED, REASON_UPDATE_FAILED)
+ else:
+ module.changeState(STATE_SUCCESS)
+
+ return module.okToPerformWork()
+
+ log.error("Don't know how to to checkout/update module: " + module.name)
+ module.changeState(STATE_FAILED, REASON_UPDATE_FAILED)
+ return False
+
+ #
+ # helpers
+ #
+
+ def shouldBeQuiet(self, module):
+ """
+ Whether the configuration asks for a quiet update
+ (it does so by default)
+ """
+ return not module.isDebug() \
+ and not module.isVerbose() \
+ and not module.getScm().isDebug() \
+ and not module.getScm().isVerbose()
+
+
+ def getCommandAndType(self, module):
+ """
+ Checks whether an update or a fresh checkout is needed and
+ returns a command to perform the required action.
+
+ Returns a tuple (command, isUpdate)
+ """
+ exists = os.path.exists(module.getSourceControlStagingDirectory())
+
+ cmd = None
+ if exists:
+ cmd = self.getUpdateCommand(module)
+ else:
+ cmd = self.getCheckoutCommand(module)
+ return (cmd, exists)
+
+
+ #
+ # methods that should be overridden in subclasses
+ #
+
+ def getCheckoutCommand(self, module):
+ """
+ Create the command needed to obtain a fresh working copy.
+ """
+ return None
+
+ def getUpdateCommand(self, module):
+ """
+ Create the command needed to update an existing working copy.
+ """
+ return None
+
Propchange: gump/trunk/python/gump/core/update/scmupdater.py
------------------------------------------------------------------------------
svn:eol-style = native
Modified: gump/trunk/python/gump/core/update/svn.py
URL: http://svn.apache.org/viewvc/gump/trunk/python/gump/core/update/svn.py?rev=744794&r1=744793&r2=744794&view=diff
==============================================================================
--- gump/trunk/python/gump/core/update/svn.py (original)
+++ gump/trunk/python/gump/core/update/svn.py Mon Feb 16 03:29:00 2009
@@ -42,158 +42,39 @@
from gump.core.model.stats import *
from gump.core.model.state import *
+from gump.core.update.scmupdater import ScmUpdater
+
###############################################################################
# Classes
###############################################################################
-class SvnUpdater(RunSpecific):
+class SvnUpdater(ScmUpdater):
def __init__(self,run):
- RunSpecific.__init__(self,run)
+ ScmUpdater.__init__(self,run)
- def updateModule(self,module):
- """
- Perform a SVN update on a module
- """
-
- log.info('Perform SVN Update on #[' + `module.getPosition()` + \
- '] : ' + module.getName())
-
- # Did we 'SVN checkout' already?
- exists = os.path.exists(module.getSourceControlStagingDirectory())
-
- # Doesn't teach us much
- #if exists:
- # self.performStatus(module)
-
- self.performUpdate(module, exists)
-
- return module.okToPerformWork()
-
- def performStatus(self,module):
+ def getCheckoutCommand(self, module):
"""
-
- Do a status comparison between our copy and server
-
+ Build the appropriate SVN command for checkout
"""
-
- # Get the Update Command
- cmd = self.getStatusCommand(module)
-
- # Execute the command and capture results
- cmdResult=execute(cmd, module.getWorkspace().tmpdir)
-
- # Store this as work
- work=CommandWorkItem(WORK_TYPE_UPDATE,cmd,cmdResult)
- module.performedWork(work)
-
- # Update Context w/ Results
- if not cmdResult.isOk():
- message='Failed to \'status --show-updates\' module: ' + module.getName()
- module.addWarning(message)
- log.error(message)
+ return self.getCommand(module, False)
- def getStatusCommand(self,module):
+ def getUpdateCommand(self, module):
"""
-
- Build the 'svn status --show-updates --non-interative' command
-
+ Build the appropriate SVN command for update
"""
- log.debug("SubVersion Module Status : " + module.getName() + \
- ", Repository Name: " + str(module.repository.getName()))
-
- url=module.getScm().getRootUrl()
-
- log.debug("SVN URL: [" + url + "] on Repository: " + module.repository.getName())
-
- #
- # Prepare SVN checkout/update command...
- #
- cmd=Cmd('svn', 'status_'+module.getName(),
- module.getSourceControlStagingDirectory())
-
- #
- # Be 'quiet' (but not silent) unless requested otherwise.
- #
- if not module.isDebug() \
- and not module.isVerbose() \
- and not module.getScm().isDebug() \
- and not module.getScm().isVerbose():
- cmd.addParameter('--quiet')
-
- #
- # Allow trace for debug
- #
- # SVN complains about -v|--verbose, don't ask me why
- #
- # if module.isDebug() or module.svn.isDebug():
- # cmd.addParameter('--verbose')
-
- # do an SVN status --show-updates
- cmd.addParameter('status')
- cmd.addParameter('--show-updates')
-
- #
- # Request non-interactive
- #
- cmd.addParameter('--non-interactive')
-
- return cmd
+ return self.getCommand(module, True)
-
- def performUpdate(self,module,exists):
+ def getCommand(self, module, forUpdate):
"""
-
- Check-out or Update from SVN
-
+ Build the appropriate SVN command for checkout or update
"""
-
- # Get the Update Command
- (repository, url, cmd ) = self.getUpdateCommand(module, exists)
-
-
- # Execute the command and capture results
- cmdResult=execute(cmd, module.getWorkspace().tmpdir)
-
- #
- # Store this as work, on both the module and (cloned) on the repo
- #
- work=CommandWorkItem(WORK_TYPE_UPDATE,cmd,cmdResult)
- module.performedWork(work)
- repository.performedWork(work.clone())
+ repository = module.repository
+ url = module.getScm().getRootUrl()
- # Update Context w/ Results
- if not cmdResult.isOk():
- log.error('Failed to checkout/update module: ' + module.name)
- module.changeState(STATE_FAILED,REASON_UPDATE_FAILED)
- else:
- module.changeState(STATE_SUCCESS)
-
-
- def preview(self,module):
- (repository, url, command ) = self.getUpdateCommand(module,0)
- command.dump()
-
- # Doesn't teach us much
- # command = self.getStatusCommand(module)
- # command.dump()
-
- (repository, url, command ) = self.getUpdateCommand(module,1)
- command.dump()
-
- def getUpdateCommand(self,module,exists=0):
- """
- Build the appropriate SVN command for checkout/update
- """
- repository=module.repository
-
- log.debug("SubVersion Module Update : " + module.getName() + \
- ", Repository Name: " + repository.getName())
-
- url=module.getScm().getRootUrl()
-
- log.debug("SVN URL: [" + url + "] on Repository: " + repository.getName())
+ log.debug("SVN URL: [" + url + "] on Repository: "\
+ + repository.getName())
#
# Prepare SVN checkout/update command...
@@ -204,25 +85,12 @@
#
# Be 'quiet' (but not silent) unless requested otherwise.
#
- if not module.isDebug() \
- and not module.isVerbose() \
- and not module.getScm().isDebug() \
- and not module.getScm().isVerbose():
+ if self.shouldBeQuiet(module):
cmd.addParameter('--quiet')
- #
- # Allow trace for debug
- #
- # SVN complains about -v|--verbose, don't ask me why
- #
- # if module.isDebug() or module.getScm().isDebug():
- # cmd.addParameter('--verbose')
-
- if exists:
- # do an SVN update
+ if forUpdate:
cmd.addParameter('update')
else:
- # do an SVN checkout
cmd.addParameter('checkout', url)
#
@@ -244,6 +112,4 @@
not module.getScm().getDir() == module.getName():
cmd.addParameter(module.getName())
- return (module.repository, url, cmd)
-
-
+ return cmd