code: def diff(repo_uri, source, target, output, verbose):
      
      logging.basicConfig(
          format="%(asctime)s: %(name)s:%(levelname)s %(message)s",
          level=(verbose and logging.DEBUG or logging.INFO))
      logging.getLogger('botocore').setLevel(logging.WARNING)
  
      if repo_uri is None:
          repo_uri = pygit2.discover_repository(os.getcwd())
  
      repo = pygit2.Repository(repo_uri)
      load_resources()
  
      # If on master show diff between last commit to current head
      if repo.head.shorthand == 'master':
          if source is None:
              source = 'master@{1}'
          if target is None:
              target = 'master'
      # Else show difference between master and current head
      elif target is None:
          target = repo.head.shorthand
      if source is None:
          source = 'master'
  
      policy_repo = PolicyRepo(repo_uri, repo)
      changes = list(policy_repo.delta_commits(
          repo.revparse_single(source), repo.revparse_single(target)))
      output.write(
          yaml.safe_dump({
              'policies': [c.policy.data for c in changes
                           if c.kind != ChangeType.REMOVE]}).encode('utf8'))
docs: Policy diff between two arbitrary revisions.
  
      Revision specifiers for source and target can use fancy git refspec syntax
      for symbolics, dates, etc.
  
      See: https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection
  
      Default revision selection is dependent on current working tree
      branch. The intent is for two use cases, if on a non-master branch
      then show the diff to master.  If on master show the diff to
      previous commit on master. For repositories not using the
      `master` convention, please specify explicit source and target.