parameters: (self, depot, bad_revision, good_revision)
return_statement: return revision_work_list
docstring: Retrieves a list of all the commits between the bad revision and
      last known good revision.
docstring_summary: Retrieves a list of all the commits between the bad revision and
      last known good revision.
docstring_tokens: Retrieves a list of all the commits between the bad revision and last known good revision .
function: def GetRevisionList(self, depot, bad_revision, good_revision):
      """Retrieves a list of all the commits between the bad revision and
      last known good revision."""
  
      revision_work_list = []
  
      if depot == 'cros':
        revision_range_start = good_revision
        revision_range_end = bad_revision
  
        cwd = os.getcwd()
        self.ChangeToDepotWorkingDirectory('cros')
  
        # Print the commit timestamps for every commit in the revision time
        # range. We'll sort them and bisect by that. There is a remote chance that
        # 2 (or more) commits will share the exact same timestamp, but it's
        # probably safe to ignore that case.
        cmd = ['repo', 'forall', '-c',
            'git log --format=%%ct --before=%d --after=%d' % (
            revision_range_end, revision_range_start)]
        (output, return_code) = RunProcessAndRetrieveOutput(cmd)
  
        assert not return_code, 'An error occurred while running'\
                                ' "%s"' % ' '.join(cmd)
  
        os.chdir(cwd)
  
        revision_work_list = list(set(
            [int(o) for o in output.split('\n') if IsStringInt(o)]))
        revision_work_list = sorted(revision_work_list, reverse=True)
      else:
        cwd = self._GetDepotDirectory(depot)
        revision_work_list = self.source_control.GetRevisionList(bad_revision,
            good_revision, cwd=cwd)
  
      return revision_work_list
function_tokens: def GetRevisionList ( self , depot , bad_revision , good_revision ) : revision_work_list = [ ] if depot == 'cros' : revision_range_start = good_revision revision_range_end = bad_revision cwd = os . getcwd ( ) self . ChangeToDepotWorkingDirectory ( 'cros' ) # Print the commit timestamps for every commit in the revision time # range. We'll sort them and bisect by that. There is a remote chance that # 2 (or more) commits will share the exact same timestamp, but it's # probably safe to ignore that case. cmd = [ 'repo' , 'forall' , '-c' , 'git log --format=%%ct --before=%d --after=%d' % ( revision_range_end , revision_range_start ) ] ( output , return_code ) = RunProcessAndRetrieveOutput ( cmd ) assert not return_code , 'An error occurred while running' ' "%s"' % ' ' . join ( cmd ) os . chdir ( cwd ) revision_work_list = list ( set ( [ int ( o ) for o in output . split ( '\n' ) if IsStringInt ( o ) ] ) ) revision_work_list = sorted ( revision_work_list , reverse = True ) else : cwd = self . _GetDepotDirectory ( depot ) revision_work_list = self . source_control . GetRevisionList ( bad_revision , good_revision , cwd = cwd ) return revision_work_list