gitbolt 0.0.0.dev13__tar.gz → 0.0.0.dev14__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/PKG-INFO +2 -2
  2. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/pyproject.toml +2 -2
  3. gitbolt-0.0.0.dev14/src/gitbolt/__init__.py +96 -0
  4. gitbolt-0.0.0.dev14/src/gitbolt/subprocess/__init__.py +15 -0
  5. {gitbolt-0.0.0.dev13/src/gitbolt/git_subprocess → gitbolt-0.0.0.dev14/src/gitbolt/subprocess}/add.py +1 -1
  6. {gitbolt-0.0.0.dev13/src/gitbolt/git_subprocess → gitbolt-0.0.0.dev14/src/gitbolt/subprocess}/base.py +3 -3
  7. {gitbolt-0.0.0.dev13/src/gitbolt/git_subprocess → gitbolt-0.0.0.dev14/src/gitbolt/subprocess}/exceptions.py +5 -5
  8. {gitbolt-0.0.0.dev13/src/gitbolt/git_subprocess → gitbolt-0.0.0.dev14/src/gitbolt/subprocess}/impl/simple.py +6 -6
  9. {gitbolt-0.0.0.dev13/src/gitbolt/git_subprocess → gitbolt-0.0.0.dev14/src/gitbolt/subprocess}/ls_tree.py +1 -1
  10. {gitbolt-0.0.0.dev13/src/gitbolt/git_subprocess → gitbolt-0.0.0.dev14/src/gitbolt/subprocess}/runner/__init__.py +1 -1
  11. {gitbolt-0.0.0.dev13/src/gitbolt/git_subprocess → gitbolt-0.0.0.dev14/src/gitbolt/subprocess}/runner/base.py +9 -0
  12. gitbolt-0.0.0.dev13/src/gitbolt/git_subprocess/runner/simple_impl.py → gitbolt-0.0.0.dev14/src/gitbolt/subprocess/runner/simple.py +16 -4
  13. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt.egg-info/PKG-INFO +2 -2
  14. gitbolt-0.0.0.dev14/src/gitbolt.egg-info/SOURCES.txt +33 -0
  15. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt.egg-info/requires.txt +1 -1
  16. gitbolt-0.0.0.dev13/src/gitbolt/__init__.py +0 -43
  17. gitbolt-0.0.0.dev13/src/gitbolt/git_subprocess/__init__.py +0 -15
  18. gitbolt-0.0.0.dev13/src/gitbolt.egg-info/SOURCES.txt +0 -33
  19. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/LICENSE +0 -0
  20. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/README.md +0 -0
  21. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/setup.cfg +0 -0
  22. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt/_internal_init.py +0 -0
  23. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt/add.py +0 -0
  24. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt/base.py +0 -0
  25. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt/constants.py +0 -0
  26. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt/exceptions.py +0 -0
  27. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt/ls_tree.py +0 -0
  28. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt/models.py +0 -0
  29. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt/py.typed +0 -0
  30. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt/pytest_plugin.py +0 -0
  31. {gitbolt-0.0.0.dev13/src/gitbolt/git_subprocess → gitbolt-0.0.0.dev14/src/gitbolt/subprocess}/_internal_init.py +0 -0
  32. {gitbolt-0.0.0.dev13/src/gitbolt/git_subprocess → gitbolt-0.0.0.dev14/src/gitbolt/subprocess}/constants.py +0 -0
  33. {gitbolt-0.0.0.dev13/src/gitbolt/git_subprocess → gitbolt-0.0.0.dev14/src/gitbolt/subprocess}/impl/__init__.py +0 -0
  34. {gitbolt-0.0.0.dev13/src/gitbolt/git_subprocess → gitbolt-0.0.0.dev14/src/gitbolt/subprocess}/utils.py +0 -0
  35. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt/utils.py +0 -0
  36. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt.egg-info/dependency_links.txt +0 -0
  37. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt.egg-info/entry_points.txt +0 -0
  38. {gitbolt-0.0.0.dev13 → gitbolt-0.0.0.dev14}/src/gitbolt.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitbolt
3
- Version: 0.0.0.dev13
3
+ Version: 0.0.0.dev14
4
4
  Summary: Fast, flexible and type-safe Git commands in Python.
5
5
  Author-email: Suhas Krishna Srivastava <suhas.srivastava@vaastav.tech>
6
6
  Maintainer-email: Suhas Krishna Srivastava <suhas.srivastava@vaastav.tech>
@@ -26,7 +26,7 @@ Classifier: Typing :: Typed
26
26
  Requires-Python: >=3.12
27
27
  Description-Content-Type: text/markdown
28
28
  License-File: LICENSE
29
- Requires-Dist: vt-err-hndlr>=0.0.0dev5
29
+ Requires-Dist: vt-err-hndlr>=0.0.0dev6
30
30
  Requires-Dist: vt-commons>=0.0.1.dev9
31
31
  Provides-Extra: pygit2
32
32
  Requires-Dist: pygit2; extra == "pygit2"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "gitbolt"
3
- version = "0.0.0dev13"
3
+ version = "0.0.0dev14"
4
4
  description = "Fast, flexible and type-safe Git commands in Python."
5
5
  requires-python = ">=3.12"
6
6
  readme = "README.md"
@@ -36,7 +36,7 @@ classifiers = [
36
36
  "Typing :: Typed"
37
37
  ]
38
38
  dependencies = [
39
- "vt-err-hndlr >= 0.0.0dev5",
39
+ "vt-err-hndlr >= 0.0.0dev6",
40
40
  "vt-commons >= 0.0.1.dev9",
41
41
  ]
42
42
 
@@ -0,0 +1,96 @@
1
+ #!/usr/bin/env python3
2
+ # coding=utf-8
3
+
4
+ """
5
+ Git command interfaces with default implementation using subprocess calls.
6
+ """
7
+
8
+ from pathlib import Path
9
+
10
+ # region imports
11
+ # region base related imports
12
+ from gitbolt.base import Git as Git
13
+ from gitbolt.base import CanOverrideGitOpts as CanOverrideGitOpts
14
+ from gitbolt.base import HasGitUnderneath as HasGitUnderneath
15
+ from gitbolt.base import GitSubCommand as GitSubCommand
16
+ from gitbolt.base import LsTree as LsTree
17
+ from gitbolt.base import Version as Version
18
+ from gitbolt.base import Add as Add
19
+ from gitbolt.subprocess.base import GitCommand
20
+ # endregion
21
+
22
+
23
+ from gitbolt.constants import GIT_DIR as GIT_DIR
24
+ from gitbolt.subprocess.constants import GIT_CMD
25
+ from gitbolt.subprocess.impl.simple import SimpleGitCommand as _SimpleGitCommand
26
+ from gitbolt.subprocess.impl.simple import CLISimpleGitCommand as _CLISimpleGitCommand
27
+ from gitbolt.subprocess.runner.simple import SimpleGitCR as _SimpleGitCR
28
+ # endregion
29
+
30
+
31
+ def get_git(git_root_dir: Path = Path.cwd()) -> Git:
32
+ """
33
+ Get operational and programmatic ``Git``.
34
+
35
+ Examples:
36
+
37
+ * Get git version:
38
+
39
+ >>> import subprocess
40
+ >>> import gitbolt
41
+ >>> git = gitbolt.get_git()
42
+ >>> assert git.version().version() == subprocess.run(['git', 'version'], capture_output=True, text=True).stdout.strip()
43
+
44
+ :param git_root_dir: Path to the git repo root directory. Defaults to current working directory.
45
+ :returns: The ``Git`` instance with all subcommands.
46
+ """
47
+
48
+ return _SimpleGitCommand(git_root_dir)
49
+
50
+
51
+ def get_git_command(
52
+ git_root_dir: Path = Path.cwd(),
53
+ *,
54
+ git_prog: str | Path = GIT_CMD,
55
+ main_cmd_opts: list[str] | None = None,
56
+ main_cmd_envs: dict[str, str] | None = None,
57
+ prefer_cli: bool = False,
58
+ ) -> GitCommand:
59
+ """
60
+ Get operational and programmatic ``Git`` which runs as a subprocess.
61
+
62
+ Examples:
63
+
64
+ * Get git version, as base git:
65
+
66
+ >>> import subprocess
67
+ >>> import gitbolt
68
+ >>> git = gitbolt.get_git_command()
69
+ >>> assert git.version().version() == subprocess.run(['git', 'version'], capture_output=True, text=True).stdout.strip()
70
+
71
+ * Get git version, as a git subcommand. Runs git in subprocess:
72
+
73
+ >>> assert git.subcmd_unchecked.run(["version"], text=True).stdout.strip() == subprocess.run(['git', 'version'], capture_output=True, text=True).stdout.strip()
74
+
75
+ :param git_root_dir: Path to the git repo root directory. Defaults to current working directory.
76
+ :param git_prog: git program name/location. Useful when user wants to run a separate git version/git emulator.
77
+ :param opts: main git cli options. The main git command options like ``--no-replace-objects``, ``--no-pager``, ``-C`` etc are git main command args.
78
+ :param envs: main git cli env vars. Not supplying any env vars (default behavior: ``None``) simply supplies all
79
+ the env vars to the underlying runner.
80
+ :param prefer_cli: cli opts and envs will be given priority over programmatically set opts and envs. Setting
81
+ this param to ``True`` will make cli opts and envs appear later in the opts and envs strings which will
82
+ make them override previously programmatically set opts and envs.
83
+ :returns: ``GitCommand`` instance with all the subcommands as well as ``unchecked_subcmd``. Runs git commands in a
84
+ separate runner in subprocess.
85
+ """
86
+ runner = _SimpleGitCR(git_prog)
87
+ if main_cmd_opts is None:
88
+ return _SimpleGitCommand(git_root_dir, runner)
89
+ else:
90
+ return _CLISimpleGitCommand(
91
+ git_root_dir,
92
+ runner,
93
+ opts=main_cmd_opts,
94
+ envs=main_cmd_envs,
95
+ prefer_cli=prefer_cli,
96
+ )
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env python3
2
+ # coding=utf-8
3
+
4
+ """
5
+ Git command interfaces with implementation using subprocess calls.
6
+ """
7
+
8
+ # region gitbolt.subprocess.base
9
+ from gitbolt.subprocess.base import GitCommand as GitCommand
10
+ from gitbolt.subprocess.base import GitSubcmdCommand as GitSubcmdCommand
11
+ from gitbolt.subprocess.base import AddCommand as AddCommand
12
+ from gitbolt.subprocess.base import LsTreeCommand as LsTreeCommand
13
+ from gitbolt.subprocess.base import VersionCommand as VersionCommand
14
+ from gitbolt.subprocess.base import UncheckedSubcmd as UncheckedSubcmd
15
+ # endregion
@@ -9,7 +9,7 @@ from abc import abstractmethod
9
9
  from pathlib import Path
10
10
  from typing import Protocol, Unpack, override, Literal
11
11
 
12
- from gitbolt.git_subprocess.constants import ADD_CMD
12
+ from gitbolt.subprocess.constants import ADD_CMD
13
13
  from gitbolt.models import GitAddOpts
14
14
 
15
15
 
@@ -19,12 +19,12 @@ from vt.utils.errors.error_specs import ERR_INVALID_USAGE
19
19
 
20
20
  from gitbolt import Git, Version, LsTree, GitSubCommand, HasGitUnderneath, Add
21
21
  from gitbolt.exceptions import GitExitingException
22
- from gitbolt.git_subprocess.add import AddCLIArgsBuilder, IndividuallyOverridableACAB
23
- from gitbolt.git_subprocess.ls_tree import (
22
+ from gitbolt.subprocess.add import AddCLIArgsBuilder, IndividuallyOverridableACAB
23
+ from gitbolt.subprocess.ls_tree import (
24
24
  LsTreeCLIArgsBuilder,
25
25
  IndividuallyOverridableLTCAB,
26
26
  )
27
- from gitbolt.git_subprocess.runner import GitCommandRunner
27
+ from gitbolt.subprocess.runner import GitCommandRunner
28
28
  from gitbolt.models import GitOpts, GitLsTreeOpts, GitAddOpts, GitEnvVars
29
29
  from gitbolt.utils import merge_git_opts, merge_git_envs
30
30
 
@@ -22,26 +22,26 @@ class GitCmdException(GitException, VTCmdException):
22
22
 
23
23
  >>> raise GitCmdException(called_process_error=CalledProcessError(1, ['git', 'status'])) # always use `from` clause.
24
24
  Traceback (most recent call last):
25
- gitbolt.git_subprocess.exceptions.GitCmdException: CalledProcessError: Command '['git', 'status']' returned non-zero exit status 1.
25
+ gitbolt.subprocess.exceptions.GitCmdException: CalledProcessError: Command '['git', 'status']' returned non-zero exit status 1.
26
26
 
27
27
  * raise with a message:
28
28
 
29
29
  >>> raise GitCmdException('Git failed', called_process_error=CalledProcessError(1, ['git', 'push'])) # always use `from` clause.
30
30
  Traceback (most recent call last):
31
- gitbolt.git_subprocess.exceptions.GitCmdException: CalledProcessError: Git failed
31
+ gitbolt.subprocess.exceptions.GitCmdException: CalledProcessError: Git failed
32
32
 
33
33
  * raise with overridden exit code:
34
34
 
35
35
  >>> raise GitCmdException('Git push failed', called_process_error=CalledProcessError(1, ['git', 'push']), exit_code=42) # always use `from` clause.
36
36
  Traceback (most recent call last):
37
- gitbolt.git_subprocess.exceptions.GitCmdException: CalledProcessError: Git push failed
37
+ gitbolt.subprocess.exceptions.GitCmdException: CalledProcessError: Git push failed
38
38
 
39
39
  * raise without message, override with stderr inside CalledProcessError:
40
40
 
41
41
  >>> err = CalledProcessError(128, ['git', 'fetch'], stderr='fatal: not a git repository')
42
42
  >>> raise GitCmdException(called_process_error=err) # always use `from` clause.
43
43
  Traceback (most recent call last):
44
- gitbolt.git_subprocess.exceptions.GitCmdException: CalledProcessError: Command '['git', 'fetch']' returned non-zero exit status 128.
44
+ gitbolt.subprocess.exceptions.GitCmdException: CalledProcessError: Command '['git', 'fetch']' returned non-zero exit status 128.
45
45
 
46
46
  * raise exception using `from` clause (chaining):
47
47
 
@@ -50,7 +50,7 @@ class GitCmdException(GitException, VTCmdException):
50
50
  ... except CalledProcessError as e:
51
51
  ... raise GitCmdException('Clone failed', called_process_error=e) from e
52
52
  Traceback (most recent call last):
53
- gitbolt.git_subprocess.exceptions.GitCmdException: CalledProcessError: Clone failed
53
+ gitbolt.subprocess.exceptions.GitCmdException: CalledProcessError: Clone failed
54
54
 
55
55
  * cause reflects original CalledProcessError when chained:
56
56
 
@@ -15,7 +15,7 @@ from vt.utils.commons.commons.op import RootDirOp
15
15
 
16
16
  from gitbolt.base import Version
17
17
  from gitbolt.add import AddArgsValidator
18
- from gitbolt.git_subprocess import (
18
+ from gitbolt.subprocess import (
19
19
  GitCommand,
20
20
  VersionCommand,
21
21
  LsTreeCommand,
@@ -23,11 +23,11 @@ from gitbolt.git_subprocess import (
23
23
  AddCommand,
24
24
  UncheckedSubcmd,
25
25
  )
26
- from gitbolt.git_subprocess.add import AddCLIArgsBuilder
27
- from gitbolt.git_subprocess.constants import VERSION_CMD
28
- from gitbolt.git_subprocess.ls_tree import LsTreeCLIArgsBuilder
29
- from gitbolt.git_subprocess.runner import GitCommandRunner
30
- from gitbolt.git_subprocess.runner.simple_impl import SimpleGitCR
26
+ from gitbolt.subprocess.add import AddCLIArgsBuilder
27
+ from gitbolt.subprocess.constants import VERSION_CMD
28
+ from gitbolt.subprocess.ls_tree import LsTreeCLIArgsBuilder
29
+ from gitbolt.subprocess.runner import GitCommandRunner
30
+ from gitbolt.subprocess.runner.simple import SimpleGitCR
31
31
  from gitbolt.ls_tree import LsTreeArgsValidator
32
32
 
33
33
 
@@ -8,7 +8,7 @@ Helper interfaces for ``git ls-tree`` subcommand with default implementation for
8
8
  from abc import abstractmethod
9
9
  from typing import Protocol, Unpack, override
10
10
 
11
- from gitbolt.git_subprocess.constants import LS_TREE_CMD
11
+ from gitbolt.subprocess.constants import LS_TREE_CMD
12
12
  from gitbolt.models import GitLsTreeOpts
13
13
 
14
14
 
@@ -5,4 +5,4 @@
5
5
  Git command runners to run subprocess calls.
6
6
  """
7
7
 
8
- from gitbolt.git_subprocess.runner.base import GitCommandRunner as GitCommandRunner
8
+ from gitbolt.subprocess.runner.base import GitCommandRunner as GitCommandRunner
@@ -7,6 +7,7 @@ Git command runner interfaces to run subprocess calls.
7
7
 
8
8
  from __future__ import annotations
9
9
 
10
+ import pathlib
10
11
  from abc import abstractmethod
11
12
  from subprocess import CompletedProcess
12
13
  from typing import Protocol, overload, Any, Literal
@@ -62,3 +63,11 @@ class GitCommandRunner(Protocol):
62
63
  text: Literal[False] = ...,
63
64
  **subprocess_run_kwargs: Any,
64
65
  ) -> CompletedProcess[bytes]: ...
66
+
67
+ @property
68
+ @abstractmethod
69
+ def git_prog(self) -> str | pathlib.Path:
70
+ """
71
+ :returns: git path location or git program name.
72
+ """
73
+ ...
@@ -7,13 +7,14 @@ A simple and straight-forward git command subprocess runner implementation.
7
7
 
8
8
  from __future__ import annotations
9
9
 
10
+ import pathlib
10
11
  import subprocess
11
12
  from subprocess import CompletedProcess
12
13
  from typing import overload, override, Any, Literal
13
14
 
14
- from gitbolt.git_subprocess.constants import GIT_CMD
15
- from gitbolt.git_subprocess.exceptions import GitCmdException
16
- from gitbolt.git_subprocess.runner import GitCommandRunner
15
+ from gitbolt.subprocess.constants import GIT_CMD
16
+ from gitbolt.subprocess.exceptions import GitCmdException
17
+ from gitbolt.subprocess.runner import GitCommandRunner
17
18
 
18
19
 
19
20
  class SimpleGitCR(GitCommandRunner):
@@ -21,6 +22,12 @@ class SimpleGitCR(GitCommandRunner):
21
22
  Simple git command runner that simply runs everything `as-is` in a subprocess.
22
23
  """
23
24
 
25
+ def __init__(self, git_prog: str | pathlib.Path = GIT_CMD):
26
+ """
27
+ :param git_prog: git program name/location. Useful when user wants to run a separate git version/git emulator.
28
+ """
29
+ self._git_prog = git_prog
30
+
24
31
  @overload
25
32
  @override
26
33
  def run_git_command(
@@ -79,7 +86,7 @@ class SimpleGitCR(GitCommandRunner):
79
86
  ) -> CompletedProcess[str] | CompletedProcess[bytes]:
80
87
  try:
81
88
  return subprocess.run(
82
- [GIT_CMD, *main_cmd_args, *subcommand_args],
89
+ [str(self.git_prog), *main_cmd_args, *subcommand_args],
83
90
  *subprocess_run_args,
84
91
  input=_input,
85
92
  text=text,
@@ -89,3 +96,8 @@ class SimpleGitCR(GitCommandRunner):
89
96
  raise GitCmdException(
90
97
  e.stderr, called_process_error=e, exit_code=e.returncode
91
98
  ) from e
99
+
100
+ @override
101
+ @property
102
+ def git_prog(self) -> str | pathlib.Path:
103
+ return self._git_prog
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitbolt
3
- Version: 0.0.0.dev13
3
+ Version: 0.0.0.dev14
4
4
  Summary: Fast, flexible and type-safe Git commands in Python.
5
5
  Author-email: Suhas Krishna Srivastava <suhas.srivastava@vaastav.tech>
6
6
  Maintainer-email: Suhas Krishna Srivastava <suhas.srivastava@vaastav.tech>
@@ -26,7 +26,7 @@ Classifier: Typing :: Typed
26
26
  Requires-Python: >=3.12
27
27
  Description-Content-Type: text/markdown
28
28
  License-File: LICENSE
29
- Requires-Dist: vt-err-hndlr>=0.0.0dev5
29
+ Requires-Dist: vt-err-hndlr>=0.0.0dev6
30
30
  Requires-Dist: vt-commons>=0.0.1.dev9
31
31
  Provides-Extra: pygit2
32
32
  Requires-Dist: pygit2; extra == "pygit2"
@@ -0,0 +1,33 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ src/gitbolt/__init__.py
5
+ src/gitbolt/_internal_init.py
6
+ src/gitbolt/add.py
7
+ src/gitbolt/base.py
8
+ src/gitbolt/constants.py
9
+ src/gitbolt/exceptions.py
10
+ src/gitbolt/ls_tree.py
11
+ src/gitbolt/models.py
12
+ src/gitbolt/py.typed
13
+ src/gitbolt/pytest_plugin.py
14
+ src/gitbolt/utils.py
15
+ src/gitbolt.egg-info/PKG-INFO
16
+ src/gitbolt.egg-info/SOURCES.txt
17
+ src/gitbolt.egg-info/dependency_links.txt
18
+ src/gitbolt.egg-info/entry_points.txt
19
+ src/gitbolt.egg-info/requires.txt
20
+ src/gitbolt.egg-info/top_level.txt
21
+ src/gitbolt/subprocess/__init__.py
22
+ src/gitbolt/subprocess/_internal_init.py
23
+ src/gitbolt/subprocess/add.py
24
+ src/gitbolt/subprocess/base.py
25
+ src/gitbolt/subprocess/constants.py
26
+ src/gitbolt/subprocess/exceptions.py
27
+ src/gitbolt/subprocess/ls_tree.py
28
+ src/gitbolt/subprocess/utils.py
29
+ src/gitbolt/subprocess/impl/__init__.py
30
+ src/gitbolt/subprocess/impl/simple.py
31
+ src/gitbolt/subprocess/runner/__init__.py
32
+ src/gitbolt/subprocess/runner/base.py
33
+ src/gitbolt/subprocess/runner/simple.py
@@ -1,4 +1,4 @@
1
- vt-err-hndlr>=0.0.0dev5
1
+ vt-err-hndlr>=0.0.0dev6
2
2
  vt-commons>=0.0.1.dev9
3
3
 
4
4
  [pygit2]
@@ -1,43 +0,0 @@
1
- #!/usr/bin/env python3
2
- # coding=utf-8
3
-
4
- """
5
- Git command interfaces with default implementation using subprocess calls.
6
- """
7
-
8
- from pathlib import Path
9
-
10
- # region imports
11
- # region base related imports
12
- from gitbolt.base import Git as Git
13
- from gitbolt.base import CanOverrideGitOpts as CanOverrideGitOpts
14
- from gitbolt.base import HasGitUnderneath as HasGitUnderneath
15
- from gitbolt.base import GitSubCommand as GitSubCommand
16
- from gitbolt.base import LsTree as LsTree
17
- from gitbolt.base import Version as Version
18
- from gitbolt.base import Add as Add
19
- # endregion
20
-
21
-
22
- from gitbolt.constants import GIT_DIR as GIT_DIR
23
- # endregion
24
-
25
-
26
- def get_git(git_root_dir: Path = Path.cwd()) -> Git:
27
- """
28
- Get operational and programmatic ``Git``.
29
-
30
- Examples:
31
-
32
- * Get git version:
33
-
34
- >>> import subprocess
35
- >>> import gitbolt
36
- >>> git = gitbolt.get_git()
37
- >>> assert git.version().version() == subprocess.run(['git', 'version'], capture_output=True, text=True).stdout.strip()
38
-
39
- :param git_root_dir: Path to the git repo root directory. Defaults to current working directory.
40
- """
41
- from gitbolt.git_subprocess.impl.simple import SimpleGitCommand
42
-
43
- return SimpleGitCommand(git_root_dir)
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env python3
2
- # coding=utf-8
3
-
4
- """
5
- Git command interfaces with implementation using subprocess calls.
6
- """
7
-
8
- # region gitbolt.git_subprocess.base
9
- from gitbolt.git_subprocess.base import GitCommand as GitCommand
10
- from gitbolt.git_subprocess.base import GitSubcmdCommand as GitSubcmdCommand
11
- from gitbolt.git_subprocess.base import AddCommand as AddCommand
12
- from gitbolt.git_subprocess.base import LsTreeCommand as LsTreeCommand
13
- from gitbolt.git_subprocess.base import VersionCommand as VersionCommand
14
- from gitbolt.git_subprocess.base import UncheckedSubcmd as UncheckedSubcmd
15
- # endregion
@@ -1,33 +0,0 @@
1
- LICENSE
2
- README.md
3
- pyproject.toml
4
- src/gitbolt/__init__.py
5
- src/gitbolt/_internal_init.py
6
- src/gitbolt/add.py
7
- src/gitbolt/base.py
8
- src/gitbolt/constants.py
9
- src/gitbolt/exceptions.py
10
- src/gitbolt/ls_tree.py
11
- src/gitbolt/models.py
12
- src/gitbolt/py.typed
13
- src/gitbolt/pytest_plugin.py
14
- src/gitbolt/utils.py
15
- src/gitbolt.egg-info/PKG-INFO
16
- src/gitbolt.egg-info/SOURCES.txt
17
- src/gitbolt.egg-info/dependency_links.txt
18
- src/gitbolt.egg-info/entry_points.txt
19
- src/gitbolt.egg-info/requires.txt
20
- src/gitbolt.egg-info/top_level.txt
21
- src/gitbolt/git_subprocess/__init__.py
22
- src/gitbolt/git_subprocess/_internal_init.py
23
- src/gitbolt/git_subprocess/add.py
24
- src/gitbolt/git_subprocess/base.py
25
- src/gitbolt/git_subprocess/constants.py
26
- src/gitbolt/git_subprocess/exceptions.py
27
- src/gitbolt/git_subprocess/ls_tree.py
28
- src/gitbolt/git_subprocess/utils.py
29
- src/gitbolt/git_subprocess/impl/__init__.py
30
- src/gitbolt/git_subprocess/impl/simple.py
31
- src/gitbolt/git_subprocess/runner/__init__.py
32
- src/gitbolt/git_subprocess/runner/base.py
33
- src/gitbolt/git_subprocess/runner/simple_impl.py
File without changes
File without changes
File without changes