class_docstr: path implementation that offers access to (possibly remote) subversion
  repositories. 
docstr: return a list of LogEntry instances for this path.
  rev_start is the starting revision (defaulting to the first one).
  rev_end is the last revision (defaulting to HEAD).
  if verbose is True, then the LogEntry instances also know which files changed.
code: def log(self, rev_start=None, rev_end=1, verbose=False):
      """return a list of LogEntry instances for this path.
      rev_start is the starting revision (defaulting to the first one).
      rev_end is the last revision (defaulting to HEAD).
      if verbose is True, then the LogEntry instances also know which files changed.
      """
      assert self.check()  # make it simpler for the pipe
      rev_start = rev_start is None and "HEAD" or rev_start
      rev_end = rev_end is None and "HEAD" or rev_end
  
      if rev_start == "HEAD" and rev_end == 1:
          rev_opt = ""
      else:
          rev_opt = "-r %s:%s" % (rev_start, rev_end)
      verbose_opt = verbose and "-v" or ""
      xmlpipe = self._svnpopenauth(
          'svn log --xml %s %s "%s"'
          % (rev_opt, verbose_opt, self.strpath)
      )
      from xml.dom import minidom
  
      tree = minidom.parse(xmlpipe)
      result = []
      for logentry in filter(None, tree.firstChild.childNodes):
          if logentry.nodeType == logentry.ELEMENT_NODE:
              result.append(svncommon.LogEntry(logentry))
      return result
  
imports: import os, sys, time, re
  import py
  from py import path, process
  from py._path import common
  from py._path import svnwc
  from py._path.cacheutil import BuildcostAccessCache, AgingCache
label_desc: Use image node_id 24 for calling the SvnCommandPath obj's underlying member method code with example usage: obj.log(rev_start, rev_end, verbose) and returns: result