Abstract base class for Version Control System operations (checkout 
  and update). This class extracts the following arguments from the 
  dictionary received from the master:
  
    | 
       
     | 
      
        
          setup(self,
        args) 
      Override this in a subclass to extract items from the args dict. | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
       
     | 
      
        
          getCommand(self,
        name) 
      Wrapper around utils.getCommand that will output a resonable error 
      message and raise AbandonChain if the command cannot be found | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
        
          sourcedirIsUpdateable(self) 
      Returns True if the tree can be updated. | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
       
     | 
      
        
          doVCUpdate(self) 
      Returns a deferred with the steps to update a checkout. | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
       
     | 
      
        
          doVCFull(self) 
      Returns a deferred with the steps to do a fresh checkout. | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
        
          maybeNotDoVCFallback(self,
        rc) 
      Override this in a subclass if you want to detect unrecoverable 
      checkout errors where clobbering the repo wouldn't help, and stop the
      current VC chain before it clobbers the repo for future builds. | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
        
          | doClobber(self,
        dummy,
        dirname,
        chmodDone=False) | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
        
          setFileContents(self,
        filename,
        contents) 
      Put the given contents in filename; this is
      a bit more succinct than opening, writing, and closing, and has the 
      advantage of being patchable in tests. | 
          
            source code
            
           | 
         
       
      
     | 
  
  
    | 
     Inherited from Command:
      __init__,
      __providedBy__,
      __provides__,
      doInterrupt,
      doStart,
      sendStatus
       
     |