yL i dZdgZddlZddlmZddlmZddlmZm Z m Z m Z m Z ddl mZe r dd lmZdd lmZGd deZy) zHModule implementing a remote object allowing easy access to git remotes.RemoteReferenceN) join_path)Head)AnyIteratorNoReturn TYPE_CHECKINGUnion)PathLike)Remote)RepoceZdZdZej Ze ddddee dfdedde d e d e df fd Z eddd dd e d dfd Z ede d e d efdZxZS)rz&A reference pointing to a remote head.Nrepor common_pathremote)r Nargskwargsreturncr|xs |j}|t|t|}t|||S)zLIterate remote references, and if given, constrain them to the given remote.)_common_path_defaultrstrsuper iter_items)clsrrrrr __class__s U/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/git/refs/remote.pyrzRemoteReference.iter_items s?"=S%=%=  #KV=Kw!$ 44refsc|jjddg||D]} tjtjj |j |j tjtjj |j|jy#t$rYVwxYw#t$rYwxYw)zDelete the given remote references. :note: `kwargs` are given for comparability with the base class method as we should not narrow the signature. z-dz-rN) gitbranchosremovepathjoin common_dirOSErrorgit_dir)rrrrrefs rdeletezRemoteReference.delete5s d*T* C  "'',,tAB  "'',,t||SXX>?      s%AB7-AC7 CC CCctd)zERaise :exc:`TypeError`. Defined so the ``create`` method is disabled.z*Cannot explicitly create remote references) TypeError)rrrs rcreatezRemoteReference.createLsDEEr)NN)__name__ __module__ __qualname____doc__r_remote_common_path_defaultr classmethodr r rrrr+r r. __classcell__)rs@rrrs0;;.2(, 558T>*5n% 5  5  5 # $55(&):cd,F3F#F(FFr)r2__all__r#git.utilrheadrtypingrrr r r git.typesr git.remoter git.reporrrrr>s?O   A@! 4Fd4Fr