Skip to content

v0.12.0

Compare
Choose a tag to compare
@tony tony released this 28 May 13:15
· 1014 commits to master since this release

Breaking

  • GitRepo, SVNRepo, MercurialRepo, BaseRepo have been renamed to GitProject, SVNProject,
    MercurialProject, BaseProject (#327)

  • GitProject, SVNProject, MercurialProject, BaseProject have been moved to
    libvcs.projects.{module}.{Module}Project

  • repo_dir param is renamed to dir:

    Before: GitProject(url='...', repo_dir='...')

    After: GitProject(url='...', dir='...')

    #324

  • dir to pathlib, BaseProject.path -> BaseProject.dir

  • Logging functions moved to {attr}libvcs.projects.base.BaseProject.log (#322)

  • Rename ProjectLoggingAdapter to CmdLoggingAdapter

  • CmdLoggingAdapter: Rename repo_name param to keyword

  • create_repo -> create_project

  • GitRemote and GitStatus: Move to {func}dataclasses.dataclass (#329)

  • extract_status(): Move to GitStatus.from_stdout (#329)

What's new

  • Commands: Experimental command wrappers added (#319):

    • libvcs.cmd.git.Git

      • libvcs.cmd.git.Git.run
      • libvcs.cmd.git.Git.clone
      • libvcs.cmd.git.Git.init
      • libvcs.cmd.git.Git.pull
      • libvcs.cmd.git.Git.rebase
    • libvcs.cmd.svn.Svn

      • libvcs.cmd.svn.Svn.run
      • libvcs.cmd.svn.Svn.checkout
      • libvcs.cmd.svn.Svn.update
      • libvcs.cmd.svn.Svn.status
      • libvcs.cmd.svn.Svn.auth
      • libvcs.cmd.svn.Svn.blame
      • libvcs.cmd.svn.Svn.commit
    • libvcs.cmd.hg.Hg

      • libvcs.cmd.hg.Hg.run
      • libvcs.cmd.hg.Hg.clone
  • {class}libvcs.projects.git.GitProject now accepts remotes in __init__

    repo = GitProject(
        url="https://github.com/vcs-python/libvcs",
        repo_dir=checkout,
        remotes={
            'gitlab': 'https://gitlab.com/vcs-python/libvcs',
        }
    )
    repo = GitProject(
        url="https://github.com/vcs-python/libvcs",
        repo_dir=checkout,
        remotes={
            'gitlab': {
                'fetch_url': 'https://gitlab.com/vcs-python/libvcs',
                'push_url': 'https://gitlab.com/vcs-python/libvcs',
            },
        }
    )
  • libvcs.projects.git.GitProject.update_repo now accepts set_remotes=True

What's Changed

  • Drop python 3.7 and 3.8 by @tony in #308
  • Remotes: Part 1 (tests) by @tony in #309
  • codeql-analysis by @tony in #303
  • Remotes, part 2 by @tony in #314
  • ci(tests): Use poetry cache action by @tony in #316
  • refactor!: move to libvcs.states by @tony in #318
  • Doctest by @tony in #321
  • Extract logging adapter by @tony in #322
  • Typing and doctests by @tony in #323
  • refactor!: Rename repo_dir to dir by @tony in #324
  • feat(libvcs.cmd): Lite, typed, pythonic command wrappers for git, hg, mercurial by @tony in #319
  • feat(git): git pull by @tony in #325
  • git rebase by @tony in #326
  • refactor!: Rename states -> projects by @tony in #327
  • sphinx-autoapi by @tony in #328
  • dataclasses by @tony in #329
  • feat: QueryList: Filter lists of dictionaries w/ nested support by @tony in #332
  • tests: Try to ensure unique path by @tony in #335

Full Changelog: v0.11.1...v0.12.0