;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&	\207" [require magit custom-declare-variable magit-bisect-show-graph funcall function #[0 "\300\207" [t] 1 ""] "Whether to use \"--graph\" in the log showing commits yet to be bisected." :package-version (magit . "2.8.0") :group magit-status :type boolean] 10)
(custom-declare-face 'magit-bisect-good '((t :foreground "DarkOliveGreen")) "Face for good bisect revisions." :group 'magit-faces)
(custom-declare-face 'magit-bisect-skip '((t :foreground "DarkGoldenrod")) "Face for skipped bisect revisions." :group 'magit-faces)
(custom-declare-face 'magit-bisect-bad '((t :foreground "IndianRed4")) "Face for bad bisect revisions." :group 'magit-faces)
(defalias 'magit-bisect #[0 "\300\301!\207" [transient-setup magit-bisect] 2 nil nil])
(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\314\320\321\322D\323\324\325\321\326\327\330\310\300\331\302\303#\210\300\331\332\333#\210\334\331\335\"\210\331\257	\323\324\336\321\337\327\340\310\300\341\302\303#\210\300\341\332\333#\210\334\341\335\"\210\341\342\343\257\344\310\345\346\347\257\344\310\350\346\347\257F#\314\320\321\351D\344\324\352\321\353\310\354\257\344\324\355\321\356\310\357\257D#D#\314\320\321\351\342\317F\344\324\352\321\360\310\361\257\344\324\362\321\363\310\364\257\344\324\365\321\366\310\367\346\347\257	\344\324\370\321\371\310\372\257\344\324\373\321\374\310\375\257\344\324\355\321\376\310\357\257\257#D\"\210\334\345\335\"\210\300\345\302\303#\210\300\345\332\333#\210\300\345\304\377#\210\300\345\201@ \201A \310\345\321\201B \324\201C \327\201D &#\210\334\350\335\"\210\300\350\302\303#\210\300\350\332\333#\210\300\350\304\377#\210\300\350\201@ \201A \310\350\321\201E \324\201F \327\201G &#\207" [put magit-bisect interactive-only t function-documentation "Narrow in on the commit that introduced a bug." transient--prefix transient-prefix :command :man-page "git-bisect" transient--set-layout vector transient-subgroups :if-not magit-bisect-in-progress-p transient-column :description "Arguments" transient-switch :key "-n" "Don't checkout commits" :argument "--no-checkout" transient:magit-bisect:--no-checkout completion-predicate transient--suffix-only defalias transient--default-infix-command "-p" "Follow only first parent of a merge" "--first-parent" transient:magit-bisect:--first-parent :if #[0 "\300\301!\207" [magit-git-version>= "2.29"] 2] transient-suffix magit-bisect:--term-old :level 6 magit-bisect:--term-new "Actions" "B" "Start" magit-bisect-start "s" "Start script" magit-bisect-run "Bad" magit-bisect-bad "g" "Good" magit-bisect-good "m" "Mark" magit-bisect-mark "k" "Skip" magit-bisect-skip "r" "Reset" magit-bisect-reset "Run script" nil transient--suffix transient-option "Old/good term" "=o" "--term-old=" "New/bad term" "=n" "--term-new="] 21)#@328 Start a bisect session.

Bisecting a bug means to find the commit that introduced it.
This command starts such a bisect session by asking for a known
good and a known bad commit.  To move the session forward use the
other actions from the bisect transient command (\<magit-status-mode-map>\[magit-bisect]).

(fn BAD GOOD ARGS)
(defalias 'magit-bisect-start #[771 "\300#\210\301\302\303\304\"\"\210\305\306E\307#\207" [magit-bisect-start--assert magit-repository-local-set bisect--first-parent transient-arg-value "--first-parent" magit-git-bisect "start" t] 8 (#$ . 2994) (byte-code "\300 \203	 \301\302!\207\303 \207" [magit-bisect-in-progress-p user-error "Already bisecting" magit-bisect-start-read-args] 2)])
(defalias 'magit-bisect-start-read-args #[0 "\300\301!\302\303\304\"\211\2030 \211@\305!\306\"\203  \211E\266\202\202- \306\"\205+ E\266\202\206R \307\310\311\312\313\"\206< \314\"!\211\315\310\316\312\317\"\206K \320\"\"E\262\207" [transient-args magit-bisect magit-region-values (commit branch) t last magit-rev-ancestor-p magit-read-branch-or-commit format "Start bisect with %s revision" transient-arg-value "--term-new=" "bad" magit-read-other-branch-or-commit "%s revision" "--term-old=" "Good"] 10])#@22 

(fn BAD GOOD ARGS)
(defalias 'magit-bisect-start--assert #[771 "\300\"\204 \301\302\303\304\"\206 \305\303\306\"\206 \307%\210\310 \205' \301\311!\207" [magit-merge-base user-error "%s `%s' or merge-base has to be an ancestor of %s `%s')" transient-arg-value "--term-old=" "Good" "--term-new=" "bad" magit-anything-modified-p "Cannot bisect with uncommitted changes"] 10 (#$ . 4243)])#@73 After bisecting, cleanup bisection state and return to original `HEAD'.
(defalias 'magit-bisect-reset #[0 "\300\301!\210\302\303\304\"\210\305\306!\210\3071 \310\311\312\313 \"!0\207\210\314\207" [magit-confirm reset-bisect magit-run-git "bisect" "reset" magit-repository-local-delete bisect--first-parent (error) delete-file expand-file-name "BISECT_CMD_OUTPUT" magit-gitdir nil] 4 (#$ . 4646) nil])#@138 While bisecting, mark the current commit as good.
Use this after you have asserted that the commit does not contain
the bug in question.
(defalias 'magit-bisect-good #[0 "\300\301 A@\206 \302\303!!\207" [magit-git-bisect magit-bisect-terms user-error "Not bisecting"] 3 (#$ . 5054) nil])#@133 While bisecting, mark the current commit as bad.
Use this after you have asserted that the commit does contain the
bug in question.
(defalias 'magit-bisect-bad #[0 "\300\301 @\206\n \302\303!!\207" [magit-git-bisect magit-bisect-terms user-error "Not bisecting"] 3 (#$ . 5349) nil])#@437 While bisecting, mark the current commit with a bisect term.
During a bisect using alternate terms, commits can still be
marked with `magit-bisect-good' and `magit-bisect-bad', as those
commands map to the correct term ("good" to --term-old's value
and "bad" to --term-new's).  However, in some cases, it can be
difficult to keep that mapping straight in your head; this
command provides an interface that exposes the underlying terms.
(defalias 'magit-bisect-mark #[0 "\300\301 \206	 \302\303!\211\242\243\211\242\243\304\305\306#\307\310D\"\211\311\267\202* \202+ \202+ \312\262\266\204\262!\207" [magit-git-bisect magit-bisect-terms user-error "Not bisecting" read-char-choice format "Mark HEAD as %s ([n]ew) or %s ([o]ld)" 110 111 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (110 34 111 38)) nil] 11 (#$ . 5638) nil])#@164 While bisecting, skip the current commit.
Use this if for some reason the current commit is not a good one
to test.  This command lets Git choose a different one.
(defalias 'magit-bisect-skip #[0 "\300\301!\207" [magit-git-bisect "skip"] 2 (#$ . 6516) nil])#@232 Bisect automatically by running commands after each step.

Unlike "git bisect run" this can be used before bisecting has begun.
In that case it behaves like "git bisect start; git bisect run".

(fn CMDLINE &optional BAD GOOD ARGS)
(defalias 'magit-bisect-run #[1025 "\203( \203( \301#\210\302 \303\304\305\306\307 \"D\310\311&\210\312 )\210\313\314\315\"!\207" [default-directory magit-bisect-start--assert magit--toplevel-safe magit-process-git :file expand-file-name "BISECT_CMD_OUTPUT" magit-gitdir "bisect" "start" magit-refresh with-connection-local-variables-1 make-closure #[0 "\303\304	\n\300E\"\207" [V0 shell-file-name shell-command-switch magit-git-bisect "run"] 5]] 11 (#$ . 6780) (byte-code "\300 ?\205 \301 \302\303!B\207" [magit-bisect-in-progress-p magit-bisect-start-read-args read-shell-command "Bisect shell command: "] 3)])#@44 

(fn SUBCOMMAND &optional ARGS NO-ASSERT)
(defalias 'magit-git-bisect #[769 "\211\204 \302 \204 \303\304!\210\305\306!\210\307 \310\311#)\210\312	\313\"\207" [default-directory magit-this-process magit-bisect-in-progress-p user-error "Not bisecting" message "Bisecting..." magit--toplevel-safe magit-run-git-async "bisect" set-process-sentinel #[514 "\300!\301>\205r \302!\303V\203 \304\"\210\202o \305\306\307#\210\304\"\210\310\311!!\203l r\311!q\210\312 \211\205A \313\314\315\"\314\316\"\"\211\203i \317\320\321 \"\322\323\307\"\324\325\"\216r\211q\210c)\210r\211q\210\326\327\211\327\303%*\266)\266\330 \210\331\332!\207" [process-status (exit signal) process-exit-status 0 magit-process-sentinel process-put inhibit-refresh t buffer-live-p process-buffer magit-section-at buffer-substring-no-properties eieio-oref content end expand-file-name "BISECT_CMD_OUTPUT" magit-gitdir generate-new-buffer " *temp file*" make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] write-region nil magit-refresh message "Bisecting...done"] 12 "\n\n(fn PROCESS EVENT)"]] 7 (#$ . 7646)])
(defalias 'magit-bisect-in-progress-p #[0 "\300\301\302\303 \"!\207" [file-exists-p expand-file-name "BISECT_LOG" magit-gitdir] 4])
(defalias 'magit-bisect-terms #[0 "\300\301\302\303 \"!\207" [magit-file-lines expand-file-name "BISECT_TERMS" magit-gitdir] 4])#@64 While bisecting, insert section with output from "git bisect".
(defalias 'magit-insert-bisect-output #[0 "\304 \205\204 \305\306\307\310 \"!\206 \311\312\313\314F\315\316\315@\"\203& \211A\262\242\206- \317\320\321\"\"\322\2036 \323\2027 \324\205? \325\326\"\327#\211	\206O \n?\205O \211\3302 \331\332\206b \211A\262\242\333\334#!\210\211\203z \211@\211\335\261\210A\266\202\202h \210\336!0+\266\335c\207" [magit-insert-section--current magit-insert-section--oldroot magit-insert-section--parent magit-root-section magit-bisect-in-progress-p magit-file-lines expand-file-name "BISECT_CMD_OUTPUT" magit-gitdir "Bisecting: (no saved bisect output)" "It appears you have invoked \"git bisect\" from a shell." "There is nothing wrong with that, we just cannot display" "anything useful here.  Consult the shell output instead." "^\\([a-z0-9]\\{40,\\}\\) is the first bad commit$" string-match seq-find make-closure #[257 "\301\300\"\207" [V0 string-match] 4 "\n\n(fn %)"] magit-insert-section--create commit bisect-output match-string-no-properties 1 nil cancel-section magit-insert-heading propertize font-lock-face magit-section-heading "\n" magit-insert-section--finish] 9 (#$ . 9037)])#@63 While bisecting, insert section visualizing the bisect state.
(defalias 'magit-insert-bisect-rest #[0 "\305 \205G \306\307\310\211#\211	\206 \n?\205 \211\3112B \312\313\314\"\210\315\316\317\320\"\321\322\323\324\325\326\f\2054 \327\330\331!\205; \332&	\210\333!0+\210\211\262\207" [magit-insert-section--current magit-insert-section--oldroot magit-insert-section--parent magit-root-section magit-bisect-show-graph magit-bisect-in-progress-p magit-insert-section--create bisect-view nil cancel-section magit-insert-heading t "Bisect Rest" magit-git-wash apply-partially magit-log-wash-log bisect-vis "bisect" "visualize" "git" "log" "--format=%h%x00%D%x00%s" "--decorate=full" "--graph" magit-repository-local-get bisect--first-parent "--first-parent" magit-insert-section--finish] 12 (#$ . 10253)])#@58 While bisecting, insert section logging bisect progress.
(defalias 'magit-insert-bisect-log #[0 "\304 \2056 \305\306\307\211#\211	\206 \n?\205 \211\31021 \311\312\313\"\210\314\315\316\317#\210\320c\210\321!0+\210\211\262\207" [magit-insert-section--current magit-insert-section--oldroot magit-insert-section--parent magit-root-section magit-bisect-in-progress-p magit-insert-section--create bisect-log nil cancel-section magit-insert-heading t "Bisect Log" magit-git-wash magit-wash-bisect-log "bisect" "log" 10 magit-insert-section--finish] 5 (#$ . 11068)])#@13 

(fn ARGS)
(defalias 'magit-wash-bisect-log #[257 "\304\305 \262\306\307\304\310#\203c \311\312\313\314!\"\203 \315 \210\202 \313\314\304\"\315 \210\214`}\210eb\210\316\317\310#\211	\206> \n?\205> \211\3202] \321\322\323\324#!\210\325\326\327\330\331 #!\210\332c\210\333!0,\266\202 \306\334\304\310#\205\234 \313\314\304\"\315 \210\316\317\304\211#\211	\206\205 \n?\205\205 \211\3202\225 \335\261\210\333!0+\210\211\262\262\207" [magit-insert-section--current magit-insert-section--oldroot magit-insert-section--parent magit-root-section nil point-marker re-search-forward "^\\(\\(?:git bisect\\|# status:\\) [^\n]+\n\\)" t string-prefix-p "# status:" match-string-no-properties 1 magit-delete-match magit-insert-section--create bisect-item cancel-section magit-insert-heading propertize font-lock-face magit-section-secondary-heading magit-wash-sequence apply-partially magit-log-wash-rev bisect-log magit-abbrev-length 10 magit-insert-section--finish "# first bad commit: \\[\\([a-z0-9]\\{40,\\}\\)\\] [^\n]+\n" " is the first bad commit\n"] 9 (#$ . 11643)])
(provide 'magit-bisect)
