v0.13.0, "Jane"
Breaking changes
-
#343:
libvcs.cmd.coremoved tolibvcs._internal.runto make it more clear the API is
closed.This includes
~libvcs._internal.run.runBefore in 0.13:
from libvcs.cmd.core import run
New module in >=0.13:
from libvcs._internal.run import run
-
#361:
~libvcs._internal.run.run's params are now a pass-through to
subprocess.Popen.run(cmd, ...)is nowrun(args, ...)to matchPopen's convention.
-
{class}
libvcs.projects.base.BaseProject:-
Removed
parent_dir:Before:
project.parent_dirAfter:
project.parent.dir. -
repo_nameswitched from attribute to property
-
What's new
-
Commands: Experimental command wrappers added ({issue}
346):-
libvcs.cmd.git.Gitlibvcs.cmd.git.Git.helplibvcs.cmd.git.Git.resetlibvcs.cmd.git.Git.checkoutlibvcs.cmd.git.Git.statuslibvcs.cmd.git.Git.configvia #360
-
-
Command: Now support
-C(which accepts.gitdirs, see git's manual) in addition tocwd
(subprocess-passthrough), #360
Bug fixes
- Fix argument input for commands, e.g.
git config --get color.diffwould not properly
pass-through to subprocess. git: #360, svn and hg: #365
Internals
-
-
Basic mypy tests now pass
-
Type annotations added, including improved typings for:
libvcs._internal.subprocess.SubprocessCommand.runlibvcs._internal.subprocess.SubprocessCommand.Popenlibvcs._internal.subprocess.SubprocessCommand.check_outputlibvcs._internal.subprocess.run.run
-
make mypyandmake watch_mypy -
Automatic checking on CI
-
-
#345
libvcs.utils->libvcs._internalto make it more obvious the APIs are strictly
closed. -
StrOrPath->StrPath -
#336:
~libvcs._internal.subprocess.SubprocessCommand: Encapsulated
subprocesscall in adataclasses.dataclassfor introspecting, modifying, mocking
and controlling execution. -
Dataclass helper:
~libvcs._internal.dataclasses.SkipDefaultFieldsReprMixinSkip default fields in object representations.
Credit: Pietro Oldrati, 2022-05-08,
StackOverflow Post
Documentation
- Document
libvcs.types - #362 Improve developer documentation to note mypy and have tabbed examples for flake8.
Packaging
- Update description and keywords
PRs
- Controllable
subprocesswrapper by @tony in #336 - refactor!:
cmd.core->utils.runby @tony in #343 - tests (doctest): Remove unused doctest flags by @tony in #344
- refactor!:
libvcs.utils->libvcs._internalby @tony in #345 - More git commands by @tony in #346
cmd.git: Command fixes, addgit configby @tony in #360- chore(run): Pass through to
subprocess.Popenby @tony in #361 - refactor!(projects): Make arguments kw-only by @tony in #364
- fix(cmd[hg,svn]): Fix argument flag passing by @tony in #365
- refactor!(cmd): Keyword-only params by @tony in #366
- chore: mypy and additional type annotations by @tony in #362
Full Changelog: v0.12.0...v0.13.0