def _fullClone(self, shallowClone=False):
        """Perform full clone and checkout to the revision if specified
           In the case of shallow clones if any of the step fail abort whole build step.
        """
        res = yield self._clone(shallowClone)
        if res != RC_SUCCESS:
            return res

        # If revision specified checkout that revision
        if self.revision:
            res = yield self._dovccmd(['reset', '--hard',
                                       self.revision, '--'],
                                      shallowClone)
        # init and update submodules, recursively. If there's not recursion
        # it will not do it.
        if self.submodules:
            res = yield self._dovccmd(['submodule', 'update',
                                       '--init', '--recursive'],
                                      shallowClone)

        return res
def _fullClone ( self , shallowClone = False ) : res = yield self . _clone ( shallowClone ) if res != RC_SUCCESS : return res if self . revision : res = yield self . _dovccmd ( [ 'reset' , '--hard' , self . revision , '--' ] , shallowClone ) if self . submodules : res = yield self . _dovccmd ( [ 'submodule' , 'update' , '--init' , '--recursive' ] , shallowClone ) return res
Perform full clone and checkout to the revision if specified
           In the case of shallow clones if any of the step fail abort whole build step.