old_contents: from fabric.api import local, task, abort, settings
  from clom import clom
  from fabric.contrib.console import confirm
  
  @task
  def release():
      """
      Release current version to pypi
      """
  
      with settings(warn_only=True):
          r = local(clom.git['diff-files']('--quiet', '--ignore-submodules', '--'))
  
      if r.return_code != 0:
          abort('There are uncommitted changes, commit or stash them before releasing')
  
      version = open('VERSION.txt').read().strip()
  
      existing_tag = local(clom.git.tag('-l', version), capture=True)
      if not existing_tag.strip():
          print('Releasing %s...' % version)
          local(clom.git.flow.release.start(version))
          local(clom.git.flow.release.finish(version, m='Release-%s' % version))
  
      if confirm('Push %s to pypi?' % version, default=True):
          local(clom.git.push('origin', 'HEAD'))
          local(clom.git.push('origin', version))
          local(clom.python('setup.py', 'sdist', 'upload'))
new_contents: from fabric.api import local, task, abort, settings
  from clom import clom
  from fabric.contrib.console import confirm
  
  @task
  def release():
      """
      Release current version to pypi
      """
  
      with settings(warn_only=True):
          r = local(clom.git['diff-files']('--quiet', '--ignore-submodules', '--'))
  
      if r.return_code != 0:
          abort('There are uncommitted changes, commit or stash them before releasing')
  
      version = open('VERSION.txt').read().strip()
  
      existing_tag = local(clom.git.tag('-l', version), capture=True)
      if not existing_tag.strip():
          print('Releasing %s...' % version)
          local(clom.git.tag(version))
  
      if confirm('Push %s to pypi?' % version, default=True):
          local(clom.git.push('origin', 'HEAD'))
          local(clom.git.push('origin', version))
          local(clom.python('setup.py', 'sdist', 'upload'))
subject: Update fabfile.py to not depend on git flow