gitbolt 0.0.0.dev25__tar.gz → 0.0.0.dev26__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.
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/PKG-INFO +1 -1
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/pyproject.toml +1 -1
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/base.py +40 -32
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/utils.py +45 -9
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt.egg-info/PKG-INFO +1 -1
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/LICENSE +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/README.md +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/setup.cfg +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/__init__.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/_internal_init.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/add.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/base.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/constants.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/exceptions.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/ls_tree.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/models.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/py.typed +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/pytest_plugin.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/__init__.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/_internal_init.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/add.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/constants.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/exceptions.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/impl/__init__.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/impl/simple.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/ls_tree.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/runner/__init__.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/runner/base.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/runner/simple.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/utils/__init__.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/utils/main_cmd.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/utils/models.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/utils/session.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt/subprocess/worktree.py +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt.egg-info/SOURCES.txt +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt.egg-info/dependency_links.txt +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt.egg-info/entry_points.txt +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/src/gitbolt.egg-info/requires.txt +0 -0
- {gitbolt-0.0.0.dev25 → gitbolt-0.0.0.dev26}/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.
|
|
3
|
+
Version: 0.0.0.dev26
|
|
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>
|
|
@@ -50,6 +50,28 @@ class GitCommand(Git, ABC):
|
|
|
50
50
|
self._main_cmd_opts: GitOpts = {}
|
|
51
51
|
self._env_vars: GitEnvVars | None = None
|
|
52
52
|
self._cmd_str_repr: str | None = None
|
|
53
|
+
self._main_cmd_opt_builders: dict[str, Callable[[], list[str]]] = {
|
|
54
|
+
"C": self._main_cmd_cap_c_args,
|
|
55
|
+
"c": self._main_cmd_small_c_args,
|
|
56
|
+
"config_env": self._main_cmd_config_env_args,
|
|
57
|
+
"exec_path": self._main_cmd_exec_path_args,
|
|
58
|
+
"paginate": self._main_cmd_paginate_args,
|
|
59
|
+
"no_pager": self._main_cmd_no_pager_args,
|
|
60
|
+
"git_dir": self._main_cmd_git_dir_args,
|
|
61
|
+
"work_tree": self._main_cmd_work_tree_args,
|
|
62
|
+
"namespace": self._main_cmd_namespace_args,
|
|
63
|
+
"bare": self._main_cmd_bare_args,
|
|
64
|
+
"no_replace_objects": self._main_cmd_no_replace_objects_args,
|
|
65
|
+
"no_lazy_fetch": self._main_cmd_no_lazy_fetch_args,
|
|
66
|
+
"no_optional_locks": self._main_cmd_no_optional_locks_args,
|
|
67
|
+
"no_advice": self._main_cmd_no_advice_args,
|
|
68
|
+
"literal_pathspecs": self._main_cmd_literal_pathspecs_args,
|
|
69
|
+
"glob_pathspecs": self._main_cmd_glob_pathspecs_args,
|
|
70
|
+
"noglob_pathspecs": self._main_cmd_noglob_pathspecs_args,
|
|
71
|
+
"icase_pathspecs": self._main_cmd_icase_pathspecs_args,
|
|
72
|
+
"list_cmds": self._main_cmd_list_cmds_args,
|
|
73
|
+
"attr_source": self._main_cmd_attr_source_args,
|
|
74
|
+
}
|
|
53
75
|
|
|
54
76
|
@override
|
|
55
77
|
def __str__(self) -> str:
|
|
@@ -65,7 +87,7 @@ class GitCommand(Git, ABC):
|
|
|
65
87
|
|
|
66
88
|
>>> _b_git = _a_git.git_opts_override(C=[Path("a"), Path("b")], no_advice=True, no_replace_objects=True)
|
|
67
89
|
>>> assert str(_a_git) == GIT_CMD # _a_git never changed
|
|
68
|
-
>>> assert str(_b_git) == f"{GIT_CMD} -C a -C b --no-
|
|
90
|
+
>>> assert str(_b_git) == f"{GIT_CMD} -C a -C b --no-advice --no-replace-objects"
|
|
69
91
|
|
|
70
92
|
Adding git envs:
|
|
71
93
|
|
|
@@ -74,7 +96,7 @@ class GitCommand(Git, ABC):
|
|
|
74
96
|
>>> assert str(_c_git) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD}"
|
|
75
97
|
|
|
76
98
|
>>> _d_git = _c_git.git_opts_override(C=[Path("a"), Path("b")], no_advice=True, no_replace_objects=True, config_env=dict(conf1="val1", glob1="val2"))
|
|
77
|
-
>>> assert str(_d_git) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD} -C a -C b --config-env conf1=val1 --config-env glob1=val2
|
|
99
|
+
>>> assert str(_d_git) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD} -C a -C b --no-advice --no-replace-objects --config-env conf1=val1 --config-env glob1=val2"
|
|
78
100
|
|
|
79
101
|
Does not affect repr:
|
|
80
102
|
|
|
@@ -127,28 +149,14 @@ class GitCommand(Git, ABC):
|
|
|
127
149
|
|
|
128
150
|
:return: CLI args for git main cli command.
|
|
129
151
|
"""
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
+ self._main_cmd_work_tree_args()
|
|
139
|
-
+ self._main_cmd_namespace_args()
|
|
140
|
-
+ self._main_cmd_bare_args()
|
|
141
|
-
+ self._main_cmd_no_replace_objects_args()
|
|
142
|
-
+ self._main_cmd_no_lazy_fetch_args()
|
|
143
|
-
+ self._main_cmd_no_optional_locks_args()
|
|
144
|
-
+ self._main_cmd_no_advice_args()
|
|
145
|
-
+ self._main_cmd_literal_pathspecs_args()
|
|
146
|
-
+ self._main_cmd_glob_pathspecs_args()
|
|
147
|
-
+ self._main_cmd_noglob_pathspecs_args()
|
|
148
|
-
+ self._main_cmd_icase_pathspecs_args()
|
|
149
|
-
+ self._main_cmd_list_cmds_args()
|
|
150
|
-
+ self._main_cmd_attr_source_args()
|
|
151
|
-
)
|
|
152
|
+
args: list[str] = []
|
|
153
|
+
for opt_key in self._main_cmd_opts:
|
|
154
|
+
args.extend(self._main_cmd_args_for_opt_key(opt_key))
|
|
155
|
+
return args
|
|
156
|
+
|
|
157
|
+
def _main_cmd_args_for_opt_key(self, opt_key: str) -> list[str]:
|
|
158
|
+
builder = self._main_cmd_opt_builders.get(opt_key)
|
|
159
|
+
return builder() if builder else []
|
|
152
160
|
|
|
153
161
|
@override
|
|
154
162
|
def git_opts_override(self, **overrides: Unpack[GitOpts]) -> Self:
|
|
@@ -686,7 +694,7 @@ class VersionCommand(Version, GitSubcmdCommand, Protocol):
|
|
|
686
694
|
|
|
687
695
|
>>> _b_git = _a_git.git_opts_override(C=[Path("a"), Path("b")], no_advice=True, no_replace_objects=True)
|
|
688
696
|
>>> assert str(_a_git.version_subcmd()) == f"{GIT_CMD} {VERSION_CMD}" # _a_git never changed
|
|
689
|
-
>>> assert str(_b_git.version_subcmd()) == f"{GIT_CMD} -C a -C b --no-
|
|
697
|
+
>>> assert str(_b_git.version_subcmd()) == f"{GIT_CMD} -C a -C b --no-advice --no-replace-objects {VERSION_CMD}"
|
|
690
698
|
|
|
691
699
|
Adding git envs:
|
|
692
700
|
|
|
@@ -695,7 +703,7 @@ class VersionCommand(Version, GitSubcmdCommand, Protocol):
|
|
|
695
703
|
>>> assert str(_c_git.version_subcmd()) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD} {VERSION_CMD}"
|
|
696
704
|
|
|
697
705
|
>>> _d_git = _c_git.git_opts_override(C=[Path("a"), Path("b")], no_advice=True, no_replace_objects=True, config_env=dict(conf1="val1", glob1="val2"))
|
|
698
|
-
>>> assert str(_d_git.version_subcmd()) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD} -C a -C b --config-env conf1=val1 --config-env glob1=val2
|
|
706
|
+
>>> assert str(_d_git.version_subcmd()) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD} -C a -C b --no-advice --no-replace-objects --config-env conf1=val1 --config-env glob1=val2 {VERSION_CMD}"
|
|
699
707
|
|
|
700
708
|
Does not affect repr:
|
|
701
709
|
|
|
@@ -756,7 +764,7 @@ class LsTreeCommand(LsTree, GitSubcmdCommand, Protocol):
|
|
|
756
764
|
|
|
757
765
|
>>> _b_git = _a_git.git_opts_override(C=[Path("a"), Path("b")], no_advice=True, no_replace_objects=True)
|
|
758
766
|
>>> assert str(_a_git.ls_tree_subcmd()) == f"{GIT_CMD} {LS_TREE_CMD}" # _a_git never changed
|
|
759
|
-
>>> assert str(_b_git.ls_tree_subcmd()) == f"{GIT_CMD} -C a -C b --no-
|
|
767
|
+
>>> assert str(_b_git.ls_tree_subcmd()) == f"{GIT_CMD} -C a -C b --no-advice --no-replace-objects {LS_TREE_CMD}"
|
|
760
768
|
|
|
761
769
|
Adding git envs:
|
|
762
770
|
|
|
@@ -765,7 +773,7 @@ class LsTreeCommand(LsTree, GitSubcmdCommand, Protocol):
|
|
|
765
773
|
>>> assert str(_c_git.ls_tree_subcmd()) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD} {LS_TREE_CMD}"
|
|
766
774
|
|
|
767
775
|
>>> _d_git = _c_git.git_opts_override(C=[Path("a"), Path("b")], no_advice=True, no_replace_objects=True, config_env=dict(conf1="val1", glob1="val2"))
|
|
768
|
-
>>> assert str(_d_git.ls_tree_subcmd()) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD} -C a -C b --config-env conf1=val1 --config-env glob1=val2
|
|
776
|
+
>>> assert str(_d_git.ls_tree_subcmd()) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD} -C a -C b --no-advice --no-replace-objects --config-env conf1=val1 --config-env glob1=val2 {LS_TREE_CMD}"
|
|
769
777
|
|
|
770
778
|
Does not affect repr:
|
|
771
779
|
|
|
@@ -871,7 +879,7 @@ class AddCommand(Add, GitSubcmdCommand, Protocol):
|
|
|
871
879
|
|
|
872
880
|
>>> _b_git = _a_git.git_opts_override(C=[Path("a"), Path("b")], no_advice=True, no_replace_objects=True)
|
|
873
881
|
>>> assert str(_a_git.add_subcmd()) == f"{GIT_CMD} {ADD_CMD}" # _a_git never changed
|
|
874
|
-
>>> assert str(_b_git.add_subcmd()) == f"{GIT_CMD} -C a -C b --no-
|
|
882
|
+
>>> assert str(_b_git.add_subcmd()) == f"{GIT_CMD} -C a -C b --no-advice --no-replace-objects {ADD_CMD}"
|
|
875
883
|
|
|
876
884
|
Adding git envs:
|
|
877
885
|
|
|
@@ -880,7 +888,7 @@ class AddCommand(Add, GitSubcmdCommand, Protocol):
|
|
|
880
888
|
>>> assert str(_c_git.add_subcmd()) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD} {ADD_CMD}"
|
|
881
889
|
|
|
882
890
|
>>> _d_git = _c_git.git_opts_override(C=[Path("a"), Path("b")], no_advice=True, no_replace_objects=True, config_env=dict(conf1="val1", glob1="val2"))
|
|
883
|
-
>>> assert str(_d_git.add_subcmd()) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD} -C a -C b --config-env conf1=val1 --config-env glob1=val2
|
|
891
|
+
>>> assert str(_d_git.add_subcmd()) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD} -C a -C b --no-advice --no-replace-objects --config-env conf1=val1 --config-env glob1=val2 {ADD_CMD}"
|
|
884
892
|
|
|
885
893
|
Does not affect repr:
|
|
886
894
|
|
|
@@ -1193,7 +1201,7 @@ class WorktreeCommand(Worktree, GitSubcmdCommand, abc.ABC):
|
|
|
1193
1201
|
|
|
1194
1202
|
>>> _b_git = _a_git.git_opts_override(C=[Path("a"), Path("b")], no_advice=True, no_replace_objects=True)
|
|
1195
1203
|
>>> assert str(_a_git.worktree_subcmd()) == f"{GIT_CMD} {WORKTREE_CMD}" # _a_git never changed
|
|
1196
|
-
>>> assert str(_b_git.worktree_subcmd()) == f"{GIT_CMD} -C a -C b --no-
|
|
1204
|
+
>>> assert str(_b_git.worktree_subcmd()) == f"{GIT_CMD} -C a -C b --no-advice --no-replace-objects {WORKTREE_CMD}"
|
|
1197
1205
|
|
|
1198
1206
|
Adding git envs:
|
|
1199
1207
|
|
|
@@ -1202,7 +1210,7 @@ class WorktreeCommand(Worktree, GitSubcmdCommand, abc.ABC):
|
|
|
1202
1210
|
>>> assert str(_c_git.worktree_subcmd()) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD} {WORKTREE_CMD}"
|
|
1203
1211
|
|
|
1204
1212
|
>>> _d_git = _c_git.git_opts_override(C=[Path("a"), Path("b")], no_advice=True, no_replace_objects=True, config_env=dict(conf1="val1", glob1="val2"))
|
|
1205
|
-
>>> assert str(_d_git.worktree_subcmd()) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD} -C a -C b --config-env conf1=val1 --config-env glob1=val2
|
|
1213
|
+
>>> assert str(_d_git.worktree_subcmd()) == f"GIT_ADVICE=False GIT_AUTHOR_NAME=Suhas GIT_PAGER=vi {GIT_CMD} -C a -C b --no-advice --no-replace-objects --config-env conf1=val1 --config-env glob1=val2 {WORKTREE_CMD}"
|
|
1206
1214
|
|
|
1207
1215
|
Does not affect repr:
|
|
1208
1216
|
|
|
@@ -7,6 +7,7 @@ Utility functions related to processors specific to git commands.
|
|
|
7
7
|
|
|
8
8
|
from __future__ import annotations
|
|
9
9
|
|
|
10
|
+
from vt.utils.commons.commons.core_py import is_unset
|
|
10
11
|
|
|
11
12
|
from gitbolt.models import GitOpts, GitEnvVars
|
|
12
13
|
|
|
@@ -86,7 +87,7 @@ def merge_git_opts(primary: GitOpts, fallback: GitOpts) -> GitOpts:
|
|
|
86
87
|
fallbacks on the corresponding property from the ``fallback`` ``GitOpts`` object if that corresponding property
|
|
87
88
|
is ``None`` in the ``primary`` ``GitOpts`` object.
|
|
88
89
|
"""
|
|
89
|
-
return merge_typed_dicts(primary, fallback, GitOpts)
|
|
90
|
+
return merge_typed_dicts(primary, fallback, GitOpts, omit_unset_keys=True)
|
|
90
91
|
|
|
91
92
|
|
|
92
93
|
def merge_git_envs(primary: GitEnvVars, fallback: GitEnvVars) -> GitEnvVars:
|
|
@@ -164,16 +165,51 @@ def merge_git_envs(primary: GitEnvVars, fallback: GitEnvVars) -> GitEnvVars:
|
|
|
164
165
|
fallbacks on the corresponding property from the ``fallback`` ``GitEnvVars`` object if that corresponding property
|
|
165
166
|
is explicitly ``None`` in the ``primary`` ``GitEnvVars`` object.
|
|
166
167
|
"""
|
|
167
|
-
return merge_typed_dicts(primary, fallback, GitEnvVars)
|
|
168
|
+
return merge_typed_dicts(primary, fallback, GitEnvVars, omit_unset_keys=False)
|
|
168
169
|
|
|
169
170
|
|
|
170
171
|
# TODO: check for typing this function
|
|
171
|
-
def merge_typed_dicts(
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
172
|
+
def merge_typed_dicts(
|
|
173
|
+
primary, fallback, the_typed_dict, *, omit_unset_keys: bool = False
|
|
174
|
+
):
|
|
175
|
+
"""
|
|
176
|
+
Merge typed dicts preserving insertion order of ``fallback`` then new keys from ``primary``.
|
|
177
|
+
|
|
178
|
+
Value resolution matches the previous annotation-order merge: primary wins, ``None`` in primary
|
|
179
|
+
falls back, ``Unset`` is kept for env merges and omitted from opts when ``omit_unset_keys`` is True.
|
|
180
|
+
"""
|
|
181
|
+
valid_keys = frozenset(the_typed_dict.__annotations__.keys())
|
|
182
|
+
|
|
183
|
+
keys_order: list[str] = []
|
|
184
|
+
seen: set[str] = set()
|
|
185
|
+
for k in fallback:
|
|
186
|
+
if k in valid_keys and k not in seen:
|
|
187
|
+
keys_order.append(k)
|
|
188
|
+
seen.add(k)
|
|
189
|
+
for k in primary:
|
|
190
|
+
if k in valid_keys and k not in seen:
|
|
191
|
+
keys_order.append(k)
|
|
192
|
+
seen.add(k)
|
|
193
|
+
|
|
194
|
+
merged: dict = {}
|
|
195
|
+
for k in keys_order:
|
|
196
|
+
if k in primary and is_unset(primary[k]):
|
|
197
|
+
if omit_unset_keys:
|
|
198
|
+
continue
|
|
199
|
+
merged[k] = primary[k]
|
|
200
|
+
continue
|
|
201
|
+
|
|
202
|
+
if k in primary:
|
|
203
|
+
val = primary[k]
|
|
204
|
+
if val is None:
|
|
205
|
+
val = fallback.get(k)
|
|
206
|
+
else:
|
|
207
|
+
val = fallback.get(k)
|
|
208
|
+
|
|
175
209
|
if val is None:
|
|
176
|
-
|
|
177
|
-
if
|
|
178
|
-
|
|
210
|
+
continue
|
|
211
|
+
if omit_unset_keys and is_unset(val):
|
|
212
|
+
continue
|
|
213
|
+
merged[k] = val
|
|
214
|
+
|
|
179
215
|
return merged
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitbolt
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev26
|
|
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>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|