Skip to content

Commit 2af4bb2

Browse files
committed
explicitly import from ._pygit2
1 parent fa8a0e9 commit 2af4bb2

File tree

2 files changed

+301
-9
lines changed

2 files changed

+301
-9
lines changed

pygit2/__init__.py

Lines changed: 293 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,298 @@
3535
from ._build import __version__
3636

3737
# Low level API
38-
from ._pygit2 import *
39-
from ._pygit2 import _cache_enums
38+
from ._pygit2 import (
39+
GIT_APPLY_LOCATION_BOTH,
40+
GIT_APPLY_LOCATION_INDEX,
41+
GIT_APPLY_LOCATION_WORKDIR,
42+
GIT_BLAME_FIRST_PARENT,
43+
GIT_BLAME_IGNORE_WHITESPACE,
44+
GIT_BLAME_NORMAL,
45+
GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES,
46+
GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES,
47+
GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES,
48+
GIT_BLAME_TRACK_COPIES_SAME_FILE,
49+
GIT_BLAME_USE_MAILMAP,
50+
GIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT,
51+
GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD,
52+
GIT_BLOB_FILTER_CHECK_FOR_BINARY,
53+
GIT_BLOB_FILTER_NO_SYSTEM_ATTRIBUTES,
54+
GIT_BRANCH_ALL,
55+
GIT_BRANCH_LOCAL,
56+
GIT_BRANCH_REMOTE,
57+
GIT_CHECKOUT_ALLOW_CONFLICTS,
58+
GIT_CHECKOUT_CONFLICT_STYLE_DIFF3,
59+
GIT_CHECKOUT_CONFLICT_STYLE_MERGE,
60+
GIT_CHECKOUT_CONFLICT_STYLE_ZDIFF3,
61+
GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH,
62+
GIT_CHECKOUT_DONT_OVERWRITE_IGNORED,
63+
GIT_CHECKOUT_DONT_REMOVE_EXISTING,
64+
GIT_CHECKOUT_DONT_UPDATE_INDEX,
65+
GIT_CHECKOUT_DONT_WRITE_INDEX,
66+
GIT_CHECKOUT_DRY_RUN,
67+
GIT_CHECKOUT_FORCE,
68+
GIT_CHECKOUT_NO_REFRESH,
69+
GIT_CHECKOUT_NONE,
70+
GIT_CHECKOUT_RECREATE_MISSING,
71+
GIT_CHECKOUT_REMOVE_IGNORED,
72+
GIT_CHECKOUT_REMOVE_UNTRACKED,
73+
GIT_CHECKOUT_SAFE,
74+
GIT_CHECKOUT_SKIP_LOCKED_DIRECTORIES,
75+
GIT_CHECKOUT_SKIP_UNMERGED,
76+
GIT_CHECKOUT_UPDATE_ONLY,
77+
GIT_CHECKOUT_USE_OURS,
78+
GIT_CHECKOUT_USE_THEIRS,
79+
GIT_CONFIG_HIGHEST_LEVEL,
80+
GIT_CONFIG_LEVEL_APP,
81+
GIT_CONFIG_LEVEL_GLOBAL,
82+
GIT_CONFIG_LEVEL_LOCAL,
83+
GIT_CONFIG_LEVEL_PROGRAMDATA,
84+
GIT_CONFIG_LEVEL_SYSTEM,
85+
GIT_CONFIG_LEVEL_WORKTREE,
86+
GIT_CONFIG_LEVEL_XDG,
87+
GIT_DELTA_ADDED,
88+
GIT_DELTA_CONFLICTED,
89+
GIT_DELTA_COPIED,
90+
GIT_DELTA_DELETED,
91+
GIT_DELTA_IGNORED,
92+
GIT_DELTA_MODIFIED,
93+
GIT_DELTA_RENAMED,
94+
GIT_DELTA_TYPECHANGE,
95+
GIT_DELTA_UNMODIFIED,
96+
GIT_DELTA_UNREADABLE,
97+
GIT_DELTA_UNTRACKED,
98+
GIT_DESCRIBE_ALL,
99+
GIT_DESCRIBE_DEFAULT,
100+
GIT_DESCRIBE_TAGS,
101+
GIT_DIFF_BREAK_REWRITES,
102+
GIT_DIFF_BREAK_REWRITES_FOR_RENAMES_ONLY,
103+
GIT_DIFF_DISABLE_PATHSPEC_MATCH,
104+
GIT_DIFF_ENABLE_FAST_UNTRACKED_DIRS,
105+
GIT_DIFF_FIND_ALL,
106+
GIT_DIFF_FIND_AND_BREAK_REWRITES,
107+
GIT_DIFF_FIND_BY_CONFIG,
108+
GIT_DIFF_FIND_COPIES,
109+
GIT_DIFF_FIND_COPIES_FROM_UNMODIFIED,
110+
GIT_DIFF_FIND_DONT_IGNORE_WHITESPACE,
111+
GIT_DIFF_FIND_EXACT_MATCH_ONLY,
112+
GIT_DIFF_FIND_FOR_UNTRACKED,
113+
GIT_DIFF_FIND_IGNORE_LEADING_WHITESPACE,
114+
GIT_DIFF_FIND_IGNORE_WHITESPACE,
115+
GIT_DIFF_FIND_REMOVE_UNMODIFIED,
116+
GIT_DIFF_FIND_RENAMES,
117+
GIT_DIFF_FIND_RENAMES_FROM_REWRITES,
118+
GIT_DIFF_FIND_REWRITES,
119+
GIT_DIFF_FLAG_BINARY,
120+
GIT_DIFF_FLAG_EXISTS,
121+
GIT_DIFF_FLAG_NOT_BINARY,
122+
GIT_DIFF_FLAG_VALID_ID,
123+
GIT_DIFF_FLAG_VALID_SIZE,
124+
GIT_DIFF_FORCE_BINARY,
125+
GIT_DIFF_FORCE_TEXT,
126+
GIT_DIFF_IGNORE_BLANK_LINES,
127+
GIT_DIFF_IGNORE_CASE,
128+
GIT_DIFF_IGNORE_FILEMODE,
129+
GIT_DIFF_IGNORE_SUBMODULES,
130+
GIT_DIFF_IGNORE_WHITESPACE,
131+
GIT_DIFF_IGNORE_WHITESPACE_CHANGE,
132+
GIT_DIFF_IGNORE_WHITESPACE_EOL,
133+
GIT_DIFF_INCLUDE_CASECHANGE,
134+
GIT_DIFF_INCLUDE_IGNORED,
135+
GIT_DIFF_INCLUDE_TYPECHANGE,
136+
GIT_DIFF_INCLUDE_TYPECHANGE_TREES,
137+
GIT_DIFF_INCLUDE_UNMODIFIED,
138+
GIT_DIFF_INCLUDE_UNREADABLE,
139+
GIT_DIFF_INCLUDE_UNREADABLE_AS_UNTRACKED,
140+
GIT_DIFF_INCLUDE_UNTRACKED,
141+
GIT_DIFF_INDENT_HEURISTIC,
142+
GIT_DIFF_MINIMAL,
143+
GIT_DIFF_NORMAL,
144+
GIT_DIFF_PATIENCE,
145+
GIT_DIFF_RECURSE_IGNORED_DIRS,
146+
GIT_DIFF_RECURSE_UNTRACKED_DIRS,
147+
GIT_DIFF_REVERSE,
148+
GIT_DIFF_SHOW_BINARY,
149+
GIT_DIFF_SHOW_UNMODIFIED,
150+
GIT_DIFF_SHOW_UNTRACKED_CONTENT,
151+
GIT_DIFF_SKIP_BINARY_CHECK,
152+
GIT_DIFF_STATS_FULL,
153+
GIT_DIFF_STATS_INCLUDE_SUMMARY,
154+
GIT_DIFF_STATS_NONE,
155+
GIT_DIFF_STATS_NUMBER,
156+
GIT_DIFF_STATS_SHORT,
157+
GIT_DIFF_UPDATE_INDEX,
158+
GIT_FILEMODE_BLOB,
159+
GIT_FILEMODE_BLOB_EXECUTABLE,
160+
GIT_FILEMODE_COMMIT,
161+
GIT_FILEMODE_LINK,
162+
GIT_FILEMODE_TREE,
163+
GIT_FILEMODE_UNREADABLE,
164+
GIT_FILTER_ALLOW_UNSAFE,
165+
GIT_FILTER_ATTRIBUTES_FROM_COMMIT,
166+
GIT_FILTER_ATTRIBUTES_FROM_HEAD,
167+
GIT_FILTER_CLEAN,
168+
GIT_FILTER_DEFAULT,
169+
GIT_FILTER_DRIVER_PRIORITY,
170+
GIT_FILTER_NO_SYSTEM_ATTRIBUTES,
171+
GIT_FILTER_SMUDGE,
172+
GIT_FILTER_TO_ODB,
173+
GIT_FILTER_TO_WORKTREE,
174+
GIT_MERGE_ANALYSIS_FASTFORWARD,
175+
GIT_MERGE_ANALYSIS_NONE,
176+
GIT_MERGE_ANALYSIS_NORMAL,
177+
GIT_MERGE_ANALYSIS_UNBORN,
178+
GIT_MERGE_ANALYSIS_UP_TO_DATE,
179+
GIT_MERGE_PREFERENCE_FASTFORWARD_ONLY,
180+
GIT_MERGE_PREFERENCE_NO_FASTFORWARD,
181+
GIT_MERGE_PREFERENCE_NONE,
182+
GIT_OBJECT_ANY,
183+
GIT_OBJECT_BLOB,
184+
GIT_OBJECT_COMMIT,
185+
GIT_OBJECT_INVALID,
186+
GIT_OBJECT_OFS_DELTA,
187+
GIT_OBJECT_REF_DELTA,
188+
GIT_OBJECT_TAG,
189+
GIT_OBJECT_TREE,
190+
GIT_OID_HEX_ZERO,
191+
GIT_OID_HEXSZ,
192+
GIT_OID_MINPREFIXLEN,
193+
GIT_OID_RAWSZ,
194+
GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS,
195+
GIT_OPT_ENABLE_CACHING,
196+
GIT_OPT_ENABLE_FSYNC_GITDIR,
197+
GIT_OPT_ENABLE_OFS_DELTA,
198+
GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION,
199+
GIT_OPT_ENABLE_STRICT_OBJECT_CREATION,
200+
GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION,
201+
GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY,
202+
GIT_OPT_GET_CACHED_MEMORY,
203+
GIT_OPT_GET_MWINDOW_FILE_LIMIT,
204+
GIT_OPT_GET_MWINDOW_MAPPED_LIMIT,
205+
GIT_OPT_GET_MWINDOW_SIZE,
206+
GIT_OPT_GET_OWNER_VALIDATION,
207+
GIT_OPT_GET_PACK_MAX_OBJECTS,
208+
GIT_OPT_GET_SEARCH_PATH,
209+
GIT_OPT_GET_TEMPLATE_PATH,
210+
GIT_OPT_GET_USER_AGENT,
211+
GIT_OPT_GET_WINDOWS_SHAREMODE,
212+
GIT_OPT_SET_ALLOCATOR,
213+
GIT_OPT_SET_CACHE_MAX_SIZE,
214+
GIT_OPT_SET_CACHE_OBJECT_LIMIT,
215+
GIT_OPT_SET_MWINDOW_FILE_LIMIT,
216+
GIT_OPT_SET_MWINDOW_MAPPED_LIMIT,
217+
GIT_OPT_SET_MWINDOW_SIZE,
218+
GIT_OPT_SET_OWNER_VALIDATION,
219+
GIT_OPT_SET_PACK_MAX_OBJECTS,
220+
GIT_OPT_SET_SEARCH_PATH,
221+
GIT_OPT_SET_SSL_CERT_LOCATIONS,
222+
GIT_OPT_SET_SSL_CIPHERS,
223+
GIT_OPT_SET_TEMPLATE_PATH,
224+
GIT_OPT_SET_USER_AGENT,
225+
GIT_OPT_SET_WINDOWS_SHAREMODE,
226+
GIT_REFERENCES_ALL,
227+
GIT_REFERENCES_BRANCHES,
228+
GIT_REFERENCES_TAGS,
229+
GIT_RESET_HARD,
230+
GIT_RESET_MIXED,
231+
GIT_RESET_SOFT,
232+
GIT_REVSPEC_MERGE_BASE,
233+
GIT_REVSPEC_RANGE,
234+
GIT_REVSPEC_SINGLE,
235+
GIT_SORT_NONE,
236+
GIT_SORT_REVERSE,
237+
GIT_SORT_TIME,
238+
GIT_SORT_TOPOLOGICAL,
239+
GIT_STASH_APPLY_DEFAULT,
240+
GIT_STASH_APPLY_REINSTATE_INDEX,
241+
GIT_STASH_DEFAULT,
242+
GIT_STASH_INCLUDE_IGNORED,
243+
GIT_STASH_INCLUDE_UNTRACKED,
244+
GIT_STASH_KEEP_ALL,
245+
GIT_STASH_KEEP_INDEX,
246+
GIT_STATUS_CONFLICTED,
247+
GIT_STATUS_CURRENT,
248+
GIT_STATUS_IGNORED,
249+
GIT_STATUS_INDEX_DELETED,
250+
GIT_STATUS_INDEX_MODIFIED,
251+
GIT_STATUS_INDEX_NEW,
252+
GIT_STATUS_INDEX_RENAMED,
253+
GIT_STATUS_INDEX_TYPECHANGE,
254+
GIT_STATUS_WT_DELETED,
255+
GIT_STATUS_WT_MODIFIED,
256+
GIT_STATUS_WT_NEW,
257+
GIT_STATUS_WT_RENAMED,
258+
GIT_STATUS_WT_TYPECHANGE,
259+
GIT_STATUS_WT_UNREADABLE,
260+
GIT_SUBMODULE_IGNORE_ALL,
261+
GIT_SUBMODULE_IGNORE_DIRTY,
262+
GIT_SUBMODULE_IGNORE_NONE,
263+
GIT_SUBMODULE_IGNORE_UNSPECIFIED,
264+
GIT_SUBMODULE_IGNORE_UNTRACKED,
265+
GIT_SUBMODULE_STATUS_IN_CONFIG,
266+
GIT_SUBMODULE_STATUS_IN_HEAD,
267+
GIT_SUBMODULE_STATUS_IN_INDEX,
268+
GIT_SUBMODULE_STATUS_IN_WD,
269+
GIT_SUBMODULE_STATUS_INDEX_ADDED,
270+
GIT_SUBMODULE_STATUS_INDEX_DELETED,
271+
GIT_SUBMODULE_STATUS_INDEX_MODIFIED,
272+
GIT_SUBMODULE_STATUS_WD_ADDED,
273+
GIT_SUBMODULE_STATUS_WD_DELETED,
274+
GIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED,
275+
GIT_SUBMODULE_STATUS_WD_MODIFIED,
276+
GIT_SUBMODULE_STATUS_WD_UNINITIALIZED,
277+
GIT_SUBMODULE_STATUS_WD_UNTRACKED,
278+
GIT_SUBMODULE_STATUS_WD_WD_MODIFIED,
279+
LIBGIT2_VER_MAJOR,
280+
LIBGIT2_VER_MINOR,
281+
LIBGIT2_VER_REVISION,
282+
LIBGIT2_VERSION,
283+
AlreadyExistsError,
284+
Blob,
285+
Branch,
286+
Commit,
287+
Diff,
288+
DiffDelta,
289+
DiffFile,
290+
DiffHunk,
291+
DiffLine,
292+
DiffStats,
293+
FilterSource,
294+
GitError,
295+
InvalidSpecError,
296+
Mailmap,
297+
Note,
298+
Object,
299+
Odb,
300+
OdbBackend,
301+
OdbBackendLoose,
302+
OdbBackendPack,
303+
Oid,
304+
Patch,
305+
Refdb,
306+
RefdbBackend,
307+
RefdbFsBackend,
308+
Reference,
309+
RefLogEntry,
310+
Repository,
311+
RevSpec,
312+
Signature,
313+
Stash,
314+
Tag,
315+
Tree,
316+
TreeBuilder,
317+
Walker,
318+
Worktree,
319+
_cache_enums,
320+
discover_repository,
321+
filter_register,
322+
filter_unregister,
323+
hash,
324+
hashfile,
325+
init_file_backend,
326+
option,
327+
reference_is_valid_name,
328+
tree_entry_cmp,
329+
)
40330
from .blame import Blame, BlameHunk
41331
from .blob import BlobIO
42332
from .callbacks import (
@@ -58,7 +348,7 @@
58348
from .legacyenums import *
59349
from .packbuilder import PackBuilder
60350
from .remotes import Remote
61-
from .repository import Repository
351+
from .repository import Repository # noqa: F811
62352
from .settings import Settings
63353
from .submodules import Submodule
64354
from .utils import to_bytes, to_str

pygit2/packbuilder.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,19 @@
2424
# Boston, MA 02110-1301, USA.
2525

2626
from os import PathLike
27+
from typing import TYPE_CHECKING
2728

2829
# Import from pygit2
29-
from pygit2 import Oid, Repository
30-
3130
from .errors import check_error
3231
from .ffi import C, ffi
3332
from .utils import to_bytes
3433

34+
if TYPE_CHECKING:
35+
from pygit2 import Oid, Repository
36+
3537

3638
class PackBuilder:
37-
def __init__(self, repo: Repository) -> None:
39+
def __init__(self, repo: 'Repository') -> None:
3840
cpackbuilder = ffi.new('git_packbuilder **')
3941
err = C.git_packbuilder_new(cpackbuilder, repo._repo)
4042
check_error(err)
@@ -54,17 +56,17 @@ def __len__(self) -> int:
5456
return C.git_packbuilder_object_count(self._packbuilder)
5557

5658
@staticmethod
57-
def __convert_object_to_oid(oid: Oid) -> 'ffi.GitOidC':
59+
def __convert_object_to_oid(oid: 'Oid') -> 'ffi.GitOidC':
5860
git_oid = ffi.new('git_oid *')
5961
ffi.buffer(git_oid)[:] = oid.raw[:]
6062
return git_oid
6163

62-
def add(self, oid: Oid) -> None:
64+
def add(self, oid: 'Oid') -> None:
6365
git_oid = self.__convert_object_to_oid(oid)
6466
err = C.git_packbuilder_insert(self._packbuilder, git_oid, ffi.NULL)
6567
check_error(err)
6668

67-
def add_recur(self, oid: Oid) -> None:
69+
def add_recur(self, oid: 'Oid') -> None:
6870
git_oid = self.__convert_object_to_oid(oid)
6971
err = C.git_packbuilder_insert_recur(self._packbuilder, git_oid, ffi.NULL)
7072
check_error(err)

0 commit comments

Comments
 (0)