
                         j    S r SSKJr  SSKJr  SSKJr  SSKJr  SrSr	 " S S	\R                  5      rg
)>Update a local package with changes from a remote source repo.    )base)anthoscli_backend)flags)logzThe local package directory to update. Can optionally include a git reference  (GIT_REF) to a tag, branch or commit hash to update to. Defaults to last fetched git-ref.zLOCAL_DIR[@GIT_REF]c                   6    \ rS rSrSrSS0r\S 5       rS rSr	g)	Update   r   EXAMPLESa  
      To update local package `~/my-package-dir`:

        $ {command} ~/my-package-dir

      To update my-package-dir/ to match the v1.3 tag at git URL
      https://github.com/my-other-account/foo.git:

        $ {command} my-package-dir@v1.3 --repo-uri https://github.com/my-other-account/foo.git

      To update by applying a git patch:

        $ git add my-package-dir/
        $ git commit -m "package updates"
        $ {command} my-package-dir/@main --strategy alpha-git-patch
      c                 8   [         R                  " [        [        S9R	                  U 5        [         R
                  " SSSSS9R	                  U 5        [         R                  " 5       R	                  U 5        [         R                  " 5       R	                  U 5        g )N)help_overridemetavarFREPO_URIzUgit repo url for updating contents. Defaults to the url the package was fetched from.)
positionalrequiredr   r   )r   GetLocalDirFlag_LOCAL_DIR_HELP_LOCAL_DIR_METAAddToParserGetRepoURIFlagGetStrategyFlagGetDryRunFlag)parsers    %lib/surface/anthos/packages/update.pyArgsUpdate.Args3   ss    	"133>;v3F	EE:(78 9DF8K	''/	%%f-    c                    UR                   S:H  n[        R                  " 5       n[        R                  R                  SR                  UR                  5      5        UR                  R                  S5      u  pEnU(       a  UR                  SU/5      OSnU" SUUR                  UR                  UR                  UUR                  [        R                  " 5       US9	nU R                  U5      $ )NdebugzSyncing dir [{}]@.update)	command	local_dirrepo_uristrategydry_runverboseshow_exec_errorenvexecution_dir)	verbosityr   AnthosCliWrapperr   statusPrintformat	LOCAL_DIR	partitionjoinr   r&   r'   r)   GetEnvArgsForCommand _DefaultOperationResponseHandler)	selfargs
is_verbosecommand_executorwork_dir	at_symbolgit_refpkg_dirresponses	            r   Run
Update.Run>   s    7*J(99;JJ'..t~~>?#'>>#;#;C#@ H07innc7^,SG*1)-)-(,(2040D0D$5$J$J$L.68H 00::r    N)
__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr   r?   __static_attributes__rA   r   r   r	   r	      s-    F 
-& . .;r   r	   N)rF   googlecloudsdk.callioper   !googlecloudsdk.command_lib.anthosr   r   googlecloudsdk.corer   r   r   BinaryBackedCommandr	   rA   r   r   <module>rN      s7    E ( ? 3 #7 (0;T%% 0;r   