;ELC   
;;; Compiled
;;; in Emacs version 29.3
;;; with all optimizations.



(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313\314\315&	\210\302\316\304\305\317DD\320\310\321\312\313\314\322&	\210\302\323\304\305\324DD\325\310\326\312\313\314\327&	\210\302\330\304\305\331DD\332\310\333\312\313\314\315&	\210\302\334\304\305\335DD\336\310\337\312\313\314\340&	\210\302\341\304\305\342DD\343\310\344\312\313\314\345&	\210\302\346\304\305\347DD\350\310\351\312\313\314\352&	\207" [require magit custom-declare-variable magit-clone-set-remote-head funcall function #[0 "\300\207" [nil] 1 #1=""] "Whether cloning creates the symbolic-ref `<remote>/HEAD'." :package-version (magit . "2.4.2") :group magit-commands :type boolean magit-clone-set-remote.pushDefault #[0 "\300\207" [ask] 1 #1#] "Whether to set the value of `remote.pushDefault' after cloning.\n\nIf t, then set without asking.  If nil, then don't set.  If\n`ask', then ask." (magit . "2.4.0") (choice (const :tag "Set" t) (const :tag "Ask" ask) (const :tag "Don't set" nil)) magit-clone-default-directory #[0 "\300\207" [nil] 1 #1#] "Default directory to use when `magit-clone' reads destination.\nIf nil (the default), then use the value of `default-directory'.\nIf a directory, then use that.  If a function, then call that\nwith the remote url as only argument and use the returned value." (magit . "2.90.0") (choice (const :tag "Value of default-directory") (directory :tag "Constant directory") (function :tag "Function's value")) magit-clone-always-transient #[0 "\300\207" [nil] 1 #1#] "Whether `magit-clone' always acts as a transient prefix command.\nIf nil, then a prefix argument has to be used to show the transient\npopup instead of invoking the default suffix `magit-clone-regular'\ndirectly." (magit . "3.0.0") magit-clone-name-alist #[0 "\300\207" [(("\\`\\(?:github:\\|gh:\\)?\\([^:]+\\)\\'" "github.com" "github.user") ("\\`\\(?:gitlab:\\|gl:\\)\\([^:]+\\)\\'" "gitlab.com" "gitlab.user") ("\\`\\(?:sourcehut:\\|sh:\\)\\([^:]+\\)\\'" "git.sr.ht" "sourcehut.user"))] 1 #1#] "Alist mapping repository names to repository urls.\n\nEach element has the form (REGEXP HOSTNAME USER).  When the user\nenters a name when a cloning command asks for a name or url, then\nthat is looked up in this list.  The first element whose REGEXP\nmatches is used.\n\nThe format specified by option `magit-clone-url-format' is used\nto turn the name into an url, using HOSTNAME and the repository\nname.  If the provided name contains a slash, then that is used.\nOtherwise if the name omits the owner of the repository, then the\ndefault user specified in the matched entry is used.\n\nIf USER contains a dot, then it is treated as a Git variable and\nthe value of that is used as the username.  Otherwise it is used\nas the username itself." (magit . "4.0.0") (repeat (list regexp (string :tag "Hostname") (string :tag "User name or git variable"))) magit-clone-url-format #[0 "\300\207" [(("git.sr.ht" . "git@%h:%n") (t . "git@%h:%n.git"))] 1 #1#] "Format(s) used when turning repository names into urls.\n\nIn a format string, %h is the hostname and %n is the repository\nname, including the name of the owner.\n\nThe value can be a string (representing a single static format)\nor an alist with elements (HOSTNAME . FORMAT) mapping hostnames\nto formats.  When an alist is used, the t key represents the\ndefault.  Also see `magit-clone-name-alist'." (magit . "4.0.0") (choice (string :tag "Format") (alist :key-type (choice (string :tag "Host") (const :tag "Default" t)) :value-type (string :tag "Format"))) magit-post-clone-hook #[0 "\300\207" [nil] 1 #1#] "Hook run after the repository has been successfully cloned.\n\nWhen the hook is called, `default-directory' is let-bound to the\ndirectory where the repository has been cloned." (magit . "4.0.0") hook] 10)#@28 

(fn &optional TRANSIENT)
(defalias 'magit-clone #[256 "\211\203 \300\301!\207\302\303!\207" [transient-setup magit-clone call-interactively magit-clone-regular] 3 (#$ . 3849) (byte-code "\206 	C\207" [magit-clone-always-transient current-prefix-arg] 1)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\210\313\301\314\315\316\317D\320\321\322\316\323\324\325\310\300\326\302\303#\210\300\326\327\330#\210\331\326\332\"\210\326\257	\320\321\333\316\334\324\335\310\300\336\302\303#\210\300\336\327\330#\210\331\336\332\"\210\336\257	\320\321\337\316\340\324\341\310\300\342\302\303#\210\300\342\327\330#\210\331\342\332\"\210\342\343\344\257\320\321\345\316\346\324\347\310\300\350\302\303#\210\300\350\327\330#\210\331\350\332\"\210\350\343\351\257F#\314\315\316\352D\353\321\354\316\355\356\354\324\357\310\300\360\302\303#\210\300\360\327\330#\210\331\360\332\"\210\360\257\353\321\361\316\362\356\361\324\363\310\300\364\302\303#\210\300\364\327\330#\210\331\364\332\"\210\364\257\365\310\366\343\351\257\353\321\367\316\370\324\371\310\300\372\302\303#\210\300\372\327\330#\210\331\372\332\"\210\372\373\374\343\351\257\353\321\375\316\376\324\377\310\300\201@ \302\303#\210\300\201@ \327\330#\210\331\201@ \332\"\210\201@ \373\201A \343\344\257\257#\314\315\316\201B D\320\321\201C \316\201D \356\201C \324\201E \310\300\201F \302\303#\210\300\201F \327\330#\210\331\201F \332\"\210\201F \257\320\321\201G \316\201H \324\201I \310\300\201J \302\303#\210\300\201J \327\330#\210\331\201J \332\"\210\201J \257	D#\314\315\316\201K D\365\321\201L \316\201M \310\201N \257\365\321\201O \316\201P \310\201Q \257\365\321\201R \316\201S \310\201T \343\351\257	\365\321\201U \316\201V \310\201W \343\351\257	\365\321\201X \316\201Y \310\201Z \343\344\257	\365\321\201[ \316\201\\ \310\201] \257\365\321\201^ \316\201_ \310\201` \257\257#F\"\207" [put magit-clone interactive-only t function-documentation "Clone a repository." transient--prefix transient-prefix :command :man-page "git-clone" transient--set-layout vector transient-column :description "Fetch arguments" transient-switch :key "-B" "Clone a single branch" :argument "--single-branch" transient:magit-clone:--single-branch completion-predicate transient--suffix-only defalias transient--default-infix-command "-n" "Do not clone tags" "--no-tags" transient:magit-clone:--no-tags "-S" "Clones submodules" "--recurse-submodules" transient:magit-clone:--recurse-submodules :level 6 "-l" "Do not optimize" "--no-local" transient:magit-clone:--no-local 7 "Setup arguments" transient-option "-o" "Set name of remote" :shortarg "--origin=" transient:magit-clone:--origin= "-b" "Set HEAD branch" "--branch=" transient:magit-clone:--branch= transient-suffix magit-clone:--filter "-g" "Separate git directory" "--separate-git-dir=" transient:magit-clone:--separate-git-dir= :reader transient-read-directory "-t" "Use template directory" "--template=" transient:magit-clone:--template= transient-read-existing-directory "Local sharing arguments" "-s" "Share objects" "--shared" transient:magit-clone:--shared "-h" "Do not use hardlinks" "--no-hardlinks" transient:magit-clone:--no-hardlinks "Clone" "C" "regular" magit-clone-regular "s" "shallow" magit-clone-shallow "d" "shallow since date" magit-clone-shallow-since "e" "shallow excluding" magit-clone-shallow-exclude ">" "sparse checkout" magit-clone-sparse "b" "bare" magit-clone-bare "m" "mirror" magit-clone-mirror] 23)
(byte-code "\300\301\302\"\210\303\301\304\305#\210\303\301\306\307#\210\303\301\310\311#\210\303\301\312\313\314\301\315\316\317\320\321\322\323\324&\n#\207" [defalias magit-clone:--filter transient--default-infix-command put interactive-only t completion-predicate transient--suffix-only function-documentation nil transient--suffix transient-option :command :description "Filter some objects" :key "-f" :argument "--filter=" :reader magit-clone-read-filter] 14)#@37 

(fn PROMPT INITIAL-INPUT HISTORY)
(defalias 'magit-clone-read-filter #[771 "\300\301\302D\303\211&\207" [magit-completing-read "blob:none" "tree:0" nil] 10 (#$ . 7803)])#@128 Create a clone of REPOSITORY in DIRECTORY.
Then show the status buffer for the new repository.

(fn REPOSITORY DIRECTORY ARGS)
(defalias 'magit-clone-regular #[771 "\300#\207" [magit-clone-internal] 7 (#$ . 7987) (magit-clone-read-args)])#@211 Create a shallow clone of REPOSITORY in DIRECTORY.
Then show the status buffer for the new repository.
With a prefix argument read the DEPTH of the clone;
otherwise use 1.

(fn REPOSITORY DIRECTORY ARGS DEPTH)
(defalias 'magit-clone-shallow #[1028 "\300\301\302\"B#\207" [magit-clone-internal format "--depth=%s"] 10 (#$ . 8235) (byte-code "\301\302 \203 \303\304\305\"\202 \305C\"\207" [current-prefix-arg append magit-clone-read-args read-number "Depth: " 1] 5)])#@199 Create a shallow clone of REPOSITORY in DIRECTORY.
Then show the status buffer for the new repository.
Exclude commits before DATE, which is read from the
user.

(fn REPOSITORY DIRECTORY ARGS DATE)
(defalias 'magit-clone-shallow-since #[1028 "\300\301\302\"B#\207" [magit-clone-internal format "--shallow-since=%s"] 10 (#$ . 8714) (byte-code "\300\301 \302\303\304\211#C\"\207" [append magit-clone-read-args transient-read-date "Exclude commits before: " nil] 6)])#@229 Create a shallow clone of REPOSITORY in DIRECTORY.
Then show the status buffer for the new repository.
Exclude commits reachable from EXCLUDE, which is a
branch or tag read from the user.

(fn REPOSITORY DIRECTORY ARGS EXCLUDE)
(defalias 'magit-clone-shallow-exclude #[1028 "\300\301\302\"B#\207" [magit-clone-internal format "--shallow-exclude=%s"] 10 (#$ . 9189) (byte-code "\300\301 \302\303!C\"\207" [append magit-clone-read-args read-string "Exclude commits reachable from: "] 4)])#@133 Create a bare clone of REPOSITORY in DIRECTORY.
Then show the status buffer for the new repository.

(fn REPOSITORY DIRECTORY ARGS)
(defalias 'magit-clone-bare #[771 "\300\301B#\207" [magit-clone-internal "--bare"] 8 (#$ . 9686) (magit-clone-read-args)])#@129 Create a mirror of REPOSITORY in DIRECTORY.
Then show the status buffer for the new repository.

(fn REPOSITORY DIRECTORY ARGS)
(defalias 'magit-clone-mirror #[771 "\300\301B#\207" [magit-clone-internal "--mirror"] 8 (#$ . 9950) (magit-clone-read-args)])#@95 Clone REPOSITORY into DIRECTORY and create a sparse checkout.

(fn REPOSITORY DIRECTORY ARGS)
(defalias 'magit-clone-sparse #[771 "\300\301B\302$\207" [magit-clone-internal "--no-checkout" sparse] 8 (#$ . 10213) (magit-clone-read-args)])#@51 

(fn REPOSITORY DIRECTORY ARGS &optional SPARSE)
(defalias 'magit-clone-internal #[1027 "C@\302\235?\303\304\"\206 \305\306!\206 \307\205) \310=\206) \205) \311\312\313\"!\314\315!\210\316\317\242!!\240\210\320\242!\203| \321\242!\203v \322\323\242!\324\"\203| \325!\211\203k \316\317\242\"!\240\203k \320\242!\203r \326\327\242\"\210\210\202| \326\330\242\"\210\331\332\333\334	\242!%\210\335	\336\310#\210\337	\340\341&\"\207" [magit-clone-set-remote.pushDefault magit-this-process ("--bare" "--mirror") transient-arg-value "--origin=" magit-get "clone.defaultRemote" "origin" t y-or-n-p format "Set `remote.pushDefault' to %S? " run-hooks magit-credential-hook file-name-as-directory expand-file-name file-exists-p file-directory-p length> directory-files 2 magit-clone--url-to-name user-error "%s already exists" "%s already exists and is not a directory" magit-run-git-async "clone" "--" magit-convert-filename-for-git process-put inhibit-refresh set-process-sentinel make-closure #[514 "\306!\307>\203 \310\311\")\210\306!\312=\205i \313!\314U\205i \302\203; \304\242\300\2031 \315\301\316\"\210\204: \317\301!\210)\303\203T \302\203T \304\242\320\321\322\323#\210\320\324\325 \")\210\304\242\326\327!)\210r\330\331\"q\210\332\304\242!)\207" [V0 V1 V2 V3 V4 magit-process-raise-error process-status (exit signal) t magit-process-sentinel exit process-exit-status 0 magit-set "remote.pushDefault" magit-remote-unset-head magit-call-git "sparse-checkout" "init" "--cone" "checkout" magit-get-current-branch run-hooks magit-post-clone-hook process-get command-buf magit-status-setup-buffer default-directory magit-clone-set-remote-head] 6 "\n\n(fn PROCESS EVENT)"]] 17 (#$ . 10459)])
(defalias 'magit-clone-read-args #[0 "\301 \211\302\303\304!\203 !\202 \305\211\306!%\307\310!E\207" [magit-clone-default-directory magit-clone-read-repository read-directory-name "Clone to: " functionp nil magit-clone--url-to-name transient-args magit-clone] 9])
(defalias 'magit-clone-read-repository #[0 "\300\301\302\303\304F\305\244\306\307!\310\311\312#\266\202\313\314!@\315\260\262\316\"\211\317\267\202] \320\321!\322\305\323\324$\266\203\203; \211\202> \325!\262\202^ \326\327\330!!\202^ \331\326\327\332!!P\202^ \326\333\334!!\202^ \305\262\335\336!\210\207" [read-char-choice "[u]rl or name" "[p]ath" "[l]ocal url" "[b]undle" nil "Clone from " butlast ", " mapconcat identity ", or " last " " (117 112 108 98) #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (117 38 112 67 108 75 98 85)) magit-read-string-ns "Clone from url or name" "\\(://\\|@\\)" string-match t magit-clone--name-to-url magit-convert-filename-for-git read-directory-name "Clone repository: " "file://" "Clone repository: file://" read-file-name "Clone from bundle: " message ""] 10])#@12 

(fn URL)
(defalias 'magit-clone--url-to-name #[257 "\300\301\"\205 \302\303\"\207" [string-match "\\([^/:]+?\\)\\(/?\\.git\\)?$" match-string-no-properties 1] 4 (#$ . 13332)])#@13 

(fn NAME)
(defalias 'magit-clone--name-to-url #[257 "\301\302\303\"\"\206 \304\305\300\"\207" [magit-clone-name-alist seq-some make-closure #[257 "\211\242\243\211\242\243\211\242\243\301\300\"\205 \302\303\300\"\304#\262\207" [V0 string-match match-string-no-properties 1 magit-clone--format-url] 12 "\n\n(fn ARG0)"] user-error "Not an url and no matching entry in `%s'"] 5 (#$ . 13518)])#@23 

(fn HOST USER REPO)
(defalias 'magit-clone--format-url #[771 "\301<\203 \302\"\206 \303\236A\202 ;\205 \211\262\203b \304\305B\306\307\310\"\2033 \202^ \307\311\"\203X \301\312!\211\262\203N \211\310Q\202S \313\314	\"\262\202^ \310QBD\"\207\313\315!\207" [magit-clone-url-format nil assoc t format-spec 104 110 string-search "/" "." magit-get user-error "Set %S or specify owner explicitly" "Bogus `magit-clone-url-format' (bad type or missing default)"] 12 (#$ . 13928)])
(provide 'magit-clone)
