docs: def new(self, repo):
          """
          Create a new version of a repo.Local object.
  
          :param repo: Instance of repo.Local.
  
          :return: New Version instance.
          """
          #TODO: subclass Commit, pass parent as init param
          try:
              # create new commit instance and set metadata
              commit = Commit()
              author = os.environ.get('USER')
              commit.author = commit.committer = author
              commit.commit_time = commit.author_time = int(time())
              tz = parse_timezone('-0200')[0]
              commit.commit_timezone = commit.author_timezone = tz
              commit.encoding = "UTF-8"
              commit.message = ''
  
              # set previous version as parent to this one
              parent = repo.versions(-1)
              if parent:
                  commit.parents = [parent.id]
  
              # create new tree, add entries from previous version
              tree = Tree()
              curr = repo.versions(-1)
              if curr:
                  for item in curr.items():
                      tree.addItem(item)
              commit.tree = tree.id
  
              # create new version, and add tree
              version = Version(repo=repo, commit=commit, tree=tree)
              return version
  
          except Exception, e:
              traceback.print_exc()
              return VersionError(e)