yL iO\ddgZddlZddlZddlmZddlmZmZddlm Z ddl m Z m Z dd l mZe r dd lmZdd lmZej&eZGd deZej.Zej0Zej2Zej4Zej6Zej8ZGd deZy) RootModuleRootUpdateProgressN)InvalidGitRepositoryError) SubmoduleUpdateProgress)find_first_remote_branch) TYPE_CHECKINGUnion) Commit_ish)Repo) IterableListceZdZdZeej ej dzDcgc]}d|z c}}\ZZZ Z ej dzZdZ ycc}}w)rzaUtility class which adds more opcodes to :class:`~git.objects.submodule.base.UpdateProgress`.rN) __name__ __module__ __qualname____doc__ranger _num_op_codesREMOVE PATHCHANGE BRANCHCHANGE URLCHANGE __slots__).0xs00`/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/git/objects/submodule/root.pyrrs`<n::N` for more information.) :param init: If we encounter a new module which would need to be initialized, then do it. :param to_latest_revision: If ``True``, instead of checking out the revision pointed to by this submodule's sha, the checked out tracking branch will be merged with the latest remote branch fetched from the repository's origin. Unless `force_reset` is specified, a local tracking branch will never be reset into its past, therefore the remote branch must be in the future for this to have an effect. :param force_reset: If ``True``, submodules may checkout or reset their branch even if the repository has pending changes that would be overwritten, or if the local tracking branch is in the future of the remote tracking branch and would be reset into its past. :param progress: :class:`RootUpdateProgress` instance, or ``None`` if no progress should be sent. :param dry_run: If ``True``, operations will not actually be performed. Progress messages will change accordingly to indicate the WOULD DO state of the operation. :param keep_going: If ``True``, we will ignore but log all errors, and keep going recursively. Unless `dry_run` is set as well, `keep_going` could cause subsequent/inherited errors you wouldn't see otherwise. In conjunction with `dry_run`, this can be useful to anticipate all errors when updating submodules. :return: self z-Cannot update submodules in bare repositoriesNr$z DRY-RUN: )r)rzRemoving submodule z at FT) configurationmoduleforcerDrzDone removing submodule %rzMoving repository of submodule z from z to )rJrIz&Done moving repository of submodule %r__new_origin__zChanging url of submodule )rCzSubmodule branch named z. was not available in new submodule remote at z,Couldn't find original remote-repo at url %rzCurrent sha %s was not contained in the tracking branch at the new remote, setting it the the remote's tracking branchz"Done adjusting url of submodule %rzChanging branch of submodule zbranch: Created from HEAD)logmsgz$Done changing branch of submodule %r)r?rArBrCrDrKrF)r?r@rArBrCrDrErF)8r8barerrr1r2 log_entry oldhexshar%r. IndexError list_itemssetlen enumeraterBEGINupdater(abspath_parent_commitremoveENDr' module_existsrmover*rJremotesr create_remotefetchrefs remote_head branch_name ValueError delete_remoterenametraverse_loggerwarninghexshar+rr3r4createOSErrorset_tracking_branchr reference Exceptionerrorstrtype)*r7r>r?r@rArBrCrDrErFprefixr8 cur_commitpsmssmsspsmsssmsrrsmlen_rrsmirsmopcsmslen_csmscsmpsmsmnnsmmrmtsrsmrrmt_for_deletionremote orig_namesmshafoundrrefcsmmrtbrerrs* rrWzRootModule.updateOsNR 99>>+,[\ \  )+H  Fyy~ $))J&1&*kk$))2E2Eb2I2S2S&TO&--1M1MM((N#'++o">/3oodRao.bD-1__T-BCIEs8D44"%chh-77chh&3+<+<+>OO * VXV]V]_b_j_jlnlvlv!ww #UKOOj( !IBGG!SS ##%vv(. iik"{{4Ca155BFF?CDI$OO % 1 ! ( &Y[Y`Y`bebibikmkqkq)r r $+')$1GQ!&&1G'G G'G&)&7&7BFF&C # 8 <$'388'_aq}}PRP^P^?^'_#`de#e*4+->>266)C+&%&48 0.2!.F'-zzSWW'<;A(8(-!.$4#;'*4yA~;?7(8/H,Z]`]d]d,d/*)* -=,A,A # 1 12B C!$ 9 5 )+ (-'*xx0@0@'A)-)=)=)?!.A'(xx5'804(-!.(- %,OO)T(* %& 15 0B0BBI %OO #i ! ( &)MQSQXQX)Y Y ~~8!!L0$"!wwII  '"$))+C#&;;D+/@ & h ?@D&)hhoo$'$&NN+F'6'" 334LTSUSaSa4bc25CHH.!,.$"%Kbgg%UU kz L B II#5!!%  ##%DJryy{+22"&%1!+=!) '$/#-3 ' B u"1&0O1r D2H (`b$+D&)hhsBNN&CD0 $ MM#c( # # $s]8A\'-H*]8A]8\9 8\9 +A]82] ] A]8%B4]8B ]8&B]8',]A(]8' \62]85\66]8)]51]84]55]88 ^,!^''^,c|jS)z8:return: The actual repository containing the submodules)r8r<s rrJzRootModule.modules yyr:)r8r r"N)r"N) NTFTFNFFF)r"r )rrrrrr0r-r=r r rqboolrWrJ __classcell__)r9s@rrr1s IK   9="#(6:! {z345{{ {  { ! {23{{{{ {z r:)__all__loggingr3git.excrbaserrutilr typingr r git.typesr git.repor git.utilr getLoggerrrhrrVr[rrrrrrr:rrs - . -+*( % '  H %       " "!..  ( (  * * ]]r: