1
- import tarfile
2
1
from io import DEFAULT_BUFFER_SIZE , IOBase
3
2
from pathlib import Path
4
3
from queue import Queue
5
4
from threading import Event
6
5
from typing import (
7
- Callable ,
8
6
Generic ,
9
7
Iterator ,
10
8
Literal ,
@@ -16,54 +14,35 @@ from typing import (
16
14
overload ,
17
15
)
18
16
19
- from . import Index , IndexEntry
17
+ from . import Index
20
18
from ._libgit2 .ffi import (
21
19
GitCommitC ,
22
- GitMergeOptionsC ,
23
20
GitObjectC ,
24
21
GitProxyOptionsC ,
25
- GitRepositoryC ,
26
22
GitSignatureC ,
27
23
_Pointer ,
28
24
)
29
- from .blame import Blame
30
- from .branches import Branches
31
- from .callbacks import CheckoutCallbacks , StashApplyCallbacks
32
- from .config import Config
33
25
from .enums import (
34
26
ApplyLocation ,
35
- AttrCheck ,
36
- BlameFlag ,
37
27
BlobFilter ,
38
28
BranchType ,
39
- CheckoutStrategy ,
40
29
ConfigLevel ,
41
30
DeltaStatus ,
42
- DescribeStrategy ,
43
31
DiffFind ,
44
32
DiffFlag ,
45
33
DiffOption ,
46
34
DiffStatsFormat ,
47
35
FileMode ,
48
36
MergeAnalysis ,
49
- MergeFavor ,
50
- MergeFileFlag ,
51
- MergeFlag ,
52
37
MergePreference ,
53
38
ObjectType ,
54
39
Option ,
55
40
ReferenceFilter ,
56
41
ReferenceType ,
57
- RepositoryState ,
58
42
ResetMode ,
59
43
SortMode ,
60
44
)
61
45
from .filter import Filter
62
- from .index import MergeFileResult
63
- from .packbuilder import PackBuilder
64
- from .references import References
65
- from .remotes import RemoteCollection
66
- from .submodules import SubmoduleCollection
67
46
68
47
GIT_OBJ_BLOB = Literal [3 ]
69
48
GIT_OBJ_COMMIT = Literal [1 ]
@@ -575,7 +554,7 @@ class Odb:
575
554
def add_disk_alternate (self , path : str | Path ) -> None : ...
576
555
def exists (self , oid : _OidArg ) -> bool : ...
577
556
def read (self , oid : _OidArg ) -> tuple [int , bytes ]: ...
578
- def write (self , type : int , data : bytes ) -> Oid : ...
557
+ def write (self , type : int , data : bytes | str ) -> Oid : ...
579
558
def __contains__ (self , other : _OidArg ) -> bool : ...
580
559
def __iter__ (self ) -> Iterator [Oid ]: ... # Odb_as_iter
581
560
@@ -691,46 +670,11 @@ class _LsRemotesDict(TypedDict):
691
670
oid : Oid
692
671
693
672
class Repository :
694
- _pointer : GitRepositoryC
695
- _repo : GitRepositoryC
696
- backend : RefdbBackend
697
- default_signature : Signature
698
- head : Reference
699
- head_is_detached : bool
700
- head_is_unborn : bool
701
- is_bare : bool
702
- is_empty : bool
703
- is_shallow : bool
704
- odb : Odb
705
- path : str
706
- refdb : Refdb
707
- workdir : str
708
- references : References
709
- remotes : RemoteCollection
710
- branches : Branches
711
- submodules : SubmoduleCollection
712
- index : Index
713
- def __init__ (self , * args , ** kwargs ) -> None : ...
714
673
def TreeBuilder (self , src : Tree | _OidArg = ...) -> TreeBuilder : ...
715
674
def _disown (self , * args , ** kwargs ) -> None : ...
716
- @classmethod
717
- def _from_c (cls , ptr : 'GitRepositoryC' , owned : bool ) -> 'Repository' : ...
718
- def __iter__ (self ) -> Iterator [Oid ]: ...
719
- def __getitem__ (self , key : str | Oid ) -> Object : ...
720
- def __contains__ (self , name : _OidArg ) -> bool : ...
721
675
def add_worktree (
722
676
self , name : str , path : str | Path , ref : Reference = ...
723
677
) -> Worktree : ...
724
- def amend_commit (
725
- self ,
726
- commit : Commit | Oid | str ,
727
- refname : Reference | str | None ,
728
- author : Signature | None = None ,
729
- committer : Signature | None = None ,
730
- message : str | None = None ,
731
- tree : Tree | Oid | str | None = None ,
732
- encoding : str = 'UTF-8' ,
733
- ) -> Oid : ...
734
678
def applies (
735
679
self ,
736
680
diff : Diff ,
@@ -740,30 +684,8 @@ class Repository:
740
684
def apply (
741
685
self , diff : Diff , location : ApplyLocation = ApplyLocation .WORKDIR
742
686
) -> None : ...
743
- def blame (
744
- self ,
745
- path : str ,
746
- flags : BlameFlag = BlameFlag .NORMAL ,
747
- min_match_characters : int | None = None ,
748
- newest_commit : _OidArg | None = None ,
749
- oldest_commit : _OidArg | None = None ,
750
- min_line : int | None = None ,
751
- max_line : int | None = None ,
752
- ) -> Blame : ...
753
- def checkout (
754
- self ,
755
- refname : _OidArg | None | Reference = None ,
756
- * ,
757
- strategy : CheckoutStrategy | None = None ,
758
- directory : str | Path | None = None ,
759
- paths : list [str ] | None = None ,
760
- callbacks : CheckoutCallbacks | None = None ,
761
- ) -> None : ...
762
- def ahead_behind (self , local : _OidArg , upstream : _OidArg ) -> tuple [int , int ]: ...
763
687
def cherrypick (self , id : _OidArg ) -> None : ...
764
688
def compress_references (self ) -> None : ...
765
- @property
766
- def config (self ) -> Config : ...
767
689
def create_blob (self , data : str | bytes ) -> Oid : ...
768
690
def create_blob_fromdisk (self , path : str ) -> Oid : ...
769
691
def create_blob_fromiobase (self , iobase : IOBase ) -> Oid : ...
@@ -800,13 +722,6 @@ class Repository:
800
722
ref : str = 'refs/notes/commits' ,
801
723
force : bool = False ,
802
724
) -> Oid : ...
803
- def create_reference (
804
- self ,
805
- name : str ,
806
- target : _OidArg ,
807
- force : bool = False ,
808
- message : str | None = None ,
809
- ) -> Reference : ...
810
725
def create_reference_direct (
811
726
self , name : str , target : _OidArg , force : bool , message : Optional [str ] = None
812
727
) -> Reference : ...
@@ -816,50 +731,13 @@ class Repository:
816
731
def create_tag (
817
732
self , name : str , oid : _OidArg , type : ObjectType , tagger : Signature , message : str
818
733
) -> Oid : ...
819
- def diff (
820
- self ,
821
- a : None | str | bytes | Commit | Oid | Reference = None ,
822
- b : None | str | bytes | Commit | Oid | Reference = None ,
823
- cached : bool = False ,
824
- flags : DiffOption = DiffOption .NORMAL ,
825
- context_lines : int = 3 ,
826
- interhunk_lines : int = 0 ,
827
- ) -> Diff : ...
828
734
def descendant_of (self , oid1 : _OidArg , oid2 : _OidArg ) -> bool : ...
829
- def describe (
830
- self ,
831
- committish : str | Reference | Commit | None = None ,
832
- max_candidates_tags : int | None = None ,
833
- describe_strategy : DescribeStrategy = DescribeStrategy .DEFAULT ,
834
- pattern : str | None = None ,
835
- only_follow_first_parent : bool | None = None ,
836
- show_commit_oid_as_fallback : bool | None = None ,
837
- abbreviated_size : object | None = None ,
838
- always_use_long_format : bool | None = None ,
839
- dirty_suffix : str | None = None ,
840
- ) -> str : ...
841
735
def expand_id (self , hex : str ) -> Oid : ...
842
736
def free (self ) -> None : ...
843
- def get (self , key : _OidArg , default : Optional [Commit ] = None ) -> None | Object : ...
844
- def get_attr (
845
- self ,
846
- path : str | bytes | Path ,
847
- name : str | bytes ,
848
- flags : AttrCheck = AttrCheck .FILE_THEN_INDEX ,
849
- commit : _OidArg | None = None ,
850
- ) -> bool | None | str : ...
851
737
def git_object_lookup_prefix (self , oid : _OidArg ) -> Object : ...
852
- def hashfile (
853
- self ,
854
- path : str ,
855
- object_type : ObjectType = ObjectType .BLOB ,
856
- as_path : str | None = None ,
857
- ) -> Oid : ...
858
738
def list_worktrees (self ) -> list [str ]: ...
859
739
def listall_branches (self , flag : BranchType = BranchType .LOCAL ) -> list [str ]: ...
860
740
def listall_mergeheads (self ) -> list [Oid ]: ...
861
- def listall_references (self ) -> list [str ]: ...
862
- def listall_reference_objects (self ) -> list [Reference ]: ...
863
741
def listall_stashes (self ) -> list [Stash ]: ...
864
742
def listall_submodules (self ) -> list [str ]: ...
865
743
def lookup_branch (
@@ -871,130 +749,37 @@ class Repository:
871
749
def lookup_reference (self , name : str ) -> Reference : ...
872
750
def lookup_reference_dwim (self , name : str ) -> Reference : ...
873
751
def lookup_worktree (self , name : str ) -> Worktree : ...
874
- def merge (
875
- self ,
876
- source : Reference | Commit | Oid | str ,
877
- favor : MergeFavor = MergeFavor .NORMAL ,
878
- flags : MergeFlag = MergeFlag .FIND_RENAMES ,
879
- file_flags : MergeFileFlag = MergeFileFlag .DEFAULT ,
880
- ) -> None : ...
881
752
def merge_analysis (
882
753
self , their_head : _OidArg , our_ref : str = 'HEAD'
883
754
) -> tuple [MergeAnalysis , MergePreference ]: ...
884
755
def merge_base (self , oid1 : _OidArg , oid2 : _OidArg ) -> Oid : ...
885
756
def merge_base_many (self , oids : list [_OidArg ]) -> Oid : ...
886
757
def merge_base_octopus (self , oids : list [_OidArg ]) -> Oid : ...
887
- def merge_commits (
888
- self ,
889
- ours : str | Oid | Commit ,
890
- theirs : str | Oid | Commit ,
891
- favor : MergeFavor = MergeFavor .NORMAL ,
892
- flags : MergeFlag = MergeFlag .FIND_RENAMES ,
893
- file_flags : MergeFileFlag = MergeFileFlag .DEFAULT ,
894
- ) -> Index : ...
895
- def merge_file_from_index (
896
- self ,
897
- ancestor : IndexEntry | None ,
898
- ours : IndexEntry | None ,
899
- theirs : IndexEntry | None ,
900
- use_deprecated : bool = True ,
901
- ) -> str | MergeFileResult | None : ...
902
- @staticmethod
903
- def _merge_options (
904
- favor : int | MergeFavor , flags : int | MergeFlag , file_flags : int | MergeFileFlag
905
- ) -> GitMergeOptionsC : ...
906
- def merge_trees (
907
- self ,
908
- ancestor : str | Oid | Tree ,
909
- ours : str | Oid | Tree ,
910
- theirs : str | Oid | Tree ,
911
- favor : MergeFavor = MergeFavor .NORMAL ,
912
- flags : MergeFlag = MergeFlag .FIND_RENAMES ,
913
- file_flags : MergeFileFlag = MergeFileFlag .DEFAULT ,
914
- ) -> Index : ...
915
- @property
916
- def message (self ) -> str : ...
917
758
def notes (self ) -> Iterator [Note ]: ...
918
- def pack (
919
- self ,
920
- path : str | Path | None = None ,
921
- pack_delegate : Callable [[PackBuilder ], None ] | None = None ,
922
- n_threads : int | None = None ,
923
- ) -> bool : ...
924
759
def path_is_ignored (self , path : str ) -> bool : ...
925
760
def raw_listall_branches (
926
761
self , flag : BranchType = BranchType .LOCAL
927
762
) -> list [bytes ]: ...
928
763
def raw_listall_references (self ) -> list [bytes ]: ...
929
- @property
930
- def raw_message (self ) -> bytes : ...
931
- def read (self , oid : _OidArg ) -> tuple [int , bytes ]: ...
932
- def remove_message (self ) -> None : ...
933
764
def references_iterator_init (self ) -> Iterator [Reference ]: ...
934
765
def references_iterator_next (
935
766
self ,
936
767
iter : Iterator ,
937
768
references_return_type : ReferenceFilter = ReferenceFilter .ALL ,
938
769
) -> Reference : ...
939
770
def reset (self , oid : _OidArg , reset_type : ResetMode ) -> None : ...
940
- def resolve_refish (self , refresh : str ) -> tuple [Commit , Reference ]: ...
941
771
def revparse (self , revspec : str ) -> RevSpec : ...
942
772
def revparse_ext (self , revision : str ) -> tuple [Object , Reference ]: ...
943
773
def revparse_single (self , revision : str ) -> Object : ...
944
- def revert (self , commit : Commit ) -> None : ...
945
- def revert_commit (
946
- self , revert_commit : Commit , our_commit : Commit , mainline : int = 0
947
- ) -> Index : ...
948
- def set_head (self , target : _OidArg ) -> None : ...
949
- def set_ident (self , name : str , email : str ) -> None : ...
950
774
def set_odb (self , odb : Odb ) -> None : ...
951
775
def set_refdb (self , refdb : Refdb ) -> None : ...
952
776
def status (
953
777
self , untracked_files : str = 'all' , ignored : bool = False
954
778
) -> dict [str , int ]: ...
955
- def stash (
956
- self ,
957
- stasher : Signature ,
958
- message : str | None = None ,
959
- keep_index : bool = False ,
960
- include_untracked : bool = False ,
961
- include_ignored : bool = False ,
962
- keep_all : bool = False ,
963
- paths : list [str ] | None = None ,
964
- ) -> Oid : ...
965
- def stash_apply (
966
- self ,
967
- index : int = 0 ,
968
- reinstate_index : bool | None = None ,
969
- include_untracked : bool | None = None ,
970
- message : str | None = None ,
971
- strategy : CheckoutStrategy | None = None ,
972
- callbacks : StashApplyCallbacks | None = None ,
973
- ) -> None : ...
974
- def stash_pop (
975
- self ,
976
- index : int = 0 ,
977
- reinstate_index : bool | None = None ,
978
- include_untracked : bool | None = None ,
979
- message : str | None = None ,
980
- strategy : CheckoutStrategy | None = None ,
981
- callbacks : StashApplyCallbacks | None = None ,
982
- ) -> None : ...
983
- def stash_drop (self , index : int = 0 ) -> None : ...
984
779
def status_file (self , path : str ) -> int : ...
985
- def state (self ) -> RepositoryState : ...
986
- def state_cleanup (self ) -> None : ...
987
780
def walk (
988
781
self , oid : _OidArg | None , sort_mode : SortMode = SortMode .NONE
989
782
) -> Walker : ...
990
- def write (self , type : int , data : bytes | str ) -> Oid : ...
991
- def write_archive (
992
- self ,
993
- treeish : str | Tree | Object | Oid ,
994
- archive : tarfile .TarFile ,
995
- timestamp : int | None = None ,
996
- prefix : str = '' ,
997
- ) -> None : ...
998
783
999
784
class RevSpec :
1000
785
flags : int
0 commit comments