1- import tarfile
21from io import DEFAULT_BUFFER_SIZE , IOBase
32from pathlib import Path
43from queue import Queue
54from threading import Event
65from typing import (
7- Callable ,
86 Generic ,
97 Iterator ,
108 Literal ,
@@ -16,54 +14,35 @@ from typing import (
1614 overload ,
1715)
1816
19- from . import Index , IndexEntry
17+ from . import Index
2018from ._libgit2 .ffi import (
2119 GitCommitC ,
22- GitMergeOptionsC ,
2320 GitObjectC ,
2421 GitProxyOptionsC ,
25- GitRepositoryC ,
2622 GitSignatureC ,
2723 _Pointer ,
2824)
29- from .blame import Blame
30- from .branches import Branches
31- from .callbacks import CheckoutCallbacks , StashApplyCallbacks
32- from .config import Config
3325from .enums import (
3426 ApplyLocation ,
35- AttrCheck ,
36- BlameFlag ,
3727 BlobFilter ,
3828 BranchType ,
39- CheckoutStrategy ,
4029 ConfigLevel ,
4130 DeltaStatus ,
42- DescribeStrategy ,
4331 DiffFind ,
4432 DiffFlag ,
4533 DiffOption ,
4634 DiffStatsFormat ,
4735 FileMode ,
4836 MergeAnalysis ,
49- MergeFavor ,
50- MergeFileFlag ,
51- MergeFlag ,
5237 MergePreference ,
5338 ObjectType ,
5439 Option ,
5540 ReferenceFilter ,
5641 ReferenceType ,
57- RepositoryState ,
5842 ResetMode ,
5943 SortMode ,
6044)
6145from .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
6746
6847GIT_OBJ_BLOB = Literal [3 ]
6948GIT_OBJ_COMMIT = Literal [1 ]
@@ -575,7 +554,7 @@ class Odb:
575554 def add_disk_alternate (self , path : str | Path ) -> None : ...
576555 def exists (self , oid : _OidArg ) -> bool : ...
577556 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 : ...
579558 def __contains__ (self , other : _OidArg ) -> bool : ...
580559 def __iter__ (self ) -> Iterator [Oid ]: ... # Odb_as_iter
581560
@@ -691,46 +670,11 @@ class _LsRemotesDict(TypedDict):
691670 oid : Oid
692671
693672class 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 : ...
714673 def TreeBuilder (self , src : Tree | _OidArg = ...) -> TreeBuilder : ...
715674 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 : ...
721675 def add_worktree (
722676 self , name : str , path : str | Path , ref : Reference = ...
723677 ) -> 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 : ...
734678 def applies (
735679 self ,
736680 diff : Diff ,
@@ -740,30 +684,8 @@ class Repository:
740684 def apply (
741685 self , diff : Diff , location : ApplyLocation = ApplyLocation .WORKDIR
742686 ) -> 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 ]: ...
763687 def cherrypick (self , id : _OidArg ) -> None : ...
764688 def compress_references (self ) -> None : ...
765- @property
766- def config (self ) -> Config : ...
767689 def create_blob (self , data : str | bytes ) -> Oid : ...
768690 def create_blob_fromdisk (self , path : str ) -> Oid : ...
769691 def create_blob_fromiobase (self , iobase : IOBase ) -> Oid : ...
@@ -800,13 +722,6 @@ class Repository:
800722 ref : str = 'refs/notes/commits' ,
801723 force : bool = False ,
802724 ) -> Oid : ...
803- def create_reference (
804- self ,
805- name : str ,
806- target : _OidArg ,
807- force : bool = False ,
808- message : str | None = None ,
809- ) -> Reference : ...
810725 def create_reference_direct (
811726 self , name : str , target : _OidArg , force : bool , message : Optional [str ] = None
812727 ) -> Reference : ...
@@ -816,50 +731,13 @@ class Repository:
816731 def create_tag (
817732 self , name : str , oid : _OidArg , type : ObjectType , tagger : Signature , message : str
818733 ) -> 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 : ...
828734 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 : ...
841735 def expand_id (self , hex : str ) -> Oid : ...
842736 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 : ...
851737 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 : ...
858738 def list_worktrees (self ) -> list [str ]: ...
859739 def listall_branches (self , flag : BranchType = BranchType .LOCAL ) -> list [str ]: ...
860740 def listall_mergeheads (self ) -> list [Oid ]: ...
861- def listall_references (self ) -> list [str ]: ...
862- def listall_reference_objects (self ) -> list [Reference ]: ...
863741 def listall_stashes (self ) -> list [Stash ]: ...
864742 def listall_submodules (self ) -> list [str ]: ...
865743 def lookup_branch (
@@ -871,130 +749,37 @@ class Repository:
871749 def lookup_reference (self , name : str ) -> Reference : ...
872750 def lookup_reference_dwim (self , name : str ) -> Reference : ...
873751 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 : ...
881752 def merge_analysis (
882753 self , their_head : _OidArg , our_ref : str = 'HEAD'
883754 ) -> tuple [MergeAnalysis , MergePreference ]: ...
884755 def merge_base (self , oid1 : _OidArg , oid2 : _OidArg ) -> Oid : ...
885756 def merge_base_many (self , oids : list [_OidArg ]) -> Oid : ...
886757 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 : ...
917758 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 : ...
924759 def path_is_ignored (self , path : str ) -> bool : ...
925760 def raw_listall_branches (
926761 self , flag : BranchType = BranchType .LOCAL
927762 ) -> list [bytes ]: ...
928763 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 : ...
933764 def references_iterator_init (self ) -> Iterator [Reference ]: ...
934765 def references_iterator_next (
935766 self ,
936767 iter : Iterator ,
937768 references_return_type : ReferenceFilter = ReferenceFilter .ALL ,
938769 ) -> Reference : ...
939770 def reset (self , oid : _OidArg , reset_type : ResetMode ) -> None : ...
940- def resolve_refish (self , refresh : str ) -> tuple [Commit , Reference ]: ...
941771 def revparse (self , revspec : str ) -> RevSpec : ...
942772 def revparse_ext (self , revision : str ) -> tuple [Object , Reference ]: ...
943773 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 : ...
950774 def set_odb (self , odb : Odb ) -> None : ...
951775 def set_refdb (self , refdb : Refdb ) -> None : ...
952776 def status (
953777 self , untracked_files : str = 'all' , ignored : bool = False
954778 ) -> 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 : ...
984779 def status_file (self , path : str ) -> int : ...
985- def state (self ) -> RepositoryState : ...
986- def state_cleanup (self ) -> None : ...
987780 def walk (
988781 self , oid : _OidArg | None , sort_mode : SortMode = SortMode .NONE
989782 ) -> 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 : ...
998783
999784class RevSpec :
1000785 flags : int
0 commit comments