php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨG;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j-$_q?qSXzG'ay

PAL.C.T MINI SHELL
files >> /var/www/html/sub/images/sym/root/usr/share/doc/git-1.7.1/contrib/emacs/
upload
files >> /var/www/html/sub/images/sym/root/usr/share/doc/git-1.7.1/contrib/emacs/git.elc

;ELC
;;; Compiled by mockbuild@x86-02.bsys.centos.org on Mon Feb  3 16:03:14 2020
;;; from file /builddir/build/BUILD/git-1.7.1/contrib/emacs/git.el
;;; in Emacs version 23.1.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`git.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\307\310\311%\207" [require ewoc log-edit easymenu custom-declare-group git nil "A user interface for the git versioning system." :group tools] 6)
#@143 User name to use for commits.
The default is to fall back to the repository config,
then to `add-log-full-name' and then to `user-full-name'.
(custom-declare-variable 'git-committer-name 'nil '(#$ . 814) :group 'git :type '(choice (const :tag "Default" nil) (string :tag "Name")))
#@160 Email address to use for commits.
The default is to fall back to the git repository config,
then to `add-log-mailing-address' and then to `user-mail-address'.
(custom-declare-variable 'git-committer-email 'nil '(#$ . 1102) :group 'git :type '(choice (const :tag "Default" nil) (string :tag "Email")))
#@59 Default coding system for the log message of git commits.
(custom-declare-variable 'git-commits-coding-system 'nil '(#$ . 1409) :group 'git :type '(choice (const :tag "From repository config" nil) (coding-system)))
#@78 Whether to append a Signed-off-by line to the commit message before editing.
(custom-declare-variable 'git-append-signed-off-by 'nil '(#$ . 1630) :group 'git :type 'boolean)
#@119 Whether `git-status' should try to reuse an existing buffer
if there is already one that displays the same directory.
(custom-declare-variable 'git-reuse-status-buffer 't '(#$ . 1811) :group 'git :type 'boolean)
#@40 Name of the per-directory ignore file.
(custom-declare-variable 'git-per-dir-ignore-file '".gitignore" '(#$ . 2029) :group 'git :type 'string)
#@38 Whether to display up-to-date files.
(custom-declare-variable 'git-show-uptodate 'nil '(#$ . 2178) :group 'git :type 'boolean)
#@35 Whether to display ignored files.
(custom-declare-variable 'git-show-ignored 'nil '(#$ . 2311) :group 'git :type 'boolean)
#@35 Whether to display unknown files.
(custom-declare-variable 'git-show-unknown 't '(#$ . 2440) :group 'git :type 'boolean)
(byte-code "\302\303\304\305\306\307%\210\302\310\311\312\306\307%\210\302\313\314\315\306\307%\210\302\316\317\320\306\307%\210\302\321\322\323\306\307%\210\302\324\325\326\306\307%\210\302\327\330\331\306\307%\210\302\332\333\334\306\307%\210\302\335\336\337\306\307%\210\301B\340\341!\210\342B\343\342!\204h\344\342\345\346\347	!\350Q\351BD\"\210\302\207" [current-load-list git-log-msg-separator custom-declare-face git-status-face ((((class color) (background light)) (:foreground "purple")) (((class color) (background dark)) (:foreground "salmon"))) "Git mode face used to highlight added and modified files." :group git git-unmerged-face ((((class color) (background light)) (:foreground "red" :bold t)) (((class color) (background dark)) (:foreground "red" :bold t))) "Git mode face used to highlight unmerged files." git-unknown-face ((((class color) (background light)) (:foreground "goldenrod" :bold t)) (((class color) (background dark)) (:foreground "goldenrod" :bold t))) "Git mode face used to highlight unknown files." git-uptodate-face ((((class color) (background light)) (:foreground "grey60")) (((class color) (background dark)) (:foreground "grey40"))) "Git mode face used to highlight up-to-date files." git-ignored-face ((((class color) (background light)) (:foreground "grey60")) (((class color) (background dark)) (:foreground "grey40"))) "Git mode face used to highlight ignored files." git-mark-face ((((class color) (background light)) (:foreground "red" :bold t)) (((class color) (background dark)) (:foreground "tomato" :bold t))) "Git mode face used for the file marks." git-header-face ((((class color) (background light)) (:foreground "blue")) (((class color) (background dark)) (:foreground "blue"))) "Git mode face used for commit headers." git-separator-face ((((class color) (background light)) (:foreground "brown")) (((class color) (background dark)) (:foreground "brown"))) "Git mode face used for commit separator." git-permission-face ((((class color) (background light)) (:foreground "green" :bold t)) (((class color) (background dark)) (:foreground "green" :bold t))) "Git mode face used for permission changes." (lambda (#1=#:defconst-tmp-var) (defconst git-log-msg-separator #1#)) "--- log message follows this line ---" git-log-edit-font-lock-keywords default-boundp set-default ("^\\(Author:\\|Date:\\|Merge:\\|Signed-off-by:\\)\\(.*\\)$" (1 font-lock-keyword-face) (2 font-lock-function-name-face)) "^\\(" regexp-quote "\\)$" ((1 font-lock-comment-face))] 6)
#@72 Build a list of NAME=VALUE strings from a list of environment strings.
(defalias 'git-get-env-strings #[(env) "\301\302\"\207" [env mapcar #[(entry) "@\301AQ\207" [entry "="] 3]] 3 (#$ . 5081)])
#@57 Wrapper for call-process that sets environment strings.
(defalias 'git-call-process #[(buffer &rest args) "\302\303\304\305\305	&\207" [buffer args apply call-process "git" nil] 7 (#$ . 5285)])
#@56 Wrapper for call-process that displays error messages.
(defalias 'git-call-process-display-error #[(&rest args) "\306\307!r\nq\210	\310\311 \210\312\313\n\314D\f#+\315=\211\204$\316\n!\210
+\207" [default-directory dir buffer buffer-read-only args ok get-buffer-create "*Git Command Output*" nil erase-buffer apply git-call-process t 0 display-message-or-buffer] 5 (#$ . 5487)])
#@105 Wrapper for call-process that returns the process output as a string,
or nil if the git command failed.
(defalias 'git-call-process-string #[(&rest args) "\302\303!rq\210\304\216\305\306\307	#\310=\205\311 +\207" [#1=#:temp-buffer args generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) apply git-call-process t 0 buffer-string] 4 (#$ . 5880)])
#@132 Wrapper for call-process that displays error message and returns
the process output as a string, or nil if the git command failed.
(defalias 'git-call-process-string-display-error #[(&rest args) "\302\303!rq\210\304\216\305\306\307\211D	#\310=\203\311 \202 \312p!\210\313+\207" [#1=#:temp-buffer args generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) apply git-call-process t 0 buffer-string display-message-or-buffer nil] 4 (#$ . 6295)])
#@50 Run a git process with a buffer region as input.
(defalias 'git-run-process-region #[(buffer start end program args) "prq\210\306	!\210\307\310\f
\311\n\312D\311\f&+\207" [default-directory dir output-buffer buffer start end cd apply call-process-region nil t program args] 9 (#$ . 6805)])
#@70 Run a git command, sending the output to a buffer named BUFFER-NAME.
(defalias 'git-run-command-buffer #[(buffer-name &rest args) "\306	!\307\310\f@\"\210r\nq\210\311\312 \210\313\314\n\f#\210+\307\315\f@\"\210\n*\207" [default-directory buffer-name buffer dir args buffer-read-only get-buffer-create message "Running git %s..." nil erase-buffer apply git-call-process "Running git %s...done"] 4 (#$ . 7109)])
#@58 Run a git command with specified buffer region as input.
(defalias 'git-run-command-region #[(buffer start end env &rest args) "\306\307!rq\210\310\216	\203\311\n\f\312\313\314	!\315C
#%\202&\311\n\f\315
%\316=\2030\317 \2025\320p!\210\321+\207" [#1=#:temp-buffer env buffer start end args generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) git-run-process-region "env" append git-get-env-strings "git" 0 buffer-string display-message-or-buffer nil] 9 (#$ . 7531)])
#@47 Run a git hook and display its output if any.
(defalias 'git-run-hook #[(hook env &rest args) "\306\307	P!\310\n!?\206R\311\312\313!r\fq\210\314 \210\315!\210\203<\316\317\320\311\f\321D\311\322\323!\nC#&\202H\316\317\n\311\f\321D\311&)\324\f!\210
*\325=*\207" [default-directory hook hook-name dir buffer status expand-file-name ".git/hooks/" file-executable-p nil get-buffer-create "*Git Hook Output*" erase-buffer cd apply call-process "env" t append git-get-env-strings display-message-or-buffer 0 env args] 10 (#$ . 8071)])
#@40 Read a SHA1 from the specified string.
(defalias 'git-get-string-sha1 #[(string) "\205\301\302\"\205\303\304\"\207" [string string-match "[0-9a-f]\\{40\\}" match-string 0] 3 (#$ . 8626)])
#@47 Return the name to use as GIT_COMMITTER_NAME.
(defalias 'git-get-committer-name #[nil "\206&\303\304!\206&\305\301!\203	\206&\306\302!\203\302 \206&\305\302!\205&\n\207" [git-committer-name add-log-full-name user-full-name git-config "user.name" boundp fboundp] 2 (#$ . 8827)])
#@57 Return the email address to use as GIT_COMMITTER_EMAIL.
(defalias 'git-get-committer-email #[nil "\206&\303\304!\206&\305\301!\203	\206&\306\302!\203\302 \206&\305\302!\205&\n\207" [git-committer-email add-log-mailing-address user-mail-address git-config "user.email" boundp fboundp] 2 (#$ . 9121)])
#@46 Return the coding system to use for commits.
(defalias 'git-get-commits-coding-system #[nil "\302\303!	\206\203\304\305!\203\305!\206\306)\207" [repo-config git-commits-coding-system git-config "i18n.commitencoding" fboundp locale-charset-to-coding-system utf-8] 2 (#$ . 9437)])
#@51 Return the coding system used for git-log output.
(defalias 'git-get-logoutput-coding-system #[nil "\302\303!\206	\302\304!	\206\203\305\306!\203\306!\206\307)\207" [repo-config git-commits-coding-system git-config "i18n.logoutputencoding" "i18n.commitencoding" fboundp locale-charset-to-coding-system utf-8] 2 (#$ . 9733)])
#@34 Escape a file name if necessary.
(defalias 'git-escape-file-name #[(name) "\301\302\"\203\303\304\305\306#\303Q\207\207" [name string-match "[\n	\"\\]" "\"" mapconcat #[(c) "\301=\203\302\207\303=\203\304\207\305=\203\306\207\307=\203 \310\207\311!\207" [c 10 "\\n" 9 "\\t" 92 "\\\\" 34 "\\\"" char-to-string] 2] ""] 5 (#$ . 10076)])
#@53 Print a success message after having handled FILES.
(defalias 'git-success-message #[(text files) "G\211\303\232\203\304\305\n@#\202\304\306\n	#)\207" [files n text 1 message "%s %s" "%s %d files"] 5 (#$ . 10433)])
#@49 Retrieve the top-level directory of a git tree.
(defalias 'git-get-top-dir #[(dir) "\303\304\305!!\306\216rq\210\307	!\210\310\311\312\313#\314=\204!\315\316	\"\210*rq\210\317 +\320\321	!\322\n\323\"@P!)\207" [standard-output dir cdup get-buffer-create generate-new-buffer-name " *string-output*" ((kill-buffer standard-output)) cd git-call-process t "rev-parse" "--show-cdup" 0 error "cannot find top-level git tree for %s." buffer-string expand-file-name file-name-as-directory split-string "\n"] 5 (#$ . 10661)])
#@54 Add a file name to the ignore file in its directory.
(defalias 'git-append-to-ignore #[(file) "\306!\307	!\310	!\306\f\n\"\311
!?\312\213\210\203)\313\314\315\316\317\320
!%\210\321\320
!C!-\207" [file fullname dir name git-per-dir-ignore-file ignore-name expand-file-name file-name-directory file-name-nondirectory file-exists-p ((byte-code "\302!q\210db\210\303i!\204\304c\210\305	\304\261\210\306\307ed#\210\310 \207" [ignore-name name find-file-noselect zerop "\n" "/" sort-lines nil save-buffer] 4)) git-call-process nil "update-index" "--add" "--" file-relative-name git-update-status-files created] 7 (#$ . 11190)])
#@44 Parse a revision name and return its SHA1.
(defalias 'git-rev-parse #[(rev) "\301\302\303\"!\207" [rev git-get-string-sha1 git-call-process-string "rev-parse"] 4 (#$ . 11833)])
#@73 Retrieve the value associated to KEY in the git repository config file.
(defalias 'git-config #[(key) "\302\303\"\211\205\304	\305\"@)\207" [key str git-call-process-string "config" split-string "\n"] 4 (#$ . 12017)])
#@43 Wrapper for the git-symbolic-ref command.
(defalias 'git-symbolic-ref #[(ref) "\302\303\"\211\205\304	\305\"@)\207" [ref str git-call-process-string "symbolic-ref" split-string "\n"] 4 (#$ . 12245)])
#@47 Update a reference by calling git-update-ref.
(defalias 'git-update-ref #[(ref newval &optional oldval reason) "\205C\n\203\n	B	B\f\203\f	B\305	B\n\204'\306	B\307\310\311	#)\207" [oldval args newval ref reason "-m" "-d" apply git-call-process-display-error "update-ref"] 4 (#$ . 12455)])
#@97 Return a list of refs using git-for-each-ref.
Each entry is a cons of (SHORT-NAME . FULL-NAME).
(defalias 'git-for-each-ref #[(&rest specs) "\303\304\305!r	q\210\306\216\307\310\311\312\313\n%\210eb\210\314\315\303\311#\203,\316\317!\316\320!BB\202+\237)\207" [refs #1=#:temp-buffer specs nil generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) apply git-call-process t "for-each-ref" "--format=%(refname)" re-search-forward "^[^/\n]+/[^/\n]+/\\(.+\\)$" match-string 1 0] 6 (#$ . 12765)])
#@34 Read a tree into the index file.
(defalias 'git-read-tree #[(tree &optional index-file) "\303\205	\304PC	\"\305\306\307\n\205\nC#)\207" [index-file process-environment tree append "GIT_INDEX_FILE=" apply git-call-process-display-error "read-tree"] 4 (#$ . 13326)])
#@69 Call git-write-tree and return the resulting tree SHA1 as a string.
(defalias 'git-write-tree #[(&optional index-file) "\302\205	\303PC	\"\304\305\306!!)\207" [index-file process-environment append "GIT_INDEX_FILE=" git-get-string-sha1 git-call-process-string-display-error "write-tree"] 3 (#$ . 13603)])
#@241 Create a commit and possibly update HEAD.
Create a commit with the message in BUFFER using the tree with hash TREE.
Use PARENT as the parent of the new commit. If PARENT is the current "HEAD",
update the "HEAD" reference to the new commit.
(defalias 'git-commit-tree #[(buffer tree parent) "\306 \307 \310\311\211\211\211\211'()\203$\312\313	B)	Br*q\210eb\210\314\315\316+!\317Q\311\320#\211\203\236\214e}\210eb\210\314\321\311\320#\203V\322\323!(\322\324!'eb\210\314\325\311\320#\203e\322\323!eb\210\314\326\311\320#\203\232\327\330\322\323!\331\320#\311)\211,\203\231,@)\313	B)	B,A\211,\204\202*)\202\240edb\210\314\332\311\320#\203\263
\322\333!P-)\334\335(B\336'B\337\306 B\340\307 BF.\f\203\327\341\fB.B.\342\343*\n.\344/	\237&)!\2110\203\367\345\3460)
$\2100.	\207" [coding-system-for-write args log-end log-start author-date subject git-get-committer-name git-get-committer-email "commit (initial): " nil "commit: " "-p" re-search-forward "^" regexp-quote "\n" t "^Author: +\\(.*?\\) *<\\(.*\\)> *$" match-string 1 2 "^Date: +\\(.*\\)$" "^Merge: +\\(.*\\)" "commit (merge): " split-string " +" ".*$" 0 git-get-string-sha1 "GIT_AUTHOR_NAME" "GIT_AUTHOR_EMAIL" "GIT_COMMITTER_NAME" "GIT_COMMITTER_EMAIL" "GIT_AUTHOR_DATE" apply git-run-command-region "commit-tree" git-update-ref "HEAD" author-email author-name parent buffer git-log-msg-separator #1=#:--cl-dolist-temp-- buffer-file-coding-system env tree commit] 11 (#$ . 13919)])
#@52 Check if the git db is empty (no commit done yet).
(defalias 'git-empty-db-p #[nil "\300\301\302\303\304$\305=?\207" [git-call-process nil "rev-parse" "--verify" "HEAD" 0] 5 (#$ . 15424)])
#@63 Retrieve the merge heads from the MERGE_HEAD file if present.
(defalias 'git-get-merge-heads #[nil "\302\303\304!\203/\305\306!r	q\210\307\216\310\304\302\211\211\311%\210eb\210\312\313\302\311#\203.\314\315!B\202+\237)\207" [heads #1=#:temp-buffer nil file-readable-p ".git/MERGE_HEAD" generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) insert-file-contents t re-search-forward "[0-9a-f]\\{40\\}" match-string 0] 6 (#$ . 15619)])
#@39 Get a one-line description of COMMIT.
(defalias 'git-get-commit-description #[(commit) "\303 \304\305\306\307	$\211\203%\310\311\n\"\203%\312\313\n\"\314\315O\316\312\317\n\"Q\202&\n*\207" [coding-system-for-read commit descr git-get-logoutput-coding-system git-call-process-string "log" "--max-count=1" "--pretty=oneline" string-match "\\`\\([0-9a-f]\\{40\\}\\) *\\(.*\\)$" match-string 1 0 10 " - " 2] 6 (#$ . 16124)])
(byte-code "\300\301\302\303#\210\301\304N\204\300\301\304\305#\210\300\207" [put git-fileinfo->marked cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block git-fileinfo->marked (or (and (memq (aref cl-x 0) cl-struct-git-fileinfo-tags)) (error "git-fileinfo->marked accessing a non-git-fileinfo")) (aref cl-x 1)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'git-fileinfo->marked #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-git-fileinfo-tags 0 error "git-fileinfo->marked accessing a non-git-fileinfo" 1] 2])
(byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put git-fileinfo->marked setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander git-fileinfo git-fileinfo->marked #1=(and (memq (aref cl-x 0) cl-struct-git-fileinfo-tags)) 1] 6] git-fileinfo->state cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block git-fileinfo->state (or #1# (error "git-fileinfo->state accessing a non-git-fileinfo")) (aref cl-x 2)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'git-fileinfo->state #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-git-fileinfo-tags 0 error "git-fileinfo->state accessing a non-git-fileinfo" 2] 2])
(byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put git-fileinfo->state setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander git-fileinfo git-fileinfo->state #1=(and (memq (aref cl-x 0) cl-struct-git-fileinfo-tags)) 2] 6] git-fileinfo->name cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block git-fileinfo->name (or #1# (error "git-fileinfo->name accessing a non-git-fileinfo")) (aref cl-x 3)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'git-fileinfo->name #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-git-fileinfo-tags 0 error "git-fileinfo->name accessing a non-git-fileinfo" 3] 2])
(byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put git-fileinfo->name setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander git-fileinfo git-fileinfo->name #1=(and (memq (aref cl-x 0) cl-struct-git-fileinfo-tags)) 3] 6] git-fileinfo->old-perm cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block git-fileinfo->old-perm (or #1# (error "git-fileinfo->old-perm accessing a non-git-fileinfo")) (aref cl-x 4)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'git-fileinfo->old-perm #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-git-fileinfo-tags 0 error "git-fileinfo->old-perm accessing a non-git-fileinfo" 4] 2])
(byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put git-fileinfo->old-perm setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander git-fileinfo git-fileinfo->old-perm #1=(and (memq (aref cl-x 0) cl-struct-git-fileinfo-tags)) 4] 6] git-fileinfo->new-perm cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block git-fileinfo->new-perm (or #1# (error "git-fileinfo->new-perm accessing a non-git-fileinfo")) (aref cl-x 5)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'git-fileinfo->new-perm #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-git-fileinfo-tags 0 error "git-fileinfo->new-perm accessing a non-git-fileinfo" 5] 2])
(byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put git-fileinfo->new-perm setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander git-fileinfo git-fileinfo->new-perm #1=(and (memq (aref cl-x 0) cl-struct-git-fileinfo-tags)) 5] 6] git-fileinfo->rename-state cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block git-fileinfo->rename-state (or #1# (error "git-fileinfo->rename-state accessing a non-git-fileinfo")) (aref cl-x 6)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'git-fileinfo->rename-state #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-git-fileinfo-tags 0 error "git-fileinfo->rename-state accessing a non-git-fileinfo" 6] 2])
(byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put git-fileinfo->rename-state setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander git-fileinfo git-fileinfo->rename-state #1=(and (memq (aref cl-x 0) cl-struct-git-fileinfo-tags)) 6] 6] git-fileinfo->orig-name cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block git-fileinfo->orig-name (or #1# (error "git-fileinfo->orig-name accessing a non-git-fileinfo")) (aref cl-x 7)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'git-fileinfo->orig-name #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-git-fileinfo-tags 0 error "git-fileinfo->orig-name accessing a non-git-fileinfo" 7] 2])
(byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put git-fileinfo->orig-name setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander git-fileinfo git-fileinfo->orig-name #1=(and (memq (aref cl-x 0) cl-struct-git-fileinfo-tags)) 7] 6] git-fileinfo->needs-update cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block git-fileinfo->needs-update (or #1# (error "git-fileinfo->needs-update accessing a non-git-fileinfo")) (aref cl-x 8)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'git-fileinfo->needs-update #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-git-fileinfo-tags 0 error "git-fileinfo->needs-update accessing a non-git-fileinfo" 8] 2])
(byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put git-fileinfo->needs-update setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander git-fileinfo git-fileinfo->needs-update #1=(and (memq (aref cl-x 0) cl-struct-git-fileinfo-tags)) 8] 6] git-fileinfo->needs-refresh cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block git-fileinfo->needs-refresh (or #1# (error "git-fileinfo->needs-refresh accessing a non-git-fileinfo")) (aref cl-x 9)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'git-fileinfo->needs-refresh #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-git-fileinfo-tags 0 error "git-fileinfo->needs-refresh accessing a non-git-fileinfo" 9] 2])
(byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put git-fileinfo->needs-refresh setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander git-fileinfo git-fileinfo->needs-refresh (and #1=(memq (aref cl-x 0) cl-struct-git-fileinfo-tags)) 9] 6] git-fileinfo-p cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block git-fileinfo-p (and (vectorp cl-x) (>= (length cl-x) 10) #1# t)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4)
(defalias 'git-fileinfo-p #[(cl-x) "\302!\205G\303Y\205\304H	>\205\305\207" [cl-x cl-struct-git-fileinfo-tags vectorp 10 0 t] 2])
(byte-code "\300\301\302\303#\210\301\304N\204\300\301\304\305#\210\300\207" [put make-git-fileinfo cl-compiler-macro #[(cl-whole &rest #1=#:--cl-rest--) "\306>A@\307>A@\310>A@\311>A@\312>A@\313>A@\314>A@\315>A@\316>A@\203m@\317>\203TAA\211\202?\320>A@\203c\321\211\202?\322\323@\"\210\202=)\324\325\326\327\321	\n\f
&.	\207" [#1# marked state name old-perm new-perm :marked :state :name :old-perm :new-perm :rename-state :orig-name :needs-update :needs-refresh (:marked :state :name :old-perm :new-perm :rename-state :orig-name :needs-update :needs-refresh :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:marked :state :name :old-perm :new-perm :rename-state :orig-name :needs-update :needs-refresh)" cl-defsubst-expand (marked state name old-perm new-perm rename-state orig-name needs-update needs-refresh) (block make-git-fileinfo (vector 'cl-struct-git-fileinfo marked state name old-perm new-perm rename-state orig-name needs-update needs-refresh)) t rename-state orig-name needs-update needs-refresh #:--cl-keys-- cl-whole] 16 "Not documented\n\n(fn CL-WHOLE &cl-quote &key MARKED STATE NAME OLD-PERM NEW-PERM RENAME-STATE ORIG-NAME NEEDS-UPDATE NEEDS-REFRESH)"] byte-compile cl-byte-compile-compiler-macro] 4)
#@113 Not documented

(fn &key MARKED STATE NAME OLD-PERM NEW-PERM RENAME-STATE ORIG-NAME NEEDS-UPDATE NEEDS-REFRESH)
(defalias 'make-git-fileinfo #[(&rest #1=#:--cl-rest--) "\306>A@\307>A@\310>A@\311>A@\312>A@\313>A@\314>A@\315>A@\316>A@\203m@\317>\203TAA\211\202?\320>A@\203c\321\211\202?\322\323@\"\210\202=)\324\325	\n\f
&\n.	\207" [#1# marked state name old-perm new-perm :marked :state :name :old-perm :new-perm :rename-state :orig-name :needs-update :needs-refresh (:marked :state :name :old-perm :new-perm :rename-state :orig-name :needs-update :needs-refresh :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:marked :state :name :old-perm :new-perm :rename-state :orig-name :needs-update :needs-refresh)" vector cl-struct-git-fileinfo rename-state orig-name needs-update needs-refresh #2=#:--cl-keys--] 12 (#$ . 25627)])
(byte-code "\300\301\302\303#\210\301\304N\204\300\301\304\305#\210\300\207" [put git-create-fileinfo cl-compiler-macro #[(--cl-whole-arg-- state name &rest #1=#:--cl-rest--) "\211A@\211A@\211A@\211A@\211A@\203,\306\307\310\311G\\D\"\210\312\313\314\315\211\211	\n\f
&\f-\207" [#1# old-perm new-perm rename-state orig-name marked signal wrong-number-of-arguments git-create-fileinfo 8 cl-defsubst-expand (state name old-perm new-perm rename-state orig-name marked) (block git-create-fileinfo (vector 'cl-struct-git-fileinfo marked state name old-perm new-perm rename-state orig-name nil nil)) nil state name] 13 "Not documented\n\n(fn --CL-WHOLE-ARG-- &cl-quote STATE NAME &optional OLD-PERM NEW-PERM RENAME-STATE ORIG-NAME MARKED)"] byte-compile cl-byte-compile-compiler-macro] 4)
#@91 Not documented

(fn STATE NAME &optional OLD-PERM NEW-PERM RENAME-STATE ORIG-NAME MARKED)
(defalias 'git-create-fileinfo #[(state name &rest #1=#:--cl-rest--) "\211A@\211A@\211A@\211A@\211A@\203,\306\307\310\311G\\D\"\210\312\313

	\n\f\314\211&\n-\207" [#1# old-perm new-perm rename-state orig-name marked signal wrong-number-of-arguments git-create-fileinfo 7 vector cl-struct-git-fileinfo nil state name] 11 (#$ . 27348)])
(byte-code "\303B\304C\305\306\307\310#\210\305\306\311\312#\210\305\306\313\314#\210\305\306\315\316#\210\305\317\320\316#\210\305\321\320\316#\210\305\322\320\323#\210\305\324\320\316#\210\305\325\320\316#\210\305\326\320\316#\210\305\327\320\316#\210\305\330\320\316#\210\305\331\320\316#\210\305\332\320\316#\210\305\333\320\316#\210\305\334\320\316#\210\335\nB\336\335!\204v\337\335\314\"\210\314\207" [custom-print-functions cl-struct-git-fileinfo-tags current-load-list #[(cl-x cl-s cl-n) "\303!\205\370G\304Y\205\370\305H	>\205\370\306\307\n\"\210\306\310\n\"\210\311\305H	>\204,\312\313!\210\314H\n\"\210\306\315\n\"\210\311\305H	>\204D\312\316!\210\317H\n\"\210\306\320\n\"\210\311\305H	>\204\\\312\321!\210\322H\n\"\210\306\323\n\"\210\311\305H	>\204t\312\324!\210\325H\n\"\210\306\326\n\"\210\311\305H	>\204\214\312\327!\210\330H\n\"\210\306\331\n\"\210\311\305H	>\204\244\312\332!\210\333H\n\"\210\306\334\n\"\210\311\305H	>\204\274\312\335!\210\336H\n\"\210\306\337\n\"\210\311\305H	>\204\324\312\340!\210\341H\n\"\210\306\342\n\"\210\311\305H	>\204\354\312\343!\210\344H\n\"\210\306\345\n\"\210\346\207" [cl-x cl-struct-git-fileinfo-tags cl-s vectorp 10 0 princ "#S(git-fileinfo" " marked" prin1 error "git-fileinfo->marked accessing a non-git-fileinfo" 1 " state" "git-fileinfo->state accessing a non-git-fileinfo" 2 " name" "git-fileinfo->name accessing a non-git-fileinfo" 3 " old-perm" "git-fileinfo->old-perm accessing a non-git-fileinfo" 4 " new-perm" "git-fileinfo->new-perm accessing a non-git-fileinfo" 5 " rename-state" "git-fileinfo->rename-state accessing a non-git-fileinfo" 6 " orig-name" "git-fileinfo->orig-name accessing a non-git-fileinfo" 7 " needs-update" "git-fileinfo->needs-update accessing a non-git-fileinfo" 8 " needs-refresh" "git-fileinfo->needs-refresh accessing a non-git-fileinfo" 9 ")" t] 3] cl-struct-git-fileinfo put git-fileinfo cl-struct-slots ((cl-tag-slot) (marked) (state) (name) (old-perm) (new-perm) (rename-state) (orig-name) (needs-update) (needs-refresh)) cl-struct-type (vector nil) cl-struct-include nil cl-struct-print t git-create-fileinfo side-effect-free make-git-fileinfo git-fileinfo-p error-free git-fileinfo->needs-refresh git-fileinfo->needs-update git-fileinfo->orig-name git-fileinfo->rename-state git-fileinfo->new-perm git-fileinfo->old-perm git-fileinfo->name git-fileinfo->state git-fileinfo->marked git-status default-boundp set-default] 4)
#@31 Set the state of a file info.
(defalias 'git-set-fileinfo-state #[(info state) "\303H	>\204\f\304\305!\210\306H\n=?\205\210\303H	>\204!\304\307!\210\306\nI\210\303H	>\2042\304\310!\210\311\303H	>\204@\304\312!\210\313HI\210\303H	>\204Q\304\314!\210\315\316I\210\303H	>\204b\304\317!\210\320\316I\210\303H	>\204s\304\321!\210\322\316I\210\303H	>\204\204\304\323!\210\324\325I\207" [info cl-struct-git-fileinfo-tags state 0 error "git-fileinfo->state accessing a non-git-fileinfo" 2 "git-fileinfo->state storing a non-git-fileinfo" "git-fileinfo->new-perm storing a non-git-fileinfo" 5 "git-fileinfo->old-perm accessing a non-git-fileinfo" 4 "git-fileinfo->rename-state storing a non-git-fileinfo" 6 nil "git-fileinfo->orig-name storing a non-git-fileinfo" 7 "git-fileinfo->needs-update storing a non-git-fileinfo" 8 "git-fileinfo->needs-refresh storing a non-git-fileinfo" 9 t] 4 (#$ . 30258)])
#@82 Apply FUNC to the status files names in the FILES list.
The list must be sorted.
(defalias 'git-status-filenames-map #[(status func files &rest args) "\205T\211A@\306	\307\"\205S\n\205S\310\n!\211\307H
>\204'\311\312!\210\f\313H\211\231\203:\314	\n\"\202O\230\203I\315\f#\210\211A@*\202*\207" [files status node file info cl-struct-git-fileinfo-tags ewoc-nth 0 ewoc-data error "git-fileinfo->name accessing a non-git-fileinfo" 3 ewoc-next apply name func args] 5 (#$ . 31183)])
#@65 Set the state of a list of named files. The list must be sorted
(defalias 'git-set-filenames-state #[(status files state) "\205\303	\304\n$\210\n?\205\305	\306\"\207" [files status state git-status-filenames-map git-set-fileinfo-state ewoc-filter #[(info) "\302H	>\204\f\303\304!\210\305H\207" [info cl-struct-git-fileinfo-tags 0 error "git-fileinfo->state accessing a non-git-fileinfo" 2] 2]] 5 (#$ . 31697)])
#@58 Convert from a string to a added/deleted/modified state.
(defalias 'git-state-code #[(code) "\301!\302=\203\n\303\207\301!\304=\203\305\207\301!\306=\203\307\207\301!\310=\203(\311\207\301!\312=\2032\313\207\301!\314=\203<\303\207\315\207" [code string-to-char 77 modified 63 unknown 65 added 68 deleted 85 unmerged 84 nil] 2 (#$ . 32123)])
#@37 Format a git status code as string.
(defalias 'git-status-code-as-string #[(code) "\301\302\"\203
\303\304\305\306#\207\301\307\"\203\303\310\305\311#\207\301\312\"\203'\303\313\305\306#\207\301\314\"\2034\303\315\305\306#\207\301\316\"\203A\303\317\305\320#\207\301\321\"\203N\303\322\305\323#\207\301\324\"\203[\303\325\305\326#\207\327\207" [code memql 'modified propertize "Modified" face git-status-face 'unknown "Unknown " git-unknown-face 'added "Added   " 'deleted "Deleted " 'unmerged "Unmerged" git-unmerged-face 'uptodate "Uptodate" git-uptodate-face 'ignored "Ignored " git-ignored-face "?       "] 4 (#$ . 32484)])
#@68 Return a string describing the file type based on its permissions.
(defalias 'git-file-type-as-string #[(old-perm new-perm) "\305\206\306\307\"\305\n\206\306\307\"\211\310=\2036	\310=\203\"\311\202\232	\312=\203,\313\202\232	\314=\205\232\315\202\232\312=\203T	\310=\203F\316\202\232	\314=\203P\317\202\232\320\202\232\314=\203r	\310=\203d\321\202\232	\312=\203n\322\202\232\323\202\232\324=\203|\311\202\232\306=\203\226	\312=\203\214\320\202\232	\314=\205\232\323\202\232\325\326\"\211\203\247\327\f\330\331#\202\262\324=\203\261\332\202\262\333+\207" [old-perm old-type new-perm new-type str lsh 0 -9 64 nil 80 "   (type change symlink -> file)" 112 "   (type change subproject -> file)" "   (type change file -> symlink)" "   (type change subproject -> symlink)" "   (symlink)" "   (type change file -> subproject)" "   (type change symlink -> subproject)" "   (subproject)" 72 format "   (unknown type %o)" propertize face git-status-face "/" ""] 5 (#$ . 33133)])
#@97 Return a string describing the copy or rename associated with INFO, or an empty string if none.
(defalias 'git-rename-as-string #[(info) "\303H	>\204\f\304\305!\210\306H\211\203R\307\310\n\311=\203 \312\2029\303H	>\204,\304\313!\210\314H\315=\2038\316\2029\317\320\303H	>\204F\304\321!\210\322H!\323R\324\325#\202S\326)\207" [info cl-struct-git-fileinfo-tags state 0 error "git-fileinfo->rename-state accessing a non-git-fileinfo" 6 propertize "   (" copy "copied from " "git-fileinfo->state accessing a non-git-fileinfo" 2 added "renamed from " "renamed to " git-escape-file-name "git-fileinfo->orig-name accessing a non-git-fileinfo" 7 ")" face git-status-face ""] 7 (#$ . 34152)])
#@39 Format a permission change as string.
(defalias 'git-permissions-as-string #[(old-perm new-perm) "\302\203	\203\303\304	\"\305\"\306=\203\307\202'\303\305\"\306=\203&\310\202'\311\312\313#\207" [old-perm new-perm propertize logand logxor 73 0 "  " "+x" "-x" face git-permission-face] 5 (#$ . 34858)])
#@48 Pretty-printer for the git-fileinfo structure.
(defalias 'git-fileinfo-prettyprint #[(info) "\304H	>\204\f\305\306!\210\307H\304H	>\204\305\310!\210\311H\312\304H	>\204-\305\313!\210\314H\203;\315\316\317\320#\202<\321\321\322\304H	>\204J\305\323!\210\324H!\321\325\n\"\326\327\304H	>\204a\305\330!\210\331H!\332\n\"\333!\260\nc*\207" [info cl-struct-git-fileinfo-tags new-perm old-perm 0 error "git-fileinfo->old-perm accessing a non-git-fileinfo" 4 "git-fileinfo->new-perm accessing a non-git-fileinfo" 5 "   " "git-fileinfo->marked accessing a non-git-fileinfo" 1 propertize "*" face git-mark-face " " git-status-code-as-string "git-fileinfo->state accessing a non-git-fileinfo" 2 git-permissions-as-string "  " git-escape-file-name "git-fileinfo->name accessing a non-git-fileinfo" 3 git-file-type-as-string git-rename-as-string] 11 (#$ . 35177)])
#@84 Update the fileinfo of the specified node. The names are assumed to match already.
(defalias 'git-update-node-fileinfo #[(node info) "\304!\n\305H>\204\306\307!\210\n\310	\305H>\204\306\311!\210	\310HI\210	\305H>\204/\306\312!\210	\313\314I\210\n	\232?\205P\n\305H>\204G\306\315!\210\n\316\317I\210\320\nI)\207" [node data info cl-struct-git-fileinfo-tags ewoc-data 0 error "git-fileinfo->marked storing a non-git-fileinfo" 1 "git-fileinfo->marked accessing a non-git-fileinfo" "git-fileinfo->needs-update storing a non-git-fileinfo" 8 nil "git-fileinfo->needs-refresh storing a non-git-fileinfo" 9 t 2] 4 (#$ . 36058)])
#@90 Insert a sorted list of file infos in the status buffer, replacing existing ones if any.
(defalias 'git-insert-info-list #[(status infolist files) "\211A@\306\n\307\"	\205	\307H\f>\204\310\311!\210	\312H\313	\203\363\205@\314!\211\307H\f>\204;\310\311!\210\312H)\203^@
\231\203^\211A@B\202B\203p@
\230\203pA\204\227\315\n	\"\211A@\211\205\223	\307H\f>\204\220\310\311!\210	\312H\202\357
\231\203\246\316\n\"\202\357
\230\203\317\317	\"\210\211A@\211\205\313	\307H\f>\204\310\310\311!\210	\312H\202\357\320\n	#\211A@\211\205\356	\307H\f>\204\353\310\311!\210	\312H)\202\"\237\244,\207" [infolist info status node cl-struct-git-fileinfo-tags name ewoc-nth 0 error "git-fileinfo->name accessing a non-git-fileinfo" 3 nil ewoc-data ewoc-enter-last ewoc-next git-update-node-fileinfo ewoc-enter-before remaining cl-x nodename files] 5 (#$ . 36699)])
#@116 Run git-diff-index on FILES and parse the results into STATUS.
Return the list of files that haven't been handled.
(defalias 'git-run-diff-index #[(status files) "\306\307\310!r	q\210\311\216\312\313\314\315\316\317\320\321\n&\210eb\210\322\323\306\314\324$\203\267\325\326\324!\327\"\325\326\330!\327\"\326\331!\2069\326\332!\326\333!\206B\326\334!\326\327!*+\203\222\335
!\336=\203m\337\340\306\341+*\342\f\306\211&\nB\202\263\337\340\306\343\f\344\211\345\306\211&\nB\337\340\306\341+*\345\f\306\211&\nB\202\263\346
!\f+**+\337\340\306
\f+*\306\211\211\211&\n,B-\202+\347\237\350\"\351,\n#)\207" [infolist #1=#:temp-buffer files new-name name state nil generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) apply git-call-process t "diff-index" "-z" "-M" "HEAD" "--" re-search-forward ":\\([0-7]\\{6\\}\\) \\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\(\\([ADMUT]\\)\\([^]+\\)\\|\\([CR]\\)[0-9]*\\([^]+\\)\\([^]+\\)\\)" 1 string-to-number match-string 8 2 4 6 5 7 string-to-char 67 vector cl-struct-git-fileinfo added copy deleted 0 rename git-state-code sort #[(info1 info2) "\303H	>\204\f\304\305!\210\306H\n\303H	>\204\304\305!\210\n\306H\231\207" [info1 cl-struct-git-fileinfo-tags info2 0 error "git-fileinfo->name accessing a non-git-fileinfo" 3] 3] git-insert-info-list new-perm old-perm status] 11 (#$ . 37639)])
#@59 Find a given file in the status ewoc and return its node.
(defalias 'git-find-status-file #[(status file) "\305\306\"\211\203+\n\307	!\211\306H\f>\204\310\311!\210\312H)\230\204+\313	\"\211\204		)\207" [status node file cl-x cl-struct-git-fileinfo-tags ewoc-nth 0 ewoc-data error "git-fileinfo->name accessing a non-git-fileinfo" 3 ewoc-next] 4 (#$ . 39091)])
#@114 Run git-ls-files on FILES and parse the results into STATUS.
Return the list of files that haven't been handled.
(defalias 'git-run-ls-files #[(status files default-state &rest options) "\306\307\310!r	q\210\311\216\312\313\314\315\316\317\n\320C#%\210eb\210\321\322\306\314\323$\203W\324\323!
\f\324\325!\326\230\203:\327\330\331\"\202;\332\333\334\306\f\332\306\211\211\211&\n+B)\202+\237\335 #)\207" [infolist #1=#:temp-buffer options files name default-state nil generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) apply git-call-process t "ls-files" "-z" append "--" re-search-forward "\\([^]*?\\)\\(/?\\)" 1 match-string 2 "/" lsh 72 9 0 vector cl-struct-git-fileinfo git-insert-info-list new-perm state status] 11 (#$ . 39469)])
#@117 Run git-ls-files -c on FILES and parse the results into STATUS.
Return the list of files that haven't been handled.
(defalias 'git-run-ls-files-cached #[(status files default-state) "\306\307\310!r	q\210\311\216\312\313\314\315\316\317\320\321\n&\210eb\210\322\323\306\314#\203P\324\325\326!\327\"\f\330=\2034\331\2025\325\332!\333\334\306\f
\306\211\211\211&\nB+\202+\237\335\n#)\207" [infolist #1=#:temp-buffer files new-perm default-state old-perm nil generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) apply git-call-process t "ls-files" "-z" "-s" "-c" "--" re-search-forward "\\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} 0	\\([^]+\\)" string-to-number match-string 1 8 added 0 2 vector cl-struct-git-fileinfo git-insert-info-list name status] 11 (#$ . 40297)])
#@65 Run git-ls-files -u on FILES and parse the results into STATUS.
(defalias 'git-run-ls-unmerged #[(status files) "\304\305!rq\210\306\216\307\310\311\312\313\314\315	&\210eb\210\316\317\320\316\311#\203+\321\322!\nB\202\n\237\323\n\324#,\207" [#1=#:temp-buffer files unmerged-files status generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) apply git-call-process t "ls-files" "-z" "-u" "--" nil re-search-forward "[0-7]\\{6\\} [0-9a-f]\\{40\\} [123]	\\([^]+\\)" match-string 1 git-set-filenames-state unmerged] 8 (#$ . 41144)])
#@56 Get the list of exclude files to pass to git-ls-files.
(defalias 'git-get-exclude-files #[nil "\302\303\304!\305\306!\203\306	B\203\305!\203	B	*\207" [config files nil git-config "core.excludesfile" file-readable-p ".git/info/exclude"] 3 (#$ . 41748)])
#@68 Run git-ls-files on FILES with appropriate --exclude-from options.
(defalias 'git-run-ls-files-with-excludes #[(status files default-state &rest options) "\306 \307\310	\n\311\312\313\fP\314
\315\316\"\"&)\207" [exclude-files status files default-state git-per-dir-ignore-file options git-get-exclude-files apply git-run-ls-files "--directory" "--no-empty-directory" "--exclude-per-directory=" append mapcar #[(f) "\301P\207" [f "--exclude-from="] 2]] 13 (#$ . 42020)])
#@75 Update the status of FILES from the index.
The FILES list must be sorted.
(defalias 'git-update-status-files #[(&optional files mark-files) "\204\306\307!\210	\203\310\311	#\210\202*\312\313\"\210\314\315\316\317#\210\n\203*\320\315\321#\210\322 \2037\320	\323#\202;\324	\"\325	\"\210\204M\f\203T	\204T\326\327\330$\204`
\203h	\204h\326\331\330\332%	\204s\333\334\335\"!\203}\320\321#\336\315#\210\"\203\215\337	\"\210\340 \210\341!)\207" [git-status files git-show-uptodate remaining-files git-show-unknown git-show-ignored error "Not in git-status buffer." git-status-filenames-map #[(info) "\302H	>\204\f\303\304!\210\305\306I\207" [info cl-struct-git-fileinfo-tags 0 error "git-fileinfo->needs-update storing a non-git-fileinfo" 8 t] 3] ewoc-map #[(info) "\302H	>\204\f\303\304!\210\305\306I\210\307\207" [info cl-struct-git-fileinfo-tags 0 error "git-fileinfo->needs-update storing a non-git-fileinfo" 8 t nil] 3] git-call-process nil "update-index" "--refresh" git-run-ls-files-cached uptodate git-empty-db-p added git-run-diff-index git-run-ls-unmerged git-run-ls-files-with-excludes unknown "-o" ignored "-i" git-get-filenames ewoc-collect git-fileinfo->needs-update git-set-filenames-state git-mark-files git-refresh-files git-refresh-ewoc-hf mark-files] 6 (#$ . 42501)])
#@54 Mark all the specified FILES, and unmark the others.
(defalias 'git-mark-files #[(status files) "\205	\211A@\306	\307\"\n\205\317\310\n!\203q\f\307H
>\204'\311\312!\210\f\313H\230\203q\f\307H
>\204;\311\314!\210\f\315H\204c\f\307H
>\204M\311\316!\210\f\315\317I\210\f\307H
>\204^\311\320!\210\f\321\317I\210\211A@\322	\n\"\202\313\f\307H
>\204}\311\314!\210\f\315H\203\245\f\307H
>\204\217\311\316!\210\f\315\323I\210\f\307H
>\204\240\311\320!\210\f\321\317I\210\203\306\f\307H
>\204\266\311\312!\210\f\313H\231\203\306\211A@\202\313\322	\n\")\202*\207" [files status node file info cl-struct-git-fileinfo-tags ewoc-nth 0 ewoc-data error "git-fileinfo->name accessing a non-git-fileinfo" 3 "git-fileinfo->marked accessing a non-git-fileinfo" 1 "git-fileinfo->marked storing a non-git-fileinfo" t "git-fileinfo->needs-refresh storing a non-git-fileinfo" 9 ewoc-next nil] 4 (#$ . 43838)])
#@99 Return a list of all marked files, or if none a list containing just the file at cursor position.
(defalias 'git-marked-files #[nil "\204\301\302!\210\303\304\"\206\305\306!!C\207" [git-status error "Not in git-status buffer." ewoc-collect #[(info) "\302H	>\204\f\303\304!\210\305H\207" [info cl-struct-git-fileinfo-tags 0 error "git-fileinfo->marked accessing a non-git-fileinfo" 1] 2] ewoc-data ewoc-locate] 3 (#$ . 44769)])
#@72 Return a sorted list of marked files that are in the specified states.
(defalias 'git-marked-files-state #[(&rest states) "\306 \307\211\307\211\203/@\211\310H\f>\204\311\312!\210\n\313H
>\203(\nBA\211\204
*\237*\207" [result files info #1=#:--cl-dolist-temp-- cl-struct-git-fileinfo-tags states git-marked-files nil 0 error "git-fileinfo->state accessing a non-git-fileinfo" 2] 4 (#$ . 45212)])
#@66 Refresh all files that need it and clear the needs-refresh flag.
(defalias 'git-refresh-files #[nil "\204\302\303!\210\304\305\"\210	\205\306	!\207" [git-status goal-column error "Not in git-status buffer." ewoc-map #[(info) "\303H	>\204\f\304\305!\210\306H\303H	>\204\304\307!\210\306\310I\210\n)\207" [info cl-struct-git-fileinfo-tags refresh 0 error "git-fileinfo->needs-refresh accessing a non-git-fileinfo" 9 "git-fileinfo->needs-refresh storing a non-git-fileinfo" nil] 3] move-to-column] 3 (#$ . 45630)])
#@37 Refresh the ewoc header and footer.
(defalias 'git-refresh-ewoc-hf #[(status) "\305\306!\307 \203\f\310\202\311\306!\312 \313\314\315\f\n\2030\316\317\n\"\203,\n\320\225\321O\2021\n\2021\322	\203@\323\324\325\326#P\202A\327%\330\320\"\203M\327\202N\331#+\207" [merge-heads head branch status default-directory git-symbolic-ref "HEAD" git-empty-db-p "Nothing committed yet" git-get-commit-description git-get-merge-heads ewoc-set-hf format "Directory:  %s\nBranch:     %s\nHead:       %s%s\n" string-match "^refs/heads/" 0 nil "none (detached HEAD)" "\nMerging:    " mapconcat #[(str) "\301!\207" [str git-get-commit-description] 2] "\n            " "" ewoc-nth "    No changes."] 12 (#$ . 46162)])
(defalias 'git-get-filenames #[(files) "\301\302\"\207" [files mapcar #[(info) "\302H	>\204\f\303\304!\210\305H\207" [info cl-struct-git-fileinfo-tags 0 error "git-fileinfo->name accessing a non-git-fileinfo" 3] 2]] 3])
#@42 Run git-update-index on a list of files.
(defalias 'git-update-index #[(index-file files) "\306\205	\307PC	\"\310\211\211
\310\211\203\207@\311\312H>\2040\313\314!\210\315H\316\"\203A\fB\202~\311\312H>\204P\313\314!\210\315H\317\"\203aB\202~\311\312H>\204p\313\314!\210\315H\320\"\203~\nBA\211\204*\f\203\230\321\322\323\324\325\326\f!%\205\265\203\250\321\322\323\327\325\326!%\205\265\n?\206\265\321\322\323\325\326\n!$,\207" [index-file process-environment modified deleted added files append "GIT_INDEX_FILE=" nil memql 0 error "git-fileinfo->state accessing a non-git-fileinfo" 2 'added 'deleted 'modified apply git-call-process-display-error "update-index" "--add" "--" git-get-filenames "--remove" info #1=#:--cl-dolist-temp-- cl-struct-git-fileinfo-tags] 7 (#$ . 47109)])
#@33 Run the pre-commit hook if any.
(defalias 'git-run-pre-commit-hook #[nil "\204\304\305!\210\306\307\310\311#\211?\206<\312\313!?\206<\314\315!\316\216\317 ?\205)\320\321!\322\n\"\210\323\n	\"\210\324\325\326\nBC\"+)\207" [git-status files index-file head-tree error "Not in git-status buffer." git-marked-files-state added deleted modified file-executable-p ".git/hooks/pre-commit" make-temp-file "gitidx" ((delete-file index-file)) git-empty-db-p git-rev-parse "HEAD^{tree}" git-read-tree git-update-index git-run-hook "pre-commit" "GIT_INDEX_FILE"] 5 (#$ . 47960)])
#@68 Perform the actual commit using the current buffer as log message.
(defalias 'git-do-commit #[nil "p\306\307!r\nq\210\310\311!\203\312\313!\202\242\314\216\310\315\316\317#\320\211\211+\321 \2042\322\323!\322\324!\312\325!\210\326\"\205\241\327\320+\"\205\241\327+\"\205\241\330!\211\205\241\f\230\203a\331\332!\203\236\333	\f
#\211,\205\232\320\334\335\217\210\320\336\337\217\210r	q\210\340 \210)\341\342+!!\210\343\320\344\"\210\343\320\345\346#\210\312\347,\"\210\350\351\320\")\202\241\312\352!-+\207" [index-file buffer log-edit-parent-buffer head-tree tree head make-temp-file "gitidx" git-marked-files-state unmerged message "You cannot commit unmerged files, resolve them first." ((delete-file index-file)) added deleted modified nil git-empty-db-p git-rev-parse "HEAD" "HEAD^{tree}" "Running git commit..." git-read-tree git-update-index git-write-tree yes-or-no-p "The tree was not modified, do you really want to perform an empty commit? " git-commit-tree (delete-file ".git/MERGE_HEAD") ((error)) (delete-file ".git/MERGE_MSG") ((error)) erase-buffer git-update-status-files git-get-filenames git-call-process "rerere" "gc" "--auto" "Committed %s." git-run-hook "post-commit" "Commit aborted." files commit] 5 (#$ . 48544) nil])
#@63 Mark the file that the cursor is on and move to the next one.
(defalias 'git-mark-file #[nil "\204\304\305!\210\306!\307	!\211\310H>\204\304\311!\210\n\312\313I\210\314	\"\210\315\312\"*\207" [git-status pos info cl-struct-git-fileinfo-tags error "Not in git-status buffer." ewoc-locate ewoc-data 0 "git-fileinfo->marked storing a non-git-fileinfo" 1 t ewoc-invalidate ewoc-goto-next] 4 (#$ . 49823) nil])
#@65 Unmark the file that the cursor is on and move to the next one.
(defalias 'git-unmark-file #[nil "\204\304\305!\210\306!\307	!\211\310H>\204\304\311!\210\n\312\313I\210\314	\"\210\315\312\"*\207" [git-status pos info cl-struct-git-fileinfo-tags error "Not in git-status buffer." ewoc-locate ewoc-data 0 "git-fileinfo->marked storing a non-git-fileinfo" 1 nil ewoc-invalidate ewoc-goto-next] 4 (#$ . 50246) nil])
#@69 Unmark the file that the cursor is on and move to the previous one.
(defalias 'git-unmark-file-up #[nil "\204\304\305!\210\306!\307	!\211\310H>\204\304\311!\210\n\312\313I\210\314	\"\210\315\312\"*\207" [git-status pos info cl-struct-git-fileinfo-tags error "Not in git-status buffer." ewoc-locate ewoc-data 0 "git-fileinfo->marked storing a non-git-fileinfo" 1 nil ewoc-invalidate ewoc-goto-prev] 4 (#$ . 50675) nil])
#@17 Mark all files.
(defalias 'git-mark-all #[nil "\204\302\303!\210\304\305\"\210	\205\306	!\207" [git-status goal-column error "Not in git-status buffer." ewoc-map #[(info) "\302H	>\204\f\303\304!\210\305H?\205#\302H	>\204\303\306!\210\305\307I\207" [info cl-struct-git-fileinfo-tags 0 error "git-fileinfo->marked accessing a non-git-fileinfo" 1 "git-fileinfo->marked storing a non-git-fileinfo" t] 3] move-to-column] 3 (#$ . 51111) nil])
#@19 Unmark all files.
(defalias 'git-unmark-all #[nil "\204\302\303!\210\304\305\"\210	\205\306	!\207" [git-status goal-column error "Not in git-status buffer." ewoc-map #[(info) "\302H	>\204\f\303\304!\210\305H\205$\302H	>\204\303\306!\210\305\307I\210\310\207" [info cl-struct-git-fileinfo-tags 0 error "git-fileinfo->marked accessing a non-git-fileinfo" 1 "git-fileinfo->marked storing a non-git-fileinfo" nil t] 3] move-to-column] 3 (#$ . 51568) nil])
#@24 Toggle all file marks.
(defalias 'git-toggle-all-marks #[nil "\204\302\303!\210\304\305\"\210	\205\306	!\207" [git-status goal-column error "Not in git-status buffer." ewoc-map #[(info) "\302H	>\204\f\303\304!\210\305\302H	>\204\303\306!\210\305H?I\210\307\207" [info cl-struct-git-fileinfo-tags 0 error "git-fileinfo->marked storing a non-git-fileinfo" 1 "git-fileinfo->marked accessing a non-git-fileinfo" t] 4] move-to-column] 3 (#$ . 52040) nil])
#@34 Move the selection down N files.
(defalias 'git-next-file #[(&optional n) "\204\302\303!\210\304	\"\207" [git-status n error "Not in git-status buffer." ewoc-goto-next] 3 (#$ . 52510) "p"])
#@32 Move the selection up N files.
(defalias 'git-prev-file #[(&optional n) "\204\302\303!\210\304	\"\207" [git-status n error "Not in git-status buffer." ewoc-goto-prev] 3 (#$ . 52710) "p"])
#@43 Move the selection down N unmerged files.
(defalias 'git-next-unmerged-file #[(&optional n) "\204\306\307!\210\310!\311	\"\211\203B\312V\203B\313\n!\211\312H
>\204+\306\314!\210\f\315H)\316=\2039S\n\311\n\"\211\204\317	\"*\207" [git-status last node n cl-x cl-struct-git-fileinfo-tags error "Not in git-status buffer." ewoc-locate ewoc-next 0 ewoc-data "git-fileinfo->state accessing a non-git-fileinfo" 2 unmerged ewoc-goto-node] 4 (#$ . 52908) "p"])
#@41 Move the selection up N unmerged files.
(defalias 'git-prev-unmerged-file #[(&optional n) "\204\306\307!\210\310!\311	\"\211\203B\312V\203B\313\n!\211\312H
>\204+\306\314!\210\f\315H)\316=\2039S\n\311\n\"\211\204\317	\"*\207" [git-status last node n cl-x cl-struct-git-fileinfo-tags error "Not in git-status buffer." ewoc-locate ewoc-prev 0 ewoc-data "git-fileinfo->state accessing a non-git-fileinfo" 2 unmerged ewoc-goto-node] 4 (#$ . 53387) "p"])
#@44 Insert file(s) into the git-status buffer.
(defalias 'git-insert-file #[(file) "\301\302!C!\207" [file git-update-status-files file-relative-name] 3 (#$ . 53864) "fInsert file: "])
#@40 Add marked file(s) to the index cache.
(defalias 'git-add-file #[nil "\301\302\303\304\305#!\211\204\306\307\310\311\211\312$!B\313\314\315\316\317%\205)\320!\210\321\322\")\207" [files git-get-filenames git-marked-files-state unknown ignored unmerged file-relative-name read-file-name "File to add: " nil t apply git-call-process-display-error "update-index" "--add" "--" git-update-status-files git-success-message "Added"] 7 (#$ . 54052) nil])
#@40 Add marked file(s) to the ignore list.
(defalias 'git-ignore-file #[nil "\303\304\305!!\211\204\306\307\310\311\211\312$!B\311\211\203+\n@\313	!\210\nA\211\204*\314!\210\315\316\")\207" [files f #1=#:--cl-dolist-temp-- git-get-filenames git-marked-files-state unknown file-relative-name read-file-name "File to ignore: " nil t git-append-to-ignore git-update-status-files git-success-message "Ignored"] 7 (#$ . 54514) nil])
#@28 Remove the marked file(s).
(defalias 'git-remove-file #[nil "\303\304\305\306\307\310\311%!\211\204\312\313\314\315\211\316$!B\317A\203'\320\321G\"\202,\320\322@\"!\203]\315\211\203G\n@\315\323\324\217\210\nA\211\2048*\325\326\327\330\331%\205`\332!\210\333\334\"\202`\335\336!)\207" [files name #1=#:--cl-dolist-temp-- git-get-filenames git-marked-files-state added modified unknown uptodate ignored file-relative-name read-file-name "File to remove: " nil t yes-or-no-p format "Remove %d files? " "Remove %s? " (byte-code "\301!\203
\302!\210\202\303!\210\301\207" [name file-directory-p delete-directory delete-file] 2) ((error)) apply git-call-process-display-error "update-index" "--remove" "--" git-update-status-files git-success-message "Removed" message "Aborting"] 8 (#$ . 54959) nil])
#@39 Revert changes to the marked file(s).
(defalias 'git-revert-file #[nil "\306\301\307\300\310$\311\211\211\205\200\312\nA\203\313\314\nG\"\2021\313\315\n@\316H>\204,\317\320!\210\n@\321H\"!\205\200\n\311\211\203\354
@\322\f\316H>\204M\317\323!\210\f\324H\325\"\203j\f\316H>\204a\317\320!\210\f\321H	B\202\345\322\f\316H>\204w\317\323!\210\f\324H\326\"\203\224\f\316H>\204\213\317\320!\210\f\321HB\202\345\322\f\316H>\204\241\317\323!\210\f\324H\327\"\203\276\f\316H>\204\265\317\320!\210\f\321HB\202\345\322\f\316H>\204\313\317\323!\210\f\324H\330\"\203\345\f\316H>\204\337\317\320!\210\f\321HB
A\211\204=*\311*\211+\203+@*\331*!\211,\203\332,!\203\317\333\334,!\"\210)+A\211+\204\367*	\203.\335\336\337\340\341	%\2059?\2069\335\336\342\343$\344\n!-.\345-!\210.\205\311*\211/\203y/@*\331*!\211,\203or,q\210\346\347\211\211#\210))/A\211/\204T*\350\351-\"*+\207" [modified added files cl-struct-git-fileinfo-tags info #1=#:--cl-dolist-temp-- git-marked-files-state deleted unmerged nil yes-or-no-p format "Revert %d files? " "Revert %s? " 0 error "git-fileinfo->name accessing a non-git-fileinfo" 3 memql "git-fileinfo->state accessing a non-git-fileinfo" 2 'added 'deleted 'unmerged 'modified get-file-buffer buffer-modified-p "Buffer %s is modified. Please kill or save modified buffers before reverting." buffer-name apply git-call-process-display-error "update-index" "--force-remove" "--" "checkout" "HEAD" git-get-filenames git-update-status-files revert-buffer t git-success-message "Reverted" file #2=#:--cl-dolist-temp-- buffer names ok #3=#:--cl-dolist-temp--] 7 (#$ . 55790) nil])
#@44 Remove handled files from the status list.
(defalias 'git-remove-handled #[nil "\301\302\"\210\303\304\"?\205\305!\207" [git-status ewoc-filter #[(info) "\305\306H	>\204
\307\310!\210\311H\312\"\203\n\207\305\306H	>\204$\307\310!\210\311H\313\"\203.\207\305\306H	>\204;\307\310!\210\311H\314\"\203E\f\207\315\207" [info cl-struct-git-fileinfo-tags git-show-ignored git-show-uptodate git-show-unknown memql 0 error "git-fileinfo->state accessing a non-git-fileinfo" 2 'ignored 'uptodate 'unknown t] 3] ewoc-nth 0 git-refresh-ewoc-hf] 3 (#$ . 57474) nil])
#@49 Toogle the option for showing up-to-date files.
(defalias 'git-toggle-show-uptodate #[nil "?\211\203\n\301 \207\302 \207" [git-show-uptodate git-refresh-status git-remove-handled] 2 (#$ . 58053) nil])
#@46 Toogle the option for showing ignored files.
(defalias 'git-toggle-show-ignored #[nil "?\211\203\302\303!\210\304	\305\306\307\310%\210\311 \210\312	!\210\302\313!\207\314 \207" [git-show-ignored git-status message "Inserting ignored files..." git-run-ls-files-with-excludes nil ignored "-o" "-i" git-refresh-files git-refresh-ewoc-hf "Inserting ignored files...done" git-remove-handled] 6 (#$ . 58263) nil])
#@46 Toogle the option for showing unknown files.
(defalias 'git-toggle-show-unknown #[nil "?\211\203\302\303!\210\304	\305\306\307$\210\310 \210\311	!\210\302\312!\207\313 \207" [git-show-unknown git-status message "Inserting unknown files..." git-run-ls-files-with-excludes nil unknown "-o" git-refresh-files git-refresh-ewoc-hf "Inserting unknown files...done" git-remove-handled] 5 (#$ . 58682) nil])
#@61 Expand the directory represented by INFO to list its files.
(defalias 'git-expand-directory #[(info) "\304\305H	>\204
\306\307!\210\310H\311\"\312=\205A\305H	>\204#\306\313!\210\314H\315\nC\316#\210\317\n\320PC\321\322$\210\323 \210\324!\210)\325\207" [info cl-struct-git-fileinfo-tags dir git-status lsh 0 error "git-fileinfo->new-perm accessing a non-git-fileinfo" 5 -9 72 "git-fileinfo->name accessing a non-git-fileinfo" 3 git-set-filenames-state nil git-run-ls-files-with-excludes "/" unknown "-o" git-refresh-files git-refresh-ewoc-hf t] 5 (#$ . 59092)])
#@39 Setup a buffer for displaying a diff.
(defalias 'git-setup-diff-buffer #[(buffer) "r\nq\210\304 \210eb\210	\305*\306\n!\210\307 p=\205\310 \207" [default-directory dir buffer buffer-read-only diff-mode t display-buffer window-buffer shrink-window-if-larger-than-buffer] 2 (#$ . 59670)])
#@39 Diff the marked file(s) against HEAD.
(defalias 'git-diff-file #[nil "\301 \302\303\304\305\306\307\310\311\312\313!&!)\207" [files git-marked-files git-setup-diff-buffer apply git-run-command-buffer "*git-diff*" "diff-index" "-p" "-M" "HEAD" "--" git-get-filenames] 11 (#$ . 59969) nil])
#@94 Diff the marked file(s) against the first merge head (or the nth one with a numeric prefix).
(defalias 'git-diff-file-merge-head #[(arg) "\303 \304 \204\305\306!\210\307\310\311\312\313\314\315\nS8\206\316\317\320	!&!*\207" [merge-heads files arg git-marked-files git-get-merge-heads error "No merge in progress" git-setup-diff-buffer apply git-run-command-buffer "*git-diff*" "diff-index" "-p" "-M" "HEAD" "--" git-get-filenames] 11 (#$ . 60267) "p"])
#@63 Diff the marked unmerged file(s) against the specified stage.
(defalias 'git-diff-unmerged-file #[(stage) "\302 \303\304\305\306\307\310	\311\312!&!)\207" [files stage git-marked-files git-setup-diff-buffer apply git-run-command-buffer "*git-diff*" "diff-files" "-p" "--" git-get-filenames] 10 (#$ . 60735)])
#@64 Diff the marked unmerged file(s) against the common base file.
(defalias 'git-diff-file-base #[nil "\300\301!\207" [git-diff-unmerged-file "-1"] 2 (#$ . 61053) nil])
#@64 Diff the marked unmerged file(s) against my pre-merge version.
(defalias 'git-diff-file-mine #[nil "\300\301!\207" [git-diff-unmerged-file "-2"] 2 (#$ . 61225) nil])
#@73 Diff the marked unmerged file(s) against the other's pre-merge version.
(defalias 'git-diff-file-other #[nil "\300\301!\207" [git-diff-unmerged-file "-3"] 2 (#$ . 61397) nil])
#@52 Do a combined diff of the marked unmerged file(s).
(defalias 'git-diff-file-combined #[nil "\300\301!\207" [git-diff-unmerged-file "-c"] 2 (#$ . 61579) nil])
#@50 Perform an interactive diff on the current file.
(defalias 'git-diff-file-idiff #[nil "\304\305\306\307#\211G\310=\204\311\312!\210\313!@\314	!\315	\316P\317\320\321	P$\322\n\",\207" [files filename buff1 buff2 git-marked-files-state added deleted modified 1 error "Cannot perform an interactive diff on multiple files." git-get-filenames find-file-noselect git-run-command-buffer ".~HEAD~" "cat-file" "blob" "HEAD:" ediff-buffers] 7 (#$ . 61743) nil])
#@49 Display a log of changes to the marked file(s).
(defalias 'git-log-file #[nil "\305 	\306\307\310\311\312\313\314\315!&rq\210eb\210\316)\317!+\207" [files git-commits-coding-system coding-system-for-read buffer buffer-read-only git-marked-files apply git-run-command-buffer "*git-log*" "rev-list" "--pretty" "HEAD" "--" git-get-filenames t display-buffer] 9 (#$ . 62210) nil])
#@63 Return a list of marked files for use in the log-edit buffer.
(defalias 'git-log-edit-files #[nil "rq\210\301\302\303\304\305#!)\207" [log-edit-parent-buffer git-get-filenames git-marked-files-state added deleted modified] 5 (#$ . 62601)])
#@73 Run a diff of the current files being committed from a log-edit buffer.
(defalias 'git-log-edit-diff #[nil "rq\210\301 )\207" [log-edit-parent-buffer git-diff-file] 1 (#$ . 62848)])
#@74 Append a Signed-off-by entry to the current buffer, avoiding duplicates.
(defalias 'git-append-sign-off #[(name email) "\304\305	#\306eb\210\307\310\311!P\312\306#?\205.eb\210\307\313\312\306#\204'\314Pdb\210\314\261*\207" [name email case-fold-search sign-off format "Signed-off-by: %s <%s>" t re-search-forward "^" regexp-quote nil "^Signed-off-by: " "\n"] 4 (#$ . 63037)])
#@36 Setup the log buffer for a commit.
(defalias 'git-setup-log-buffer #[(buffer &optional merge-heads author-name author-email subject date msg) "\204\306\307!\210	\310 \311 \n$r%q\210\312$!\210\313 \210\314\315\316&\206)
'\206/\f(\203<\315\317(\"\202=\320)\203N\315\321\322\323)\324#\"\202O\320%\325\326#\314*\325\327#\330\261\210+\203h+\331\261\210,\203v,\330\261\210\202\215\332\333!\203\203\334\333!\210\202\215\332\335!\203\215\334\335!\210eb\210\336\337\340\341#\203\236\342\330\341\211#\210\203\247\343
\f\"\210)%,\207" [git-status default-directory git-append-signed-off-by sign-off committer-email committer-name error "Not in git-status buffer." git-get-committer-name git-get-committer-email cd erase-buffer propertize format "Author: %s <%s>\n%s%s" "Date: %s\n" "" "Merge: %s\n" mapconcat identity " " face git-header-face git-separator-face "\n" "\n\n" file-readable-p ".git/rebase-apply/msg" insert-file-contents ".git/MERGE_MSG" re-search-forward "\n+\\'" nil t replace-match git-append-sign-off dir buffer author-name author-email date merge-heads git-log-msg-separator subject msg] 12 (#$ . 63429)])
#@57 Commit the marked file(s), asking for a commit message.
(defalias 'git-commit-file #[nil "\204\306\307!\210\310 \205\260\311\312!\313 \314\211\211\211)\315)!\316=\203z\317\320!\203n\321\322!*r*q\210\323\216\324\320!\210eb\210\325\326\314\327#\203O\330\331!\330\332!eb\210\325\333\314\327#\203^\330\331!eb\210\325\334\314\327#\203m\330\331!+\335)\336 \f\n	&\210\337\340!\203\213\341\342\314\343)$\210\202\223\341\342\314\344)$\210\345+!,\346-!\347P.
/\325\346-\350P!\314\327#.\207" [git-status date subject author-email author-name coding-system error "Not in git-status buffer." git-run-pre-commit-hook get-buffer-create "*git-commit*" git-get-commits-coding-system nil buffer-size 0 file-readable-p ".git/rebase-apply/info" generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) insert-file-contents re-search-forward "^Author: \\(.*\\)\nEmail: \\(.*\\)$" t match-string 1 2 "^Subject: \\(.*\\)$" "^Date: \\(.*\\)$" git-setup-log-buffer git-get-merge-heads boundp log-edit-diff-function log-edit git-do-commit ((log-edit-listfun . git-log-edit-files) (log-edit-diff-function . git-log-edit-diff)) git-log-edit-files font-lock-compile-keywords regexp-quote "$\\|Author: \\|Date: \\|Merge: \\|Signed-off-by: \\|\f\\|[ 	]*$" "\n" buffer #1# git-log-edit-font-lock-keywords font-lock-keywords git-log-msg-separator paragraph-separate buffer-file-coding-system] 7 (#$ . 64588) nil])
#@54 Setup the commit buffer with the contents of COMMIT.
(defalias 'git-setup-commit-buffer #[(commit) "\306\211\211\211\211\211\307\310!\"r\"q\210\311\216\312 #\313\314\315\316\317\320$&\210eb\210\321\322\306\314#\203:\323\324\325!\326\"A\321\327\306\314#\203J\324\325!\324\330!\321\331\306\314#\203V\324\325!\321\332\306\314#\203g\324\325!B\202V\237\211\211A@\203\204\333@G!\203\204\211A@\204p,\334\335\336!
\f\n	\337\340\341#&.\207" [msg date subject author-email author-name parents nil generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) git-get-logoutput-coding-system git-call-process t "log" "-1" "--pretty=medium" "--abbrev=40" re-search-forward "^Merge: *\\(.*\\)$" split-string match-string 1 " +" "^Author: *\\(.*\\) <\\(.*\\)>$" 2 "^Date: *\\(.*\\)$" "^    \\(.*\\)$" zerop git-setup-log-buffer get-buffer-create "*git-commit*" mapconcat identity "\n" #1# coding-system commit] 12 (#$ . 66077)])
#@53 Retrieve a sorted list of files modified by COMMIT.
(defalias 'git-get-commit-files #[(commit) "\303\304\305!r	q\210\306\216\307\310\311\312\313\314\315\316\317\n&	\210eb\210\320\321\303\310\322$\203.\323\322!B\202+\324\325\")\207" [files #1=#:temp-buffer commit nil generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) git-call-process t "diff-tree" "-m" "-r" "-z" "--name-only" "--no-commit-id" "--root" re-search-forward "\\([^]*\\)" 1 match-string sort string-lessp] 10 (#$ . 67096)])
#@81 Ask for a commit name, with completion for local branch, remote branch and tag.
(defalias 'git-read-commit-name #[(prompt &optional default) "\302\303\304\305\306\307\310 \"BBB\311\211\211\211	&\207" [prompt default completing-read "HEAD" "ORIG_HEAD" "FETCH_HEAD" mapcar car git-for-each-ref nil] 8 (#$ . 67658)])
#@97 Checkout a branch, tag, or any commit.
Use a prefix arg if git should merge while checking out.
(defalias 'git-checkout #[(branch &optional merge) "\204\304\305!\210	\306D\203\307\nB\310\311\312\n#\205\313 )\207" [git-status branch args merge error "Not in git-status buffer." "--" "-m" apply git-call-process-display-error "checkout" git-update-status-files] 4 (#$ . 67980) (list (git-read-commit-name "Checkout: ") current-prefix-arg)])
#@57 Create a branch from the current HEAD and switch to it.
(defalias 'git-branch #[(branch) "\204\302\303!\210\304\305	P!\2030\306\307\310	\"!\203)\311\312\313	#\2036\311\314	\"\210\2026\315\316!\210\2026\311\314\317	#\210\320!\207" [git-status branch error "Not in git-status buffer." git-rev-parse "refs/heads/" yes-or-no-p format "Branch %s already exists, replace it? " git-call-process-display-error "branch" "-f" "checkout" message "Canceled." "-b" git-refresh-ewoc-hf] 4 (#$ . 68435) (list (git-read-commit-name "Branch: "))])
#@85 Undo the last commit on HEAD, and set things up to commit an
amended version of it.
(defalias 'git-amend-commit #[nil "\204\303\304!\210\305 \203\303\306!\210\307\310!\311	!\307\312!\203'\313\314\315\312#\2023\316\317	\"\205A\316\310\320	#\205A\321\n\322\"\210\323	!\210\324 *\207" [git-status commit files error "Not in git-status buffer." git-empty-db-p "No commit to amend." git-rev-parse "HEAD" git-get-commit-files "HEAD^" git-call-process-display-error "reset" "--soft" git-update-ref "ORIG_HEAD" nil git-update-status-files t git-setup-commit-buffer git-commit-file] 4 (#$ . 68981) nil])
#@23 Cherry-pick a commit.
(defalias 'git-cherry-pick-commit #[(arg) "\204\305\306!\210\307	\310P!\211\204\305\311	\"\210\307\n\312P!\203#\305\313!\210\314\n!\315\316\317\n#\320\f\"\210r\321\n!q\210eb\210\322\323\324\325\326$\203K\327\224b\210\202Ndb\210\330\n\331\261\210)\205[\332 +\207" [git-status arg commit ok files error "Not in git-status buffer." git-rev-parse "^0" "Not a valid commit '%s'." "^2" "Cannot cherry-pick a merge commit." git-get-commit-files git-call-process-display-error "cherry-pick" "-n" git-update-status-files git-setup-commit-buffer re-search-forward "^\n*Signed-off-by:" nil t 1 0 "(cherry picked from commit " ")\n" git-commit-file] 6 (#$ . 69593) (list (git-read-commit-name "Cherry-pick commit: "))])
#@18 Revert a commit.
(defalias 'git-revert-commit #[(arg) "\204\306\307!\210\310	\311P!\211\204\306\312	\"\210\310\n\313P!\203#\306\314!\210\315\n!\316\n!\317\320\321\n#\322
\"\210\323\324\f\"\203B\325\326\f\"\327\330\331!\332 \333\211\334\335\f\"\333\334\336\n\"&\210\205\\\337 ,\207" [git-status arg commit ok subject files error "Not in git-status buffer." git-rev-parse "^0" "Not a valid commit '%s'." "^2" "Cannot revert a merge commit." git-get-commit-files git-get-commit-description git-call-process-display-error "revert" "-n" git-update-status-files string-match "^[0-9a-f]+ - \\(.*\\)$" match-string 1 git-setup-log-buffer get-buffer-create "*git-commit*" git-get-merge-heads nil format "Revert \"%s\"" "This reverts commit %s.\n" git-commit-file] 11 (#$ . 70344) (list (git-read-commit-name "Revert commit: "))])
#@43 Visit the current file in its own buffer.
(defalias 'git-find-file #[nil "\204\303\304!\210\305\306!!\307	!?\205>\310	\311H\n>\204\"\303\312!\210	\313H!\210	\311H\n>\2043\303\314!\210	\315H\316=\205>\317\320!)\207" [git-status info cl-struct-git-fileinfo-tags error "Not in git-status buffer." ewoc-data ewoc-locate git-expand-directory find-file 0 "git-fileinfo->name accessing a non-git-fileinfo" 3 "git-fileinfo->state accessing a non-git-fileinfo" 2 unmerged smerge-mode 1] 3 (#$ . 71187) nil])
#@61 Visit the current file in its own buffer in another window.
(defalias 'git-find-file-other-window #[nil "\204\303\304!\210\305\306!!\307	\310H\n>\204\303\311!\210	\312H!\210	\310H\n>\204,\303\313!\210	\314H\315=\2056\316 )\207" [git-status info cl-struct-git-fileinfo-tags error "Not in git-status buffer." ewoc-data ewoc-locate find-file-other-window 0 "git-fileinfo->name accessing a non-git-fileinfo" 3 "git-fileinfo->state accessing a non-git-fileinfo" 2 unmerged smerge-mode] 3 (#$ . 71701) nil])
#@51 Visit the current file in interactive merge mode.
(defalias 'git-find-file-imerge #[nil "\204\303\304!\210\305\306!!\307	\310H\n>\204\303\311!\210	\312H!\210\313 )\207" [git-status info cl-struct-git-fileinfo-tags error "Not in git-status buffer." ewoc-data ewoc-locate find-file 0 "git-fileinfo->name accessing a non-git-fileinfo" 3 smerge-ediff] 3 (#$ . 72218) nil])
#@42 View the current file in its own buffer.
(defalias 'git-view-file #[nil "\204\303\304!\210\305\306!!\307	\310H\n>\204\303\311!\210	\312H!)\207" [git-status info cl-struct-git-fileinfo-tags error "Not in git-status buffer." ewoc-data ewoc-locate view-file 0 "git-fileinfo->name accessing a non-git-fileinfo" 3] 3 (#$ . 72600) nil])
#@32 Refresh the git status buffer.
(defalias 'git-refresh-status #[nil "\204\301\302!\210\303\304!\210\305 \210\303\306!\207" [git-status error "Not in git-status buffer." message "Refreshing git status..." git-update-status-files "Refreshing git status...done"] 2 (#$ . 72944) nil])
#@23 Quit git-status mode.
(defalias 'git-status-quit #[nil "\300 \207" [bury-buffer] 1 (#$ . 73233) nil])
#@39 Run after `git-status-mode' is setup.
(defvar git-status-mode-hook nil (#$ . 73341))
#@28 Keymap for git major mode.
(defvar git-status-mode-map nil (#$ . 73432))
#@51 List of all files managed by the git-status mode.
(defvar git-status nil (#$ . 73511))
(byte-code "\204\243\306 \307 \307 \307 \310\f!\210\311\f\312\313#\210\311\f\314\313#\210\311\f\315\316#\210\311\f\317\320#\210\311\f\321\322#\210\311\f\323#\210\311\f\324\n#\210\311\f\325\326#\210\311\f\327\330#\210\311\f\331\330#\210\311\f\332\333#\210\311\f\334\335#\210\311\f\336\337#\210\311\f\340\341#\210\311\f\342\343#\210\311\f\344\345#\210\311\f\346\316#\210\311\f\347\350#\210\311\f\351\352#\210\311\f\353\354#\210\311\f\355\356#\210\311\f\357\360#\210\311\f\361\362#\210\311\f\363	#\210\311\f\364\365#\210\311\f\366\367#\210\311\f\370\371#\210\311\f\372\373#\210\311\f\374\375#\210\311\f\376\377#\210\311\f\201@\201A#\210\311\201B\201C#\210\311\201D\201E#\210\311\201F\201G#\210\311\201H\201I#\210\311\201J\201K#\210\311\n\201L\201M#\210\311\n\321\201N#\210\311\n\325\326#\210\311\n\201O\201P#\210\311\n\201Q\201R#\210\311\n\314\201S#\210\311\n\342\201T#\210\311\n\351\201U#\210\311	\366\201V#\210\311	\334\201W#\210\311	\201X\201Y#\210\311	\342\365#\210\f,\201Z
B\201[\201Z\201\\\201]#\210\201^\201Z!\204\224\201_\201Z\201`\"\210\201a\201Z\201]\201b$\210\201[\201c\201d\201e#\207" [git-status-mode-map toggle-map diff-map commit-map map current-load-list make-keymap make-sparse-keymap suppress-keymap define-key "?" git-help "h" " " git-next-file "a" git-add-file "c" git-commit-file "" "d" "=" git-diff-file "f" git-find-file "
" "g" git-refresh-status "i" git-ignore-file "I" git-insert-file "l" git-log-file "m" git-mark-file "M" git-mark-all "n" "N" git-next-unmerged-file "o" git-find-file-other-window "p" git-prev-file "P" git-prev-unmerged-file "q" git-status-quit "r" git-remove-file "t" "T" git-toggle-all-marks "u" git-unmark-file "U" git-revert-file "v" git-view-file "x" git-remove-handled "" git-unmark-file-up "\377" git-unmark-all "" git-amend-commit "" git-branch "" git-checkout "" git-cherry-pick-commit "" git-revert-commit "b" git-diff-file-base git-diff-file-combined "e" git-diff-file-idiff "E" git-find-file-imerge git-diff-file-merge-head git-diff-file-mine git-diff-file-other git-toggle-show-uptodate git-toggle-show-ignored "k" git-toggle-show-unknown git-menu put variable-documentation "Git Menu" default-boundp set-default nil easy-menu-do-define ("Git" ["Refresh" git-refresh-status t] ["Commit" git-commit-file t] ["Checkout..." git-checkout t] ["New Branch..." git-branch t] ["Cherry-pick Commit..." git-cherry-pick-commit t] ["Revert Commit..." git-revert-commit t] ("Merge" ["Next Unmerged File" git-next-unmerged-file t] ["Prev Unmerged File" git-prev-unmerged-file t] ["Interactive Merge File" git-find-file-imerge t] ["Diff Against Common Base File" git-diff-file-base t] ["Diff Combined" git-diff-file-combined t] ["Diff Against Merge Head" git-diff-file-merge-head t] ["Diff Against Mine" git-diff-file-mine t] ["Diff Against Other" git-diff-file-other t]) "--------" ["Add File" git-add-file t] ["Revert File" git-revert-file t] ["Ignore File" git-ignore-file t] ["Remove File" git-remove-file t] ["Insert File" git-insert-file t] "--------" ["Find File" git-find-file t] ["View File" git-view-file t] ["Diff File" git-diff-file t] ["Interactive Diff File" git-diff-file-idiff t] ["Log" git-log-file t] "--------" ["Mark" git-mark-file t] ["Mark All" git-mark-all t] ["Unmark" git-unmark-file t] ["Unmark All" git-unmark-all t] ["Toggle All Marks" git-toggle-all-marks t] ["Hide Handled Files" git-remove-handled t] "--------" ["Show Uptodate Files" git-toggle-show-uptodate :style toggle :selected git-show-uptodate] ["Show Ignored Files" git-toggle-show-ignored :style toggle :selected git-show-ignored] ["Show Unknown Files" git-toggle-show-unknown :style toggle :selected git-show-unknown] "--------" ["Quit" git-status-quit t]) git-status-mode mode-class special] 5)
#@71 Major mode for interacting with Git.
Commands:
\{git-status-mode-map}
(defalias 'git-status-mode #[nil "\306 \210\307 \210\310\311\312\313\314\f!\210\315\316 \210\317\320\321\211#\322\323!\210
)\322\324!\210\322\325!\210\322\326!\210\322\327!\210\330\331!)\207" [mode-name major-mode goal-column buffer-read-only git-status-mode-map status kill-all-local-variables buffer-disable-undo "git status" git-status-mode 17 t use-local-map nil erase-buffer ewoc-create git-fileinfo-prettyprint "" make-local-variable git-status list-buffers-directory git-show-uptodate git-show-ignored git-show-unknown run-hooks git-status-mode-hook default-directory] 4 (#$ . 77399)])
#@60 Find the git status buffer handling a specified directory.
(defalias 'git-find-status-buffer #[(dir) "\306 \307!\310\211\2035	\2045@r\fq\210
\203-\n\307
!\230\203-\n\311=\203-\f*A\211\204
	+\207" [dir found fulldir list buffer list-buffers-directory buffer-list expand-file-name nil git-status-mode major-mode] 4 (#$ . 78080)])
#@35 Entry point into git-status mode.
(defalias 'git-status #[(dir) "\303!\304\305!\306P!\2036	\203\307!\206\310\311\312\"!\313\n!\210\314!\210\315 \210\316 \210eb\210\317\320\321\")\207\322\323\"\207" [dir git-reuse-status-buffer buffer git-get-top-dir file-directory-p file-name-as-directory ".git" git-find-status-buffer create-file-buffer expand-file-name "*git-status*" switch-to-buffer cd git-status-mode git-refresh-status add-hook after-save-hook git-update-saved-file message "%s is not a git working tree."] 4 (#$ . 78430) "DSelect directory: "])
#@105 Update the corresponding git-status buffer when a file is saved.
Meant to be used in `after-save-hook'.
(defalias 'git-update-saved-file #[nil "\305!\306\307\310\217\211\205\311\n!\211\2053rq\210\312	\n\"\313\314\f\"?\2052\315\306\316\317\320\f%\210\321\fC!*+\207" [buffer-file-name file dir buffer filename expand-file-name nil (byte-code "\301\302!!\207" [file git-get-top-dir file-name-directory] 3) ((error)) git-find-status-buffer file-relative-name string-match "^\\.git/" git-call-process "add" "--refresh" "--" git-update-status-files] 7 (#$ . 79003)])
#@28 Display help for Git mode.
(defalias 'git-help #[nil "\300\301!\207" [describe-function git-status-mode] 2 (#$ . 79581) nil])
(provide 'git)
y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`