scmrepo 3.3.4__py3-none-any.whl → 3.3.6__py3-none-any.whl

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.

Potentially problematic release.


This version of scmrepo might be problematic. Click here for more details.

@@ -66,8 +66,8 @@ class _StderrWrapper:
66
66
  class AsyncSSHWrapper(BaseAsyncObject):
67
67
  def __init__(self, conn: "SSHClientConnection", proc: "SSHClientProcess", **kwargs):
68
68
  super().__init__(**kwargs)
69
- self.conn: "SSHClientConnection" = conn
70
- self.proc: "SSHClientProcess" = proc
69
+ self.conn: SSHClientConnection = conn
70
+ self.proc: SSHClientProcess = proc
71
71
  self.stderr = _StderrWrapper(proc.stderr, self.loop)
72
72
 
73
73
  def can_read(self) -> bool:
@@ -152,7 +152,7 @@ class InteractiveSSHClient(SSHClient):
152
152
  def connection_lost(self, exc: Optional[Exception]) -> None:
153
153
  self._conn = None
154
154
 
155
- async def public_key_auth_requested( # noqa: C901, PLR0912
155
+ async def public_key_auth_requested( # noqa: C901
156
156
  self,
157
157
  ) -> Optional["KeyPairListArg"]:
158
158
  from asyncssh.public_key import (
@@ -298,7 +298,7 @@ class AsyncSSHVendor(BaseAsyncObject, SSHVendor):
298
298
  host,
299
299
  port=port if port is not None else (),
300
300
  username=username if username is not None else (),
301
- password=password if password is not None else (),
301
+ password=password,
302
302
  client_keys=[key_filename] if key_filename else (),
303
303
  ignore_encrypted=not key_filename,
304
304
  known_hosts=None,
@@ -320,7 +320,7 @@ def get_unsupported_opts(config_paths: "ConfigPaths") -> Iterator[str]:
320
320
 
321
321
  if config_paths:
322
322
  if isinstance(config_paths, (str, PurePath)):
323
- paths: Sequence["FilePath"] = [config_paths]
323
+ paths: Sequence[FilePath] = [config_paths]
324
324
  else:
325
325
  paths = config_paths
326
326
 
@@ -22,7 +22,7 @@ class GitCredentialsHTTPClient(Urllib3HttpGitClient): # pylint: disable=abstrac
22
22
  config=config,
23
23
  **kwargs,
24
24
  )
25
- self._store_credentials: Optional["Credential"] = None
25
+ self._store_credentials: Optional[Credential] = None
26
26
 
27
27
  def _http_request(
28
28
  self,
@@ -468,7 +468,7 @@ class GitPythonBackend(BaseGitBackend): # pylint:disable=abstract-method
468
468
  except GitCommandError as exc:
469
469
  raise SCMError(f"Failed to set ref '{name}'") from exc
470
470
 
471
- def get_ref(self, name: str, follow: bool = True) -> Optional[str]: # noqa: C901, PLR0911, PLR0912
471
+ def get_ref(self, name: str, follow: bool = True) -> Optional[str]: # noqa: C901, PLR0911
472
472
  from git.exc import GitCommandError
473
473
 
474
474
  if name == "HEAD":
@@ -34,6 +34,7 @@ logger = logging.getLogger(__name__)
34
34
  if TYPE_CHECKING:
35
35
  from pygit2 import Commit, Oid, Signature
36
36
  from pygit2.config import Config as _Pygit2Config
37
+ from pygit2.enums import CheckoutStrategy
37
38
  from pygit2.remotes import Remote
38
39
  from pygit2.repository import Repository
39
40
 
@@ -246,17 +247,15 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
246
247
  )
247
248
 
248
249
  @staticmethod
249
- def _get_checkout_strategy(strategy: Optional[int] = None):
250
- from pygit2 import (
251
- GIT_CHECKOUT_RECREATE_MISSING,
252
- GIT_CHECKOUT_SAFE,
253
- GIT_CHECKOUT_SKIP_LOCKED_DIRECTORIES,
254
- )
250
+ def _get_checkout_strategy(
251
+ strategy: Optional["CheckoutStrategy"] = None,
252
+ ) -> "CheckoutStrategy":
253
+ from pygit2.enums import CheckoutStrategy
255
254
 
256
255
  if strategy is None:
257
- strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_RECREATE_MISSING
256
+ strategy = CheckoutStrategy.SAFE | CheckoutStrategy.RECREATE_MISSING
258
257
  if os.name == "nt":
259
- strategy |= GIT_CHECKOUT_SKIP_LOCKED_DIRECTORIES
258
+ strategy |= CheckoutStrategy.SKIP_LOCKED_DIRECTORIES
260
259
  return strategy
261
260
 
262
261
  # Workaround to force git_backend_odb_pack to release open file handles
@@ -343,9 +342,12 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
343
342
  force: bool = False,
344
343
  **kwargs,
345
344
  ):
346
- from pygit2 import GIT_CHECKOUT_FORCE, GitError
345
+ from pygit2 import GitError
346
+ from pygit2.enums import CheckoutStrategy
347
347
 
348
- strategy = self._get_checkout_strategy(GIT_CHECKOUT_FORCE if force else None)
348
+ strategy = self._get_checkout_strategy(
349
+ CheckoutStrategy.FORCE if force else None
350
+ )
349
351
 
350
352
  with self.release_odb_handles():
351
353
  if create_new:
@@ -613,7 +615,7 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
613
615
  force: bool = False,
614
616
  on_diverged: Optional[Callable[[str, str], bool]] = None,
615
617
  ) -> SyncStatus:
616
- import pygit2
618
+ from pygit2.enums import MergeAnalysis
617
619
 
618
620
  rh_rev = self.resolve_rev(rh)
619
621
 
@@ -627,16 +629,16 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
627
629
  self.set_ref(lh, rh_rev)
628
630
  return SyncStatus.SUCCESS
629
631
 
630
- if merge_result & pygit2.GIT_MERGE_ANALYSIS_UP_TO_DATE:
632
+ if merge_result & MergeAnalysis.UP_TO_DATE:
631
633
  return SyncStatus.UP_TO_DATE
632
- if merge_result & pygit2.GIT_MERGE_ANALYSIS_FASTFORWARD:
634
+ if merge_result & MergeAnalysis.FASTFORWARD:
633
635
  self.set_ref(lh, rh_rev)
634
636
  return SyncStatus.SUCCESS
635
- if merge_result & pygit2.GIT_MERGE_ANALYSIS_NORMAL:
637
+ if merge_result & MergeAnalysis.NORMAL:
636
638
  if on_diverged and on_diverged(lh, rh_rev):
637
639
  return SyncStatus.SUCCESS
638
640
  return SyncStatus.DIVERGED
639
- logger.debug("Unexpected merge result: %s", pygit2.GIT_MERGE_ANALYSIS_NORMAL)
641
+ logger.debug("Unexpected merge result: %s", MergeAnalysis.NORMAL)
640
642
  raise SCMError("Unknown merge analysis result")
641
643
 
642
644
  @contextmanager
@@ -696,7 +698,7 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
696
698
  SCMError(f"Git failed to fetch ref from '{url}'"),
697
699
  ):
698
700
  with RemoteCallbacks(progress=progress) as cb:
699
- remote_refs: dict[str, "Oid"] = (
701
+ remote_refs: dict[str, Oid] = (
700
702
  {
701
703
  head["name"]: head["oid"]
702
704
  for head in remote.ls_remotes(callbacks=cb)
@@ -710,7 +712,7 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
710
712
  message="fetch",
711
713
  )
712
714
 
713
- result: dict[str, "SyncStatus"] = {}
715
+ result: dict[str, SyncStatus] = {}
714
716
  for refspec in refspecs:
715
717
  lh, rh = refspec.split(":")
716
718
  if lh.endswith("*"):
@@ -779,7 +781,8 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
779
781
  skip_conflicts: bool = False,
780
782
  **kwargs,
781
783
  ):
782
- from pygit2 import GIT_CHECKOUT_ALLOW_CONFLICTS, GitError
784
+ from pygit2 import GitError
785
+ from pygit2.enums import CheckoutStrategy
783
786
 
784
787
  from scmrepo.git import Stash
785
788
 
@@ -788,7 +791,7 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
788
791
  self.repo.index.read(False)
789
792
  strategy = self._get_checkout_strategy()
790
793
  if skip_conflicts:
791
- strategy |= GIT_CHECKOUT_ALLOW_CONFLICTS
794
+ strategy |= CheckoutStrategy.ALLOW_CONFLICTS
792
795
  self.repo.stash_apply(
793
796
  index, strategy=strategy, reinstate_index=reinstate_index
794
797
  )
@@ -834,7 +837,8 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
834
837
  raise NotImplementedError
835
838
 
836
839
  def reset(self, hard: bool = False, paths: Optional[Iterable[str]] = None):
837
- from pygit2 import GIT_RESET_HARD, GIT_RESET_MIXED, IndexEntry
840
+ from pygit2 import IndexEntry
841
+ from pygit2.enums import ResetMode
838
842
 
839
843
  self.repo.index.read(False)
840
844
  if paths is not None:
@@ -847,9 +851,9 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
847
851
  self.repo.index.add(IndexEntry(rel, obj.id, obj.filemode))
848
852
  self.repo.index.write()
849
853
  elif hard:
850
- self.repo.reset(self.repo.head.target, GIT_RESET_HARD)
854
+ self.repo.reset(self.repo.head.target, ResetMode.HARD)
851
855
  else:
852
- self.repo.reset(self.repo.head.target, GIT_RESET_MIXED)
856
+ self.repo.reset(self.repo.head.target, ResetMode.MIXED)
853
857
 
854
858
  def checkout_index(
855
859
  self,
@@ -858,22 +862,17 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
858
862
  ours: bool = False,
859
863
  theirs: bool = False,
860
864
  ):
861
- from pygit2 import (
862
- GIT_CHECKOUT_ALLOW_CONFLICTS,
863
- GIT_CHECKOUT_FORCE,
864
- GIT_CHECKOUT_RECREATE_MISSING,
865
- GIT_CHECKOUT_SAFE,
866
- )
865
+ from pygit2.enums import CheckoutStrategy
867
866
 
868
867
  assert not (ours and theirs)
869
- strategy = GIT_CHECKOUT_RECREATE_MISSING
868
+ strategy = CheckoutStrategy.RECREATE_MISSING
870
869
  if force or ours or theirs:
871
- strategy |= GIT_CHECKOUT_FORCE
870
+ strategy |= CheckoutStrategy.FORCE
872
871
  else:
873
- strategy |= GIT_CHECKOUT_SAFE
872
+ strategy |= CheckoutStrategy.SAFE
874
873
 
875
874
  if ours or theirs:
876
- strategy |= GIT_CHECKOUT_ALLOW_CONFLICTS
875
+ strategy |= CheckoutStrategy.ALLOW_CONFLICTS
877
876
  strategy = self._get_checkout_strategy(strategy)
878
877
 
879
878
  index = self.repo.index
@@ -910,18 +909,7 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
910
909
  def status(
911
910
  self, ignored: bool = False, untracked_files: str = "all"
912
911
  ) -> tuple[Mapping[str, Iterable[str]], Iterable[str], Iterable[str]]:
913
- from pygit2 import (
914
- GIT_STATUS_IGNORED,
915
- GIT_STATUS_INDEX_DELETED,
916
- GIT_STATUS_INDEX_MODIFIED,
917
- GIT_STATUS_INDEX_NEW,
918
- GIT_STATUS_WT_DELETED,
919
- GIT_STATUS_WT_MODIFIED,
920
- GIT_STATUS_WT_NEW,
921
- GIT_STATUS_WT_RENAMED,
922
- GIT_STATUS_WT_TYPECHANGE,
923
- GIT_STATUS_WT_UNREADABLE,
924
- )
912
+ from pygit2.enums import FileStatus
925
913
 
926
914
  staged: Mapping[str, list[str]] = {
927
915
  "add": [],
@@ -932,19 +920,19 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
932
920
  untracked: list[str] = []
933
921
 
934
922
  states = {
935
- GIT_STATUS_WT_NEW: untracked,
936
- GIT_STATUS_WT_MODIFIED: unstaged,
937
- GIT_STATUS_WT_TYPECHANGE: staged["modify"],
938
- GIT_STATUS_WT_DELETED: staged["modify"],
939
- GIT_STATUS_WT_RENAMED: staged["modify"],
940
- GIT_STATUS_INDEX_NEW: staged["add"],
941
- GIT_STATUS_INDEX_MODIFIED: staged["modify"],
942
- GIT_STATUS_INDEX_DELETED: staged["delete"],
943
- GIT_STATUS_WT_UNREADABLE: untracked,
923
+ FileStatus.WT_NEW: untracked,
924
+ FileStatus.WT_MODIFIED: unstaged,
925
+ FileStatus.WT_TYPECHANGE: staged["modify"],
926
+ FileStatus.WT_DELETED: staged["modify"],
927
+ FileStatus.WT_RENAMED: staged["modify"],
928
+ FileStatus.INDEX_NEW: staged["add"],
929
+ FileStatus.INDEX_MODIFIED: staged["modify"],
930
+ FileStatus.INDEX_DELETED: staged["delete"],
931
+ FileStatus.WT_UNREADABLE: untracked,
944
932
  }
945
933
 
946
934
  if untracked_files != "no" and ignored:
947
- states[GIT_STATUS_IGNORED] = untracked
935
+ states[FileStatus.IGNORED] = untracked
948
936
 
949
937
  for file, state in self.repo.status(
950
938
  untracked_files=untracked_files, ignored=ignored
@@ -970,15 +958,8 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
970
958
  msg: Optional[str] = None,
971
959
  squash: bool = False,
972
960
  ) -> Optional[str]:
973
- from pygit2 import (
974
- GIT_MERGE_ANALYSIS_FASTFORWARD,
975
- GIT_MERGE_ANALYSIS_NONE,
976
- GIT_MERGE_ANALYSIS_UNBORN,
977
- GIT_MERGE_ANALYSIS_UP_TO_DATE,
978
- GIT_MERGE_PREFERENCE_FASTFORWARD_ONLY,
979
- GIT_MERGE_PREFERENCE_NO_FASTFORWARD,
980
- GitError,
981
- )
961
+ from pygit2 import GitError
962
+ from pygit2.enums import MergeAnalysis, MergePreference
982
963
 
983
964
  if commit and squash:
984
965
  raise SCMError("Cannot merge with 'squash' and 'commit'")
@@ -991,9 +972,9 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
991
972
  except GitError as exc:
992
973
  raise SCMError("Merge analysis failed") from exc
993
974
 
994
- if analysis == GIT_MERGE_ANALYSIS_NONE:
975
+ if analysis == MergeAnalysis.NONE:
995
976
  raise SCMError(f"'{rev}' cannot be merged into HEAD")
996
- if analysis & GIT_MERGE_ANALYSIS_UP_TO_DATE:
977
+ if analysis & MergeAnalysis.UP_TO_DATE:
997
978
  return None
998
979
 
999
980
  try:
@@ -1006,15 +987,15 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
1006
987
  raise MergeConflictError("Merge contained conflicts")
1007
988
 
1008
989
  try:
1009
- if not (squash or ff_pref & GIT_MERGE_PREFERENCE_NO_FASTFORWARD):
1010
- if analysis & GIT_MERGE_ANALYSIS_FASTFORWARD:
990
+ if not (squash or ff_pref & MergePreference.NO_FASTFORWARD):
991
+ if analysis & MergeAnalysis.FASTFORWARD:
1011
992
  return self._merge_ff(rev, obj)
1012
993
 
1013
- if analysis & GIT_MERGE_ANALYSIS_UNBORN:
994
+ if analysis & MergeAnalysis.UNBORN:
1014
995
  self.repo.set_head(obj.id)
1015
996
  return str(obj.id)
1016
997
 
1017
- if ff_pref & GIT_MERGE_PREFERENCE_FASTFORWARD_ONLY:
998
+ if ff_pref & MergePreference.FASTFORWARD_ONLY:
1018
999
  raise SCMError(f"Cannot fast-forward HEAD to '{rev}'")
1019
1000
 
1020
1001
  if commit:
@@ -1105,19 +1086,15 @@ class Pygit2Backend(BaseGitBackend): # pylint:disable=abstract-method
1105
1086
  attr: str,
1106
1087
  source: Optional[str] = None,
1107
1088
  ) -> Optional[Union[bool, str]]:
1108
- from pygit2 import (
1109
- GIT_ATTR_CHECK_FILE_THEN_INDEX,
1110
- GIT_ATTR_CHECK_INCLUDE_COMMIT,
1111
- GIT_ATTR_CHECK_INDEX_ONLY,
1112
- GitError,
1113
- )
1089
+ from pygit2 import GitError
1090
+ from pygit2.enums import AttrCheck
1114
1091
 
1115
- commit: Optional["Commit"] = None
1116
- flags = GIT_ATTR_CHECK_FILE_THEN_INDEX
1092
+ commit: Optional[Commit] = None
1093
+ flags = AttrCheck.FILE_THEN_INDEX
1117
1094
  if source:
1118
1095
  try:
1119
1096
  commit, _ref = self._resolve_refish(source)
1120
- flags = GIT_ATTR_CHECK_INDEX_ONLY | GIT_ATTR_CHECK_INCLUDE_COMMIT
1097
+ flags = AttrCheck.INDEX_ONLY | AttrCheck.INCLUDE_COMMIT
1121
1098
  except (KeyError, GitError) as exc:
1122
1099
  raise SCMError(f"Invalid commit '{source}'") from exc
1123
1100
  try:
@@ -28,7 +28,7 @@ class RemoteCallbacks(_RemoteCallbacks, AbstractContextManager):
28
28
  ):
29
29
  super().__init__(*args, **kwargs)
30
30
  self.progress = GitProgressReporter(progress) if progress else None
31
- self._store_credentials: Optional["Credential"] = None
31
+ self._store_credentials: Optional[Credential] = None
32
32
  self._tried_credentials = False
33
33
  self.result: dict[str, SyncStatus] = {}
34
34
 
@@ -136,8 +136,8 @@ class GitCredentialHelper(CredentialHelper):
136
136
  if not shutil.which(executable) and shutil.which("git"):
137
137
  # If the helper cannot be found in PATH, it might be
138
138
  # a C git helper in GIT_EXEC_PATH
139
- git_exec_path = subprocess.check_output(
140
- ("git", "--exec-path"), # noqa: S603
139
+ git_exec_path = subprocess.check_output( # noqa: S603
140
+ ("git", "--exec-path"),
141
141
  text=True,
142
142
  ).strip()
143
143
  if shutil.which(executable, path=git_exec_path):
@@ -158,8 +158,8 @@ class GitCredentialHelper(CredentialHelper):
158
158
  helper_input.append("")
159
159
 
160
160
  try:
161
- res = subprocess.run(
162
- cmd, # noqa: S603
161
+ res = subprocess.run( # noqa: S603
162
+ cmd,
163
163
  check=True,
164
164
  capture_output=True,
165
165
  input="\n".join(helper_input),
@@ -199,8 +199,8 @@ class GitCredentialHelper(CredentialHelper):
199
199
  helper_input.append("")
200
200
 
201
201
  try:
202
- res = subprocess.run(
203
- cmd, # noqa: S603
202
+ res = subprocess.run( # noqa: S603
203
+ cmd,
204
204
  capture_output=True,
205
205
  input="\n".join(helper_input),
206
206
  encoding=self._encoding,
@@ -224,8 +224,8 @@ class GitCredentialHelper(CredentialHelper):
224
224
  helper_input.append("")
225
225
 
226
226
  try:
227
- res = subprocess.run(
228
- cmd, # noqa: S603
227
+ res = subprocess.run( # noqa: S603
228
+ cmd,
229
229
  capture_output=True,
230
230
  input="\n".join(helper_input),
231
231
  encoding=self._encoding,
@@ -243,7 +243,7 @@ class GitCredentialHelper(CredentialHelper):
243
243
  ) -> Iterator[tuple[str, bool]]:
244
244
  config = config or StackedConfig.default()
245
245
  if isinstance(config, StackedConfig):
246
- backends: Iterable["ConfigDict"] = config.backends
246
+ backends: Iterable[ConfigDict] = config.backends
247
247
  else:
248
248
  backends = [config]
249
249
 
@@ -324,7 +324,7 @@ class MemoryCredentialHelper(CredentialHelper):
324
324
 
325
325
  def __init__(self):
326
326
  super().__init__()
327
- self._credentials: dict["_CredentialKey", "Credential"] = {}
327
+ self._credentials: dict[_CredentialKey, Credential] = {}
328
328
 
329
329
  def __getitem__(self, key: object) -> "Credential":
330
330
  if isinstance(key, _CredentialKey):
@@ -448,8 +448,8 @@ class _AskpassCommand:
448
448
  def input(self, prompt: str) -> str:
449
449
  argv = [self.command, prompt]
450
450
  try:
451
- res = subprocess.run(
452
- argv, # noqa: S603
451
+ res = subprocess.run( # noqa: S603
452
+ argv,
453
453
  check=True,
454
454
  capture_output=True,
455
455
  encoding=locale.getpreferredencoding(),
scmrepo/git/lfs/fetch.py CHANGED
@@ -46,7 +46,7 @@ def fetch(
46
46
  scm.lfs_storage.fetch(url, objects, progress=progress)
47
47
 
48
48
 
49
- def get_fetch_url(scm: "Git", remote: Optional[str] = None): # noqa: C901,PLR0912
49
+ def get_fetch_url(scm: "Git", remote: Optional[str] = None): # noqa: C901
50
50
  """Return LFS fetch URL for the specified repository."""
51
51
  git_config = scm.get_config()
52
52
 
@@ -56,7 +56,7 @@ def get_fetch_url(scm: "Git", remote: Optional[str] = None): # noqa: C901,PLR09
56
56
  except KeyError:
57
57
  pass
58
58
  try:
59
- lfs_config: Optional["Config"] = scm.get_config(
59
+ lfs_config: Optional[Config] = scm.get_config(
60
60
  os.path.join(scm.root_dir, ".lfsconfig")
61
61
  )
62
62
  except FileNotFoundError:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scmrepo
3
- Version: 3.3.4
3
+ Version: 3.3.6
4
4
  Summary: scmrepo
5
5
  Author-email: Iterative <support@dvc.org>
6
6
  License: Apache-2.0
@@ -26,7 +26,7 @@ Requires-Dist: funcy >=1.14
26
26
  Requires-Dist: aiohttp-retry >=2.5.0
27
27
  Requires-Dist: tqdm
28
28
  Provides-Extra: dev
29
- Requires-Dist: mypy ==1.10.0 ; extra == 'dev'
29
+ Requires-Dist: mypy ==1.10.1 ; extra == 'dev'
30
30
  Requires-Dist: scmrepo[tests] ; extra == 'dev'
31
31
  Requires-Dist: types-certifi ; extra == 'dev'
32
32
  Requires-Dist: types-mock ; extra == 'dev'
@@ -10,29 +10,29 @@ scmrepo/urls.py,sha256=vEfW1h1lb7GXvMVBk-TNwqctpl-5xGMA2LbOPVn7t4Q,638
10
10
  scmrepo/utils.py,sha256=_F3rVvPhES-A2JxLGob0RV8BOnHzxbA9aDPClA7_V8M,1512
11
11
  scmrepo/git/__init__.py,sha256=6giWgQpgAlJslOkFmSAYkw8pb7nuefrbpZZf5Np3Iyo,17189
12
12
  scmrepo/git/config.py,sha256=0t0OBmJ9SIa5tf22QdcGzhZfdMzzppvEmceUDg8ZPyE,943
13
- scmrepo/git/credentials.py,sha256=LvCCK4BQRtIduz4rnTnfSP6zEbngQtzCNvNYUmiQtkw,20944
13
+ scmrepo/git/credentials.py,sha256=duj37Eb3k8SZ5dRIxj8XxB_oGCq2KzEjmeawQccXS_g,20938
14
14
  scmrepo/git/objects.py,sha256=vqeFpUlMFHL9Yv1h3wTA7mbRWHCVC_4KgLy5aAISD2g,4674
15
15
  scmrepo/git/stash.py,sha256=wKWnYj_xpdT_3pvHiXtE7_I_By4S-Zbxf4Lv-ZY2sxI,2785
16
16
  scmrepo/git/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  scmrepo/git/backend/base.py,sha256=nVMkUIeSVu-ZLCd2QPxMfTgrjnTOejM1UET9R7qKJRc,13560
18
- scmrepo/git/backend/gitpython.py,sha256=RTDNUVLiJmhcRgdaJpApTQi6sMN-an9P9xKZBKwk7co,25350
18
+ scmrepo/git/backend/gitpython.py,sha256=k2MHg1sHZRFNzfQir3IlTpxrQHieflKwwHtnjzlPXZU,25341
19
19
  scmrepo/git/backend/dulwich/__init__.py,sha256=WT6B8LKzQN4pgNrA82CFqwKkR1wWVBRHwwA9LwuSHV4,34740
20
- scmrepo/git/backend/dulwich/asyncssh_vendor.py,sha256=y0mvx3tRR99Nv85e2n39nPYlhme8dplmQQSbSpx7FDM,11562
21
- scmrepo/git/backend/dulwich/client.py,sha256=bcDroljSvNz6s5WWv9UVvZHKkOJOVTK_zU7YCq62TN4,2360
22
- scmrepo/git/backend/pygit2/__init__.py,sha256=7Jvhp9mxOhTit9SPbaw6mc4VXFD3n8J_ZzUGypKMBG0,37132
23
- scmrepo/git/backend/pygit2/callbacks.py,sha256=Ky4YmUPhv9xjU_44ypBYIcaVHJixzaGb6t9HIeUmBP4,2751
20
+ scmrepo/git/backend/dulwich/asyncssh_vendor.py,sha256=YwbL2BiqYsOyFsgm4MarmiAOGkGaXH9s29LVosnwBV4,11515
21
+ scmrepo/git/backend/dulwich/client.py,sha256=XjNBfOp0L8M3iPpqcX_4bmXsO7hwrkyqg5wMbZULD-I,2358
22
+ scmrepo/git/backend/pygit2/__init__.py,sha256=5IDon4tdMhWhPlVqy_zMAyNDzz-X4FaS3jpqgj9lMfI,36341
23
+ scmrepo/git/backend/pygit2/callbacks.py,sha256=BFIFMzUpSC-CtNY50yTqksAusASgidzsQrG-B-Ry2lw,2749
24
24
  scmrepo/git/backend/pygit2/filter.py,sha256=2NlWfQ7soXN1H7Es6-LctE74hpj3QKQTlYqXRH83VpM,2128
25
25
  scmrepo/git/lfs/__init__.py,sha256=at5blRIKnKpg_g5dLRDsGWBFi6SbucRlF_DX6aAkGtE,257
26
26
  scmrepo/git/lfs/client.py,sha256=SLlGFC09YD55nTDQ7MjuKD9alql-eOriyNePZikFaYo,10171
27
27
  scmrepo/git/lfs/exceptions.py,sha256=cLlImmPXWJJUl44S4xcRBa2T9wYRkWTaKQGwJylwOhA,77
28
- scmrepo/git/lfs/fetch.py,sha256=5zuIt3L1LmF_Abc8nuMNHjwhXKMG6xth9EqWdSorPDE,5540
28
+ scmrepo/git/lfs/fetch.py,sha256=45JGAKHAdANShZ9XEVXq0EYuKBgGmlMK2TX8z9Og8wg,5530
29
29
  scmrepo/git/lfs/object.py,sha256=rAYY_z9EYoHPfbpF1QHwL7ecYgaETPyCl-zBx0E1oIQ,337
30
30
  scmrepo/git/lfs/pointer.py,sha256=BcVbtjoOUG9cEzyJSJDeweqehGZvq43P6NNLDYUGYEI,3181
31
31
  scmrepo/git/lfs/progress.py,sha256=ELlBs2SeXhAcnPDN23w3FTeBRgB9RGqBD2CFMS6n9Xs,4750
32
32
  scmrepo/git/lfs/smudge.py,sha256=1O_fznptWo4CKXqcJgUoWP6cgWWhvGAZ3d87kasG3cQ,1610
33
33
  scmrepo/git/lfs/storage.py,sha256=LbHGhSRdORu4Iqzb7Ef-2tA_iJbZykXZFotWRJvyr2Y,2380
34
- scmrepo-3.3.4.dist-info/LICENSE,sha256=-1jhbPjoIVHR0cEgahL4Zhct75Ff4MzYCR_jOaJDPq8,11340
35
- scmrepo-3.3.4.dist-info/METADATA,sha256=OLF86Fy_0tg1dtbPC-VAIpdXoVRmuRA89sOb_EwoVOE,4731
36
- scmrepo-3.3.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
37
- scmrepo-3.3.4.dist-info/top_level.txt,sha256=iunjod6w3GogERsAYfLRupnANXnqzX3jbIfbeIQG5cc,8
38
- scmrepo-3.3.4.dist-info/RECORD,,
34
+ scmrepo-3.3.6.dist-info/LICENSE,sha256=-1jhbPjoIVHR0cEgahL4Zhct75Ff4MzYCR_jOaJDPq8,11340
35
+ scmrepo-3.3.6.dist-info/METADATA,sha256=ANsuxb80I2vytRYGC-Z0hiuyDtx2tbJnwYc5BiiAL6A,4731
36
+ scmrepo-3.3.6.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
37
+ scmrepo-3.3.6.dist-info/top_level.txt,sha256=iunjod6w3GogERsAYfLRupnANXnqzX3jbIfbeIQG5cc,8
38
+ scmrepo-3.3.6.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (70.2.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5