code: def verify(self, string_version=None):
          
          if string_version and string_version != str(self):
              raise Exception("Supplied string version does not match current version.")
  
          if self.dirty:
              raise Exception("Current working directory is dirty.")
  
          if self.release != self.expected_release:
              raise Exception("Declared release does not match current release tag.")
  
          if self.commit_count !=0:
              raise Exception("Please update the VCS version tag before release.")
  
          if self._expected_commit not in [None, "$Format:%h$"]:
              raise Exception("Declared release does not match the VCS version tag")
docs: Check that the version information is consistent with the VCS
          before doing a release. If supplied with a string version,
          this is also checked against the current version. Should be
          called from setup.py with the declared package version before
          releasing to PyPI.