%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/vc/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/vc/vc-git.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

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


(byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\210\312\313\314\315\316DD\317\320\321\306\322&\210\312\323\314\315\324DD\325\320\326\306\327&\210\312\330\314\315\331DD\332\320\333\306\327&\210\312\334\314\315\335DD\336\306\307\320\337&\210\312\340\314\315\341DD\342\320\343\306\307&\210\312\344\314\315\345DD\346\320\347\306\327&\210\312\350\314\315\351DD\352\320\353\306\327&\210\312\354\314\315\355DD\356\320\337\306\357&\210\312\360\314\315\361DD\362\320\363\306\357&\207" [require cl-lib custom-declare-group vc-git nil "VC Git backend." :version "24.1" :group vc custom-declare-variable vc-git-diff-switches funcall function #[0 "\300\207" [t] 1] "String or list of strings specifying switches for Git diff under VC.\nIf nil, use the value of `vc-diff-switches'.  If t, use no switches." :type (choice (const :tag "Unspecified" nil) (const :tag "None" t) (string :tag "Argument String") (repeat :tag "Argument List" :value (#1="") string)) "23.1" vc-git-annotate-switches #[0 "\300\207" [nil] 1] "String or list of strings specifying switches for Git blame under VC.\nIf nil, use the value of `vc-annotate-switches'.  If t, use no switches." (choice (const :tag "Unspecified" nil) (const :tag "None" t) (string :tag "Argument String") (repeat :tag "Argument List" :value (#1#) string)) "25.1" vc-git-resolve-conflicts #[0 "\300\207" [t] 1] "When non-nil, mark conflicted file as resolved upon saving.\nThat is performed after all conflict markers in it have been\nremoved.  If the value is `unstage-maybe', and no merge is in\nprogress, then after the last conflict is resolved, also clear\nthe staging area." (choice (const :tag "Don't resolve" nil) (const :tag "Resolve" t) (const :tag "Resolve and maybe unstage all files" unstage-maybe)) vc-git-program #[0 "\300\207" [#2="git"] 1 #2#] "Name of the Git executable (excluding any arguments)." string vc-git-root-log-format #[0 "\300\207" [("%d%h..: %an %ad %s" "^\\(?:[*/\\| ]+ \\)?\\(?2: ([^)]+)\\)?\\(?1:[0-9a-z]+\\)..: \\(?3:.*?\\)[ 	]+\\(?4:[0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\)" ((1 'log-view-message) (2 'change-log-list nil lax) (3 'change-log-name) (4 'change-log-date)))] 1] "Git log format for `vc-print-root-log'.\nThis should be a list (FORMAT REGEXP KEYWORDS), where FORMAT is a\nformat string (which is passed to \"git log\" via the argument\n\"--pretty=tformat:FORMAT\"), REGEXP is a regular expression\nmatching the resulting Git log output, and KEYWORDS is a list of\n`font-lock-keywords' for highlighting the Log View buffer." (list string string (repeat sexp)) vc-git-commits-coding-system #[0 "\300\207" [utf-8] 1] "Default coding system for sending commit log messages to Git.\n\nShould be consistent with the Git config value i18n.commitEncoding,\nand should also be consistent with `locale-coding-system'." (coding-system :tag "Coding system to encode Git commit logs") vc-git-log-output-coding-system #[0 "\300\207" [utf-8] 1] "Default coding system for receiving log output from Git.\n\nShould be consistent with the Git config value i18n.logOutputEncoding." (coding-system :tag "Coding system to decode Git log output") vc-git-grep-template #[0 "\300\207" [#3="git --no-pager grep -n <C> -e <R> -- <F>"] 1 #3#] "The default command to run for \\[vc-git-grep].\nThe following place holders should be present in the string:\n <C> - place to put the options like -i.\n <F> - file names and wildcards to search.\n <R> - the regular expression searched for." "27.1" vc-git-show-stash #[0 "\300\207" [t] 1] "How much of the git stash list to show by default.\nDefault t means all, otherwise an integer specifying the maximum\nnumber to show.  A text button is always shown allowing you to\ntoggle display of the entire list." (choice (const :tag "All" t) (integer :tag "Limit" :validate (lambda (widget) (unless (>= (widget-value widget) 0) (widget-put widget :error "Invalid value: must be a non-negative integer") widget))))] 8)
(defvar vc-git-history nil)
(put 'Git 'vc-functions nil)
(defalias 'vc-git-revision-granularity #[0 "\300\207" [repository] 1])
#@14 

(fn FILES)
(defalias 'vc-git-checkout-model #[257 "\300\207" [implicit] 2 (#$ . 4470)])
(defalias 'vc-git-update-on-retrieve-tag #[0 "\300\207" [nil] 1])
#@55 Check whether FILE is registered with git.

(fn FILE)
(defalias 'vc-git-registered #[257 "\301!\211\205f\302\303!r\211q\210\304\305\306\307\310!\311\"\312$\216\313\314\"\3151G\316!\210\317\320\321\322\323%\210ed=\203A\317\324\325\322\326\323&\210\327 0\202I\210\313\211\205`\211GGV\205`\330\305GT#\331P\230)\266\202*\262\207" [process-file-side-effects vc-git-root generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 nil file-relative-name (error) cd vc-git--out-ok "ls-files" "-c" "-z" "--" "ls-tree" "--name-only" "HEAD" buffer-string substring ""] 11 (#$ . 4632)])
#@70 Convert from a string to an added/deleted/modified state.

(fn CODE)
(defalias 'vc-git--state-code #[257 "\300!\211\301\267\202\302\202(\303\202(\304\202(\305\306\"\204#\305\307\"\203'\302\202(\310\207" [string-to-char #s(hash-table size 3 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (77 9 65 13 68 17)) edited added removed eql 85 84 nil] 5 (#$ . 5297)])
(defvar vc-git--program-version nil)
(defalias 'vc-git--program-version #[0 "\206\301\302\303\"\211\203\304\305\"\203\306\307\"\202\310\211\262\207" [vc-git--program-version vc-git--run-command-string nil "version" string-match "git version \\([0-9.]+\\)\\(\\.windows\\.[0-9]+\\)?$" match-string 1 "0"] 4])
#@218 Convert CODE-LIST to a VC status.

Each element of CODE-LIST comes from the first two characters of
a line returned by `git status --porcelain' and should be passed
in the order given by `git status'.

(fn CODE-LIST)
(defalias 'vc-git--git-status-to-vc-state #[257 "\211\204\301\207\211:\203\210\211@A\211\204|\211\302\267\202&\303\202w\304\202w\305\202w\306\307\310\311#)\266\203\203:\305\202w\312\307\310\311#)\266\203\203N\313\202w\314\307\310\311#)\266\203\203b\315\202w\316\307\310\311#)\266\203\203v\317\202w\313\262\202\207\320\232\203\206\304\202\207\313\207\211\320\232\203\220\304\207\313\207" [inhibit-changing-match-data up-to-date #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("!!" 26 "??" 30 "AD" 34)) ignored unregistered removed "^[ RD]+$" nil t string-match "^[ M]+$" edited "^[ A]+$" added "^[ U]+$" conflict ("D " "??")] 11 (#$ . 6012)])
#@48 Git-specific version of `vc-state'.

(fn FILE)
(defalias 'vc-git-state #[257 "\300\301\302\303\304\305\306\307 \"\205\310\311\"BBBB\312\313#\211\204!\314\202+\315\316\317\320\321\322#\"!\207" ["status" "--porcelain" "-z" "--untracked-files" append version<= "1.7.6.3" vc-git--program-version ("--ignored") ("--") apply vc-git--run-command-string unregistered vc-git--git-status-to-vc-state mapcar #[257 "\300\301\302#\207" [substring 0 2] 5 "\n\n(fn S)"] split-string "" t] 10 (#$ . 6962)])
#@59 Git-specific version of `vc-working-revision'.

(fn FILE)
(defalias 'vc-git-working-revision #[257 "\301\302\303!)\207" [process-file-side-effects nil vc-git--rev-parse "HEAD"] 3 (#$ . 7468)])
#@13 

(fn FILE)
(defalias 'vc-git--symbolic-ref #[257 "\301\302\"\206(\303\304\303\305\306#\307\302\205$\310\311\"\203#\312\313\"\202$#)\262\207" [process-file-side-effects vc-file-getprop vc-git-symbolic-ref nil vc-git--run-command-string "symbolic-ref" "HEAD" vc-file-setprop string-match "^\\(refs/heads/\\)?\\(.+\\)$" match-string 2] 8 (#$ . 7668)])
#@81 Return a string for `vc-mode-line' to put in the mode line for FILE.

(fn FILE)
(defalias 'vc-git-mode-line-string #[257 "\300\301\"\302!\206\303\304\305#\306\301\"\307\304\310#\307\304\311#\312\303\304\313#P\311\310\314Q%\207" [vc-working-revision Git vc-git--symbolic-ref substring 0 7 vc-default-mode-line-string get-text-property help-echo face propertize 4 "\nCurrent revision: "] 14 (#$ . 8036)])
#@80 compiler-macro for inlining `vc-git-extra-fileinfo-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-extra-fileinfo-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-extra-fileinfo-p (and (memq (type-of cl-x) cl-struct-vc-git-extra-fileinfo-tags) t)) nil] 9 (#$ . 8460)])
(put 'vc-git-extra-fileinfo-p 'compiler-macro 'vc-git-extra-fileinfo-p--cmacro)
#@13 

(fn CL-X)
(defalias 'vc-git-extra-fileinfo-p #[257 "\301!>\205	\302\207" [cl-struct-vc-git-extra-fileinfo-tags type-of t] 3 (#$ . 8860)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put vc-git-extra-fileinfo-p side-effect-free error-free put vc-git-extra-fileinfo cl-deftype-satisfies] 5)
#@88 compiler-macro for inlining `vc-git-extra-fileinfo->old-perm'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-extra-fileinfo->old-perm--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-extra-fileinfo->old-perm (progn (or (vc-git-extra-fileinfo-p cl-x) (signal 'wrong-type-argument (list 'vc-git-extra-fileinfo cl-x))) (aref cl-x 1))) nil] 9 (#$ . 9178)])
(put 'vc-git-extra-fileinfo->old-perm 'compiler-macro 'vc-git-extra-fileinfo->old-perm--cmacro)
#@75 Access slot "old-perm" of `vc-git-extra-fileinfo' struct CL-X.

(fn CL-X)
(defalias 'vc-git-extra-fileinfo->old-perm #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-extra-fileinfo-tags type-of signal wrong-type-argument vc-git-extra-fileinfo 1] 5 (#$ . 9674)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-extra-fileinfo->old-perm side-effect-free t] 4)
#@88 compiler-macro for inlining `vc-git-extra-fileinfo->new-perm'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-extra-fileinfo->new-perm--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-extra-fileinfo->new-perm (progn (or (vc-git-extra-fileinfo-p cl-x) (signal 'wrong-type-argument (list 'vc-git-extra-fileinfo cl-x))) (aref cl-x 2))) nil] 9 (#$ . 10075)])
(put 'vc-git-extra-fileinfo->new-perm 'compiler-macro 'vc-git-extra-fileinfo->new-perm--cmacro)
#@75 Access slot "new-perm" of `vc-git-extra-fileinfo' struct CL-X.

(fn CL-X)
(defalias 'vc-git-extra-fileinfo->new-perm #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-extra-fileinfo-tags type-of signal wrong-type-argument vc-git-extra-fileinfo 2] 5 (#$ . 10572)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-extra-fileinfo->new-perm side-effect-free t] 4)
#@92 compiler-macro for inlining `vc-git-extra-fileinfo->rename-state'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-extra-fileinfo->rename-state--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-extra-fileinfo->rename-state (progn (or (vc-git-extra-fileinfo-p cl-x) (signal 'wrong-type-argument (list 'vc-git-extra-fileinfo cl-x))) (aref cl-x 3))) nil] 9 (#$ . 10974)])
(put 'vc-git-extra-fileinfo->rename-state 'compiler-macro 'vc-git-extra-fileinfo->rename-state--cmacro)
#@79 Access slot "rename-state" of `vc-git-extra-fileinfo' struct CL-X.

(fn CL-X)
(defalias 'vc-git-extra-fileinfo->rename-state #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-extra-fileinfo-tags type-of signal wrong-type-argument vc-git-extra-fileinfo 3] 5 (#$ . 11491)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-extra-fileinfo->rename-state side-effect-free t] 4)
#@89 compiler-macro for inlining `vc-git-extra-fileinfo->orig-name'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-extra-fileinfo->orig-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-extra-fileinfo->orig-name (progn (or (vc-git-extra-fileinfo-p cl-x) (signal 'wrong-type-argument (list 'vc-git-extra-fileinfo cl-x))) (aref cl-x 4))) nil] 9 (#$ . 11905)])
(put 'vc-git-extra-fileinfo->orig-name 'compiler-macro 'vc-git-extra-fileinfo->orig-name--cmacro)
#@76 Access slot "orig-name" of `vc-git-extra-fileinfo' struct CL-X.

(fn CL-X)
(defalias 'vc-git-extra-fileinfo->orig-name #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-extra-fileinfo-tags type-of signal wrong-type-argument vc-git-extra-fileinfo 4] 5 (#$ . 12407)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-extra-fileinfo->orig-name side-effect-free t] 4)
#@130 compiler-macro for inlining `make-vc-git-extra-fileinfo'.

(fn CL-WHOLE &cl-quote &key OLD-PERM NEW-PERM RENAME-STATE ORIG-NAME)
(defalias 'make-vc-git-extra-fileinfo--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\211\203D\211@\305>\203,\211AA\262\202\306>A@\203;\307\262\202\310\311@\"\210\202\210\312\313\314\307	\307				&	\207" [plist-member :old-perm :new-perm :rename-state :orig-name (:old-perm :new-perm :rename-state :orig-name :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:old-perm :new-perm :rename-state :orig-name)" cl--defsubst-expand (old-perm new-perm rename-state orig-name) (cl-block make-vc-git-extra-fileinfo (record 'vc-git-extra-fileinfo old-perm new-perm rename-state orig-name))] 16 (#$ . 12813)])
(put 'make-vc-git-extra-fileinfo 'compiler-macro 'make-vc-git-extra-fileinfo--cmacro)
#@110 Constructor for objects of type `vc-git-extra-fileinfo'.

(fn &key OLD-PERM NEW-PERM RENAME-STATE ORIG-NAME)
(defalias 'make-vc-git-extra-fileinfo #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\211\203D\211@\305>\203,\211AA\262\202\306>A@\203;\307\262\202\310\311@\"\210\202\210\312\313%\207" [plist-member :old-perm :new-perm :rename-state :orig-name (:old-perm :new-perm :rename-state :orig-name :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:old-perm :new-perm :rename-state :orig-name)" record vc-git-extra-fileinfo] 11 (#$ . 13703)])
(byte-code "\300\301\302\303#\300\207" [function-put make-vc-git-extra-fileinfo side-effect-free t] 4)
#@131 compiler-macro for inlining `vc-git-create-extra-fileinfo'.

(fn CL-WHOLE-ARG OLD-PERM NEW-PERM &optional RENAME-STATE ORIG-NAME)
(defalias 'vc-git-create-extra-fileinfo--cmacro #[1283 "\300\301\302\303\211\211				&	\207" [cl--defsubst-expand (old-perm new-perm rename-state orig-name) (cl-block vc-git-create-extra-fileinfo (record 'vc-git-extra-fileinfo old-perm new-perm rename-state orig-name)) nil] 15 (#$ . 14418)])
(put 'vc-git-create-extra-fileinfo 'compiler-macro 'vc-git-create-extra-fileinfo--cmacro)
#@115 Constructor for objects of type `vc-git-extra-fileinfo'.

(fn OLD-PERM NEW-PERM &optional RENAME-STATE ORIG-NAME)
(defalias 'vc-git-create-extra-fileinfo #[1026 "\300\301%\207" [record vc-git-extra-fileinfo] 10 (#$ . 14941)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303&	\207" [function-put vc-git-create-extra-fileinfo side-effect-free t cl-struct-define vc-git-extra-fileinfo nil cl-structure-object record ((cl-tag-slot) (old-perm) (new-perm) (rename-state) (orig-name)) cl-struct-vc-git-extra-fileinfo-tags] 11)
#@45 Escape a file name if necessary.

(fn NAME)
(defalias 'vc-git-escape-file-name #[257 "\300\301\"\203\302\303\304\305#\302Q\207\207" [string-match "[\n	\"\\]" "\"" mapconcat #[257 "\211\300\267\202\301\207\302\207\303\207\304\207\305!\207" [#s(hash-table size 4 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (10 6 9 8 92 10 34 12)) "\\n" "\\t" "\\\\" "\\\"" char-to-string] 3 "\n\n(fn C)"] ""] 6 (#$ . 15493)])
#@92 Return a string describing the file type based on its permissions.

(fn OLD-PERM NEW-PERM)
(defalias 'vc-git-file-type-as-string #[514 "\300\206\301\302\"\300\206\301\302\"\211\303\267\202f\304\267\202(\305\202j\306\202j\307\202j\305\202j\310\267\202:\311\202j\312\202j\313\202j\314\267\202L\315\202j\316\202j\317\202j\305\202j\320\267\202b\313\202j\317\202j\305\202j\321\322\"\211\203v\323\324\325#\202\201\326=\203\200\327\202\201\330\207" [ash 0 -9 #s(hash-table size 5 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (64 22 80 44 112 62 72 80 0 84)) #s(hash-table size 3 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (64 28 80 32 112 36)) nil "   (type change symlink -> file)" "   (type change subproject -> file)" #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (64 50 112 54)) "   (type change file -> symlink)" "   (type change subproject -> symlink)" "   (symlink)" #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (64 68 80 72)) "   (type change file -> subproject)" "   (type change symlink -> subproject)" "   (subproject)" #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (80 90 112 94)) format "   (unknown type %o)" propertize face font-lock-comment-face 72 "/" ""] 9 (#$ . 15935)])
#@115 Return a string describing the copy or rename associated with INFO,
or an empty string if none.

(fn STATE EXTRA)
(defalias 'vc-git-rename-as-string #[514 "\211\205\301!>\204\302\303\304D\"\210\211\305H\211\203O\306\307\310=\203&\311\2021\312=\2030\313\2021\314\315\301!>\204C\302\303\304D\"\210\316H!\317R\320\321#\202P\322\207" [cl-struct-vc-git-extra-fileinfo-tags type-of signal wrong-type-argument vc-git-extra-fileinfo 3 propertize "   (" copy "copied from " added "renamed from " "renamed to " vc-git-escape-file-name 4 ")" face font-lock-comment-face ""] 11 (#$ . 17324)])
#@63 Format a permission change as string.

(fn OLD-PERM NEW-PERM)
(defalias 'vc-git-permissions-as-string #[514 "\300\203\203\301\302\303\"\"\304=\203\305\202'\301\302\"\304=\203&\306\202'\307\310\311#\207" [propertize logand 73 logxor 0 "  " "+x" "-x" face font-lock-type-face] 8 (#$ . 17933)])
#@62 Pretty-printer for the vc-dir-fileinfo structure.

(fn INFO)
(defalias 'vc-git-dir-printer #[257 "\3028\211\203\303\202A@\3048\211\205'\305!>\204$\306\307\310D\"\210\211\311H\205=\305!>\204:\306\307\310D\"\210\304H\312\313\314\315\316\n8\203L\317\202M\320\"\321\322#\312\313\314\323	\"\321	\324\267\202h\325\202i\326\202i\327\330\331%\312\332\"\333\313\334@!\321\203\204\335\202\205\336\337\203\217\340\202\220\341\342	\330\331&	\343\n\n\"\344

\"\261\n\207" [cl-struct-vc-git-extra-fileinfo-tags vc-dir-filename-mouse-map 5 "" 2 type-of signal wrong-type-argument vc-git-extra-fileinfo 1 "  " propertize format "%c" 3 42 32 face font-lock-type-face "%-12s" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (up-to-date 96 missing 100)) font-lock-builtin-face font-lock-warning-face font-lock-variable-name-face mouse-face highlight vc-git-permissions-as-string "    " vc-git-escape-file-name font-lock-comment-delimiter-face font-lock-function-name-face help-echo "Directory\nVC operations can be applied to it\nmouse-3: Pop-up menu" "File\nmouse-3: Pop-up menu" keymap vc-git-file-type-as-string vc-git-rename-as-string] 23 (#$ . 18245)])
#@82 compiler-macro for inlining `vc-git-dir-status-state-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-dir-status-state-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-dir-status-state-p (and (memq (type-of cl-x) cl-struct-vc-git-dir-status-state-tags) t)) nil] 9 (#$ . 19472)])
(put 'vc-git-dir-status-state-p 'compiler-macro 'vc-git-dir-status-state-p--cmacro)
#@13 

(fn CL-X)
(defalias 'vc-git-dir-status-state-p #[257 "\301!>\205	\302\207" [cl-struct-vc-git-dir-status-state-tags type-of t] 3 (#$ . 19885)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put vc-git-dir-status-state-p side-effect-free error-free put vc-git-dir-status-state cl-deftype-satisfies] 5)
#@87 compiler-macro for inlining `vc-git-dir-status-state->stage'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-dir-status-state->stage--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-dir-status-state->stage (progn (or (vc-git-dir-status-state-p cl-x) (signal 'wrong-type-argument (list 'vc-git-dir-status-state cl-x))) (aref cl-x 1))) nil] 9 (#$ . 20212)])
(put 'vc-git-dir-status-state->stage 'compiler-macro 'vc-git-dir-status-state->stage--cmacro)
#@74 Access slot "stage" of `vc-git-dir-status-state' struct CL-X.

(fn CL-X)
(defalias 'vc-git-dir-status-state->stage #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-dir-status-state-tags type-of signal wrong-type-argument vc-git-dir-status-state 1] 5 (#$ . 20708)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-dir-status-state->stage side-effect-free t] 4)
#@87 compiler-macro for inlining `vc-git-dir-status-state->files'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-dir-status-state->files--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-dir-status-state->files (progn (or (vc-git-dir-status-state-p cl-x) (signal 'wrong-type-argument (list 'vc-git-dir-status-state cl-x))) (aref cl-x 2))) nil] 9 (#$ . 21111)])
(put 'vc-git-dir-status-state->files 'compiler-macro 'vc-git-dir-status-state->files--cmacro)
#@74 Access slot "files" of `vc-git-dir-status-state' struct CL-X.

(fn CL-X)
(defalias 'vc-git-dir-status-state->files #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-dir-status-state-tags type-of signal wrong-type-argument vc-git-dir-status-state 2] 5 (#$ . 21607)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-dir-status-state->files side-effect-free t] 4)
#@97 compiler-macro for inlining `vc-git-dir-status-state->update-function'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-dir-status-state->update-function--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-dir-status-state->update-function (progn (or (vc-git-dir-status-state-p cl-x) (signal 'wrong-type-argument (list 'vc-git-dir-status-state cl-x))) (aref cl-x 3))) nil] 9 (#$ . 22010)])
(put 'vc-git-dir-status-state->update-function 'compiler-macro 'vc-git-dir-status-state->update-function--cmacro)
#@84 Access slot "update-function" of `vc-git-dir-status-state' struct CL-X.

(fn CL-X)
(defalias 'vc-git-dir-status-state->update-function #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-dir-status-state-tags type-of signal wrong-type-argument vc-git-dir-status-state 3] 5 (#$ . 22556)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-dir-status-state->update-function side-effect-free t] 4)
#@86 compiler-macro for inlining `vc-git-dir-status-state->hash'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'vc-git-dir-status-state->hash--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block vc-git-dir-status-state->hash (progn (or (vc-git-dir-status-state-p cl-x) (signal 'wrong-type-argument (list 'vc-git-dir-status-state cl-x))) (aref cl-x 4))) nil] 9 (#$ . 22989)])
(put 'vc-git-dir-status-state->hash 'compiler-macro 'vc-git-dir-status-state->hash--cmacro)
#@73 Access slot "hash" of `vc-git-dir-status-state' struct CL-X.

(fn CL-X)
(defalias 'vc-git-dir-status-state->hash #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-vc-git-dir-status-state-tags type-of signal wrong-type-argument vc-git-dir-status-state 4] 5 (#$ . 23480)])
(byte-code "\300\301\302\303#\300\207" [function-put vc-git-dir-status-state->hash side-effect-free t] 4)
#@124 compiler-macro for inlining `make-vc-git-dir-status-state'.

(fn CL-WHOLE &cl-quote &key STAGE FILES UPDATE-FUNCTION HASH)
(defalias 'make-vc-git-dir-status-state--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"\206\305A@\211\203H\211@\306>\2030\211AA\262\202\307>A@\203?\310\262\202\311\312@\"\210\202\210\313\314\315\310	\310				&	\207" [plist-member :stage :files :update-function :hash (nil (make-hash-table :test 'equal)) (:stage :files :update-function :hash :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:stage :files :update-function :hash)" cl--defsubst-expand (stage files update-function hash) (cl-block make-vc-git-dir-status-state (record 'vc-git-dir-status-state stage files update-function hash))] 16 (#$ . 23881)])
(put 'make-vc-git-dir-status-state 'compiler-macro 'make-vc-git-dir-status-state--cmacro)
#@104 Constructor for objects of type `vc-git-dir-status-state'.

(fn &key STAGE FILES UPDATE-FUNCTION HASH)
(defalias 'make-vc-git-dir-status-state #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"\206\305\306\307\310\"DA@\211\203M\211@\311>\2035\211AA\262\202\"\312>A@\203D\305\262\202\"\313\314@\"\210\202\"\210\315\316%\207" [plist-member :stage :files :update-function :hash nil make-hash-table :test equal (:stage :files :update-function :hash :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:stage :files :update-function :hash)" record vc-git-dir-status-state] 11 (#$ . 24782)])
(cl-struct-define 'vc-git-dir-status-state nil 'cl-structure-object 'record nil '((cl-tag-slot) (stage) (files) (update-function) (hash (make-hash-table :test 'equal))) 'cl-struct-vc-git-dir-status-state-tags 'vc-git-dir-status-state t)
#@44 

(fn STATE FILENAME FILE-STATE FILE-INFO)
(defalias 'vc-git-dir-status-update-file #[1028 "\301D\302!>\204\303\304\305	D\"\210\306H#\210\302!>\204,\303\304\305D\"\210\211\307\310\302	!>\204C\303\304\305D\"\210\307H\"I\207" [cl-struct-vc-git-dir-status-state-tags puthash type-of signal wrong-type-argument vc-git-dir-status-state 4 2 delete] 13 (#$ . 25660)])
(put 'vc-git-dir-status-update-file 'byte-optimizer 'byte-compile-inline-expand)
#@69 Process sentinel for the various dir-status stages.

(fn GIT-STATE)
(defalias 'vc-git-after-dir-status-stage #[257 "\301\302!>\204\303\304\305D\"\210\306Heb\210\302!>\204%\303\304\305D\"\210\307H\211\310\267\202\211\311 \2037\312\2028\313\262\202\211\314\262\315\316\301\317#\203\211\320\321\307!\322\"\321\306!\323\324\325\326\301\211%\327D\302!>\204r\303\304\305	D\"\210\330H#\210\302!>\204\210\303\304\305D\"\210\211\306\331\302	!>\204\237\303\304\305D\"\210\306H\"I\266\202@\202\211\314\262\315\332\301\317#\203\211\320\321\307!\322\"\321\306!\321\333!\324\325\211\301\211%\334\232\203?\335\302\n!>\204\344\303\304\305\fD\"\210	\330H\"\204\217\336\327D\302!>\204\303\304\305	D\"\210\330H#\210\302!>\204\303\304\305D\"\210\211\306\331\302	!>\2044\303\304\305D\"\210\306H\"I\266\202\217\337\327D\302!>\204Z\303\304\305	D\"\210\330H#\210\302!>\204p\303\304\305D\"\210\211\306\331\302	!>\204\207\303\304\305D\"\210\306H\"I\266\266\202\260\202\211\314\262\315\340\301\317#\203\211\320\321\307!\322\"\321\306!\337\324\325\211\301\211%\327D\302!>\204\314\303\304\305	D\"\210\330H#\210\302!>\204\342\303\304\305D\"\210\211\306\331\302	!>\204\371\303\304\305D\"\210\306H\"I\266\202\232\202\211\203\341\262\315\342\301\317\307$\203\211\321\307!\343\324\325\326\211\301\211%\327D\302!>\2049\303\304\305	D\"\210\330H#\210\302!>\204O\303\304\305D\"\210\211\306\331\302	!>\204f\303\304\305D\"\210\306H\"I\266\202\202\211\315\342\301\317\307$\203\211\321\307!\344\324\325\326\211\301\211%\327D\302!>\204\237\303\304\305	D\"\210\330H#\210\302!>\204\265\303\304\305D\"\210\211\306\331\302	!>\204\314\303\304\305D\"\210\306H\"I\266\202t\202\211\203\342\345\202\343\346\262\315\347\301\317\307$\203\211\320\321\307!\322\"\320\321\306!\322\"\321\330!\206\321\350!\321\351!\206\f\321\352!\321\322!\211\203*\353!\354=\203w\323\324\325		\355	%\327D\302!>\204?\303\304\305	D\"\210\330H#\210\302!>\204U\303\304\305D\"\210\211\306\331\302	!>\204l\303\304\305D\"\210\306H\"I\266\202\204\356\324\325\326\211\357%\327D\302!>\204\231\303\304\305	D\"\210\330H#\210\302!>\204\257\303\304\305D\"\210\211\306\331\302	!>\204\306\303\304\305D\"\210\306H\"I\266\323\324\325		\357	%\327D\302!>\204\362\303\304\305	D\"\210\330H#\210\302!>\204\303\304\305D\"\210\211\306\331\302	!>\204\303\304\305D\"\210\306H\"I\266\202\204\360!\324\325		\301\211%\327D\302!>\204O\303\304\305	D\"\210\330H#\210\302!>\204e\303\304\305D\"\210\211\306\331\302	!>\204|\303\304\305D\"\210\306H\"I\266\266\202\345\210\211\203\246\302!>\204\235\303\304\305D\"\210\306H\204\246\301\262\302!>\204\265\303\304\305D\"\210\211\307I\266\302!>\204\313\303\304\305D\"\210\211\306I\266\203\334\361!\202\302!>\204\353\303\304\305D\"\210\333H\301C\362\363\364\365\366\367!\370\"\351\371%\302!>\204\303\304\305	D\"\210\330H\"\210\211\242\262\301\"\207" [cl-struct-vc-git-dir-status-state-tags nil type-of signal wrong-type-argument vc-git-dir-status-state 2 1 #s(hash-table size 7 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (update-index 46 ls-files-added 61 ls-files-up-to-date 173 ls-files-conflict 407 ls-files-unknown 519 ls-files-ignored 628 diff-index 730)) vc-git--empty-db-p ls-files-added diff-index ls-files-unknown re-search-forward "\\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} 0	\\([^]+\\)" t string-to-number match-string 8 added record vc-git-extra-fileinfo 0 puthash 4 delete "\\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} \\([0-3]\\)	\\([^]+\\)" 3 "0" gethash up-to-date conflict "\\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} 3	\\([^]+\\)" ls-files-ignored "\\([^]*?\\)" unregistered ignored ls-files-up-to-date ls-files-conflict ":\\([0-7]\\{6\\}\\) \\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\(\\([ADMUT]\\)\\([^]+\\)\\|\\([CR]\\)[0-9]*\\([^]+\\)\\([^]+\\)\\)" 6 5 7 string-to-char 67 copy removed rename vc-git--state-code vc-git-dir-status-goto-stage maphash make-byte-code 514 "\300B\300\242B\240\207" vconcat vector [] "\n\n(fn KEY VALUE)"] 22 (#$ . 26134)])
#@18 

(fn GIT-STATE)
(defalias 'vc-git-dir-status-goto-stage #[257 "\301!>\204\302\303\304D\"\210\211\305H\306 \210\301!>\204$\302\303\304D\"\210\307H\211\310\267\202\243\203>\311p\312\313\314\315&\210\202\243\311p\312\316\317\314%\210\202\243\311p\312\320\321\322\323\315&\210\202\243\311p\312\320\321\322\323\315&\210\202\243\311p\312\320\321\324\315&\210\202\243\311p\312\320\321\325\326\315&\210\202\243\311p\312\320\321\325\327\330\331\326\315&\210\202\243\311p\312\332\333\321\334\335\315&	\210\210\336\337\340\341\342\343!\344\"\305$!\207" [cl-struct-vc-git-dir-status-state-tags type-of signal wrong-type-argument vc-git-dir-status-state 2 erase-buffer 1 #s(hash-table size 7 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (update-index 45 ls-files-added 73 ls-files-up-to-date 88 ls-files-conflict 103 ls-files-unknown 117 ls-files-ignored 132 diff-index 150)) vc-git-command async "add" "--refresh" "--" nil "update-index" "ls-files" "-z" "-c" "-s" "-u" "-o" "--exclude-standard" "-i" "--directory" "--no-empty-directory" "diff-index" "--relative" "-M" "HEAD" vc-exec-after make-byte-code 0 "\301\300!\207" vconcat vector [vc-git-after-dir-status-stage]] 15 (#$ . 30486)])
#@86 Return a list of (FILE STATE EXTRA) entries for DIR.

(fn DIR FILES UPDATE-FUNCTION)
(defalias 'vc-git-dir-status-files #[771 "\300\301\302\303\304\305&!\207" [vc-git-dir-status-goto-stage make-vc-git-dir-status-state :stage update-index :files :update-function] 11 (#$ . 31723)])
(defvar vc-git-stash-shared-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\211\207" [make-sparse-keymap define-key "S" vc-git-stash-snapshot "C" vc-git-stash] 5))
(defvar vc-git-stash-map (byte-code "\301 \302\"\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\313#\210\303\315\316#\210\303\317\320#\210\211\207" [vc-git-stash-shared-map make-sparse-keymap set-keymap-parent define-key [mouse-2] ignore [down-mouse-3] vc-git-stash-menu "" vc-git-stash-delete-at-point "=" vc-git-stash-show-at-point "
" "A" vc-git-stash-apply-at-point "P" vc-git-stash-pop-at-point] 5))
(defvar vc-git-stash-button-map (byte-code "\301 \302\"\210\303\304\305#\210\303\306\305#\210\211\207" [vc-git-stash-shared-map make-sparse-keymap set-keymap-parent define-key [mouse-2] push-button "
"] 5))
(defconst vc-git-stash-shared-help "\\<vc-git-stash-shared-map>\\[vc-git-stash]: Create named stash\n\\[vc-git-stash-snapshot]: Snapshot stash")
(defconst vc-git-stash-list-help (concat "\\<vc-git-stash-map>mouse-3: Show stash menu\n\\[vc-git-stash-show-at-point], =: Show stash\n\\[vc-git-stash-apply-at-point]: Apply stash\n\\[vc-git-stash-pop-at-point]: Apply and remove stash (pop)\n\\[vc-git-stash-delete-at-point]: Delete stash\n" vc-git-stash-shared-help))
#@27 

(fn SHOW COUNT1 COUNT2)
(defalias 'vc-git--make-button-text #[771 "\301\203\f\302\303\"\202)U\203\302\304\"\202)\302\305\211\306U\203&\307\202'\310$\311#\207" [vc-git-stash-button-map propertize format "Show all stashes (%s)" "Hide all stashes (%s)" "Show %s stash%s (of %s)" 1 "" "es" keymap] 9 (#$ . 33312)])
#@27 

(fn SHOW COUNT1 COUNT2)
(defalias 'vc-git-make-stash-button #[771 "\301#\302\303\304\305\306B\307\310P&\207" [vc-git-stash-shared-help vc-git--make-button-text make-text-button nil action #[257 "\301\302e\303\"\302\303\"\304\305\"\306\305?D#\210\212\307`!\310`!|\210\311?@A#c*\207" [inhibit-read-only t next-single-property-change vc-git-hideable get-text-property invisible add-text-properties button-start button-end vc-git-make-stash-button] 9 "\n\n(fn COUNTS)"] button-data help-echo "mouse-2, RET: Show/hide stashes\n"] 14 (#$ . 33646)])
(defvar vc-git-stash-menu-map (byte-code "\300\301!\302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\211\207" [make-sparse-keymap "Git Stash" define-key [sn] (menu-item "Snapshot Stash" vc-git-stash-snapshot :help "Snapshot stash") [cr] (menu-item "Create Named Stash" vc-git-stash :help "Create named stash") [de] (menu-item "Delete Stash" vc-git-stash-delete-at-point :help "Delete the current stash") [ap] (menu-item "Apply Stash" vc-git-stash-apply-at-point :help "Apply the current stash and keep it in the stash list") [po] (menu-item "Apply and Remove Stash (Pop)" vc-git-stash-pop-at-point :help "Apply the current stash and remove it") [sh] (menu-item "Show Stash" vc-git-stash-show-at-point :help "Show the contents of the current stash")] 5))
#@12 

(fn DIR)
(defalias 'vc-git-dir-extra-headers #[257 "\304\305!\306\216rq\210\307\310\311\"\210*rq\210\312 +\313 \314\211\211\211\211\315\316\"\203\216\317\320\"\262\304\305!\321\216rq\210\307\322\323\324Q\"\210*rq\210\312 +\262\315\325\"\203[\317\326\"\262\203~\304\305!\327\216rq\210\307\322\330\331Q\"\210*rq\210\312 +\262\315\325\"\203\221\317\326\"\262\202\221\332\262\203G	\250\203\242	^\202\243\211\333\334#\333	\"	\335=\206\267	X\211\203\303\336\314\211#\202\311\336\335	#\262\205\353\337\340\341#\342\343\344\345\346\347!\350\"\351\352%\337\340\341##P\205\337\340\353\335\341\335%\342\354\337\340\353\335\341\335%#PP\266\206\337\355\356\357#\337\356\360#\205!\340\337\361\356\357#\337\356\360#Q\362\363\364\365!\"!\2052\337\366\356\367#\362\363\370\365!\"!\205C\337\371\356\367#\n\203U\337\372\356\357#Q\202e\337\372\356\357#\337\373\374\n\375\356\360&P\260\207" [standard-output vc-git-show-stash vc-git-stash-shared-help vc-git-stash-shared-map generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] vc-git--out-ok "symbolic-ref" "HEAD" buffer-string vc-git-stash-list nil string-match "^\\(refs/heads/\\)?\\(.+\\)$" match-string 2 #[0 "\301!\207" [standard-output kill-buffer] 2] "config" "branch." ".remote" "\\([^\n]+\\)" 1 #[0 "\301!\207" [standard-output kill-buffer] 2] "remote." ".url" "not (detached HEAD)" cl-subseq 0 t vc-git-make-stash-button propertize "\n" vc-git-hideable mapconcat make-byte-code 257 "\303\304\305\306\307\310\300\311	\312\n&\207" vconcat vector [vc-git-stash-list-help vc-git-stash-map propertize face font-lock-variable-name-face mouse-face highlight vc-git-hideable help-echo keymap] 13 "\n\n(fn X)" invisible #[257 "\302\303\304\305\306\307\310\311\310\312\313	&
\207" [vc-git-stash-list-help vc-git-stash-map propertize face font-lock-variable-name-face mouse-face highlight invisible t vc-git-hideable help-echo keymap] 15 "\n\n(fn X)"] "Branch     : " face font-lock-type-face font-lock-variable-name-face "Remote     : " file-exists-p expand-file-name ".git/BISECT_START" vc-git-root "\nBisect     : in progress" font-lock-warning-face ".git/rebase-apply" "\nRebase     : in progress" "\nStash      : " "Nothing stashed" help-echo keymap] 24 (#$ . 35030)])
#@96 Return the existing branches, as a list of strings.
The car of the list is the current branch.
(defalias 'vc-git-branches #[0 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311\312\313\"\210eb\210\314\211m\204D\315\316!\203>\317\320!\321\230\2037\317\310!\262\202>\317\310!B\262\320y\210\202\237B\266\202*\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 vc-git--call t "branch" nil looking-at "^\\([ *]\\) \\(.+\\)$" match-string 1 "*"] 7 (#$ . 37376)])
#@30 Create a new Git repository.
(defalias 'vc-git-create-repo #[0 "\300\301\302\301\303$\207" [vc-git-command nil 0 "init"] 5 (#$ . 37937)])
#@83 Register FILES into the git version-control system.

(fn FILES &optional COMMENT)
(defalias 'vc-git-register #[513 "\300\211\211\203#\211@\301!\203\211B\262\202\211B\262A\266\202\202\210\2032\302\300\303\304\305\306&\210\211\205<\302\300\303\307$\207" [nil file-directory-p vc-git-command 0 "update-index" "--add" "--" "add"] 11 (#$ . 38081)])
(defalias 'vc-git-responsible-p 'vc-git-root)
#@13 

(fn FILE)
(defalias 'vc-git-unregister #[257 "\300\301\302\303\304\305\306&\207" [vc-git-command nil 0 "rm" "-f" "--cached" "--"] 9 (#$ . 38497)])
#@82 Toggle whether to add the "Signed-off-by" line at the end of
the commit message.
(defalias 'vc-git-log-edit-toggle-signoff #[0 "\300\301\302\"\207" [log-edit-toggle-header "Sign-Off" "yes"] 3 (#$ . 38654) nil])
#@63 Toggle whether to bypass the pre-commit and commit-msg hooks.
(defalias 'vc-git-log-edit-toggle-no-verify #[0 "\300\301\302\"\207" [log-edit-toggle-header "No-Verify" "yes"] 3 (#$ . 38871) nil])
#@110 Toggle whether this will amend the previous commit.
If toggling on, also insert its message into the buffer.
(defalias 'vc-git-log-edit-toggle-amend #[0 "\300\301!\207" [log-edit--toggle-amend #[0 "\301\302!\303\216\304\305\306\307\310\311\312&\210)rq\210\313 +\207" [standard-output generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] vc-git-command 1 nil "log" "--max-count=1" "--pretty=format:%B" "HEAD" buffer-string] 8]] 2 (#$ . 39073) nil])
(defvar vc-git-log-edit-mode-map (byte-code "\300\301!\302\303\304#\210\302\305\306#\210\302\307\310#\210\211\207" [make-sparse-keymap "Git-Log-Edit" define-key "" vc-git-log-edit-toggle-signoff "" vc-git-log-edit-toggle-no-verify "" vc-git-log-edit-toggle-amend] 5))
(defvar vc-git-log-edit-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [vc-git-log-edit-mode-hook variable-documentation put "Hook run after entering Log-Edit/git mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp vc-git-log-edit-mode-map definition-name vc-git-log-edit-mode] 4)
(defvar vc-git-log-edit-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [vc-git-log-edit-mode-abbrev-table vc-git-log-edit-mode-map variable-documentation put purecopy "Keymap for `vc-git-log-edit-mode'." boundp vc-git-log-edit-mode-syntax-table definition-name vc-git-log-edit-mode (lambda (#1=#:def-tmp-var) (defvar vc-git-log-edit-mode-syntax-table #1#)) make-syntax-table "Syntax table for `vc-git-log-edit-mode'." (lambda (#1#) (defvar vc-git-log-edit-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `vc-git-log-edit-mode'." derived-mode-parent log-edit-mode] 5)
#@303 Major mode for editing Git log messages.
It is based on `log-edit-mode', and has Git-specific extensions.

In addition to any hooks its parent mode might have run,
this mode runs the hook `vc-git-log-edit-mode-hook', as the final or penultimate step
during initialization.

\{vc-git-log-edit-mode-map}
(defalias 'vc-git-log-edit-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
=\204R\326
\325C#\210\327!\210\330\f!\210
)\331\332!\207" [delay-mode-hooks major-mode mode-name vc-git-log-edit-mode-map vc-git-log-edit-mode-syntax-table vc-git-log-edit-mode-abbrev-table make-local-variable t log-edit-mode vc-git-log-edit-mode "Log-Edit/git" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table run-mode-hooks vc-git-log-edit-mode-hook local-abbrev-table] 5 (#$ . 41121) nil])
#@36 

(fn FILES COMMENT &optional REV)
(defalias 'vc-git-checkin #[770 "@\206\305!\306!A\206\211\307!\232?	\n\310=\203#\202(	\206(\f\n\310=\2057\311!\312\313!)\314\315\316\317\320\205C\f\203R\321\322\323	!E\202U\321\324D\325\326\327\330\n\331!B\332\333!B\334\f\335!B\257\"\203\210	\206z\f\336@\317#\210)\211A\262\211\262\244	\203\227\337\340D\202\230\341\244%\266\211\205\251\342!\205\251\343!*\207" [default-directory coding-system-for-write system-type locale-coding-system vc-git-commits-coding-system vc-git-root expand-file-name abbreviate-file-name windows-nt file-name-directory make-nearby-temp-file "git-msg" #[257 "\300\301\302\303\304!\305\"\306\307%\207" [make-byte-code 257 "\211\301\232\205\300C\207" vconcat vector ["yes"] 3 "\n\n(fn VALUE)"] 7 "\n\n(fn ARGUMENT)"] apply vc-git-command nil 0 "commit" "-F" file-local-name "-m" log-edit-extract-headers ("Author" . "--author") ("Date" . "--date") "Amend" "--amend" "No-Verify" "--no-verify" "Sign-Off" "--signoff" write-region "--only" "--" ("-a") file-exists-p delete-file] 23 (#$ . 42210)])
#@24 

(fn FILE REV BUFFER)
(defalias 'vc-git-find-revision #[771 "\304\305\211\306\307\310\311\312%\211\313\230\203\314\315!\"\202!\316\317\320#\262\321\317\304\322\323\2033\2024\324\325Q&+\207" [process-file-side-effects coding-system-for-read coding-system-for-write default-directory nil binary vc-git--run-command-string "ls-files" "-z" "--full-name" "--" "" file-relative-name vc-git-root substring 0 -1 vc-git-command "cat-file" "blob" "HEAD" ":"] 14 (#$ . 43327)])
#@59 Return the git ignore file that controls FILE.

(fn FILE)
(defalias 'vc-git-find-ignore-file #[257 "\300\301\302!\"\207" [expand-file-name ".gitignore" vc-git-root] 5 (#$ . 43822)])
#@27 

(fn FILE &optional REV)
(defalias 'vc-git-checkout #[513 "\300\301\302\303\206\n\304%\207" [vc-git-command nil 0 "checkout" "HEAD"] 8 (#$ . 44011)])
#@93 Revert FILE to the version stored in the git repository.

(fn FILE &optional CONTENTS-DONE)
(defalias 'vc-git-revert #[513 "\211\203\f\300\301\302\303\304%\207\300\301\302\305\306\304&\210\300\301\211\307\306\304&\207" [vc-git-command nil 0 "update-index" "--" "reset" "-q" "checkout"] 9 (#$ . 44171)])
#@64 Value of `compilation-error-regexp-alist' in *vc-git* buffers.
(defvar vc-git-error-regexp-alist '(("^ \\(.+\\)\\> *|" 1 nil nil 0)) (#$ . 44486))
#@161 Run COMMAND (a string; either push or pull) on the current Git branch.
If PROMPT is non-nil, prompt for the Git command to run.

(fn COMMAND PROMPT EXTRA-ARGS)
(defalias 'vc-git--pushpull #[771 "C\302!\303\304\305!\"	C\306C\203A\211\307\310\303\311	\242\"\303\312\242\242#\313#\314\315#\240\210\242@\240\210\242A@\240\210\211\242AA\240\210\211\242\244\240\210\316\317!\210\320\321\242	\242\242&\210rq\210\322\323\324\325\326\327\n\n\n\n\n%\330\"\331$!\210)\332!\266\204\207" [default-directory vc-git-program vc-git-root format "*vc-git : %s*" expand-file-name nil split-string read-shell-command "Git %s command: " "%s %s" vc-git-history " " t require vc-dispatcher apply vc-do-async-command vc-exec-after make-byte-code 0 "\306\307!\210\310\305!\210\303\242\311\300\242\311\312\313\304\242\311#\260\310\314!\210\301\f\310\315!\210
\316\317\320\321\322\323\302!\324\"\325\326%\316F\211
\207" vconcat vector [compile-command vc-compilation-mode git make-local-variable " " mapconcat identity compilation-directory compilation-arguments nil make-byte-code 257 "\300\207" vconcat vector [] 2 "\n\n(fn NAME-OF-MODE)"] 8 vc-set-async-update] 19 (#$ . 44640)])
#@146 Pull changes into the current Git branch.
Normally, this runs "git pull".  If PROMPT is non-nil, prompt
for the Git command to run.

(fn PROMPT)
(defalias 'vc-git-pull #[257 "\300\301\302#\207" [vc-git--pushpull "pull" ("--stat")] 5 (#$ . 45841)])
#@146 Push changes from the current Git branch.
Normally, this runs "git push".  If PROMPT is non-nil, prompt
for the Git command to run.

(fn PROMPT)
(defalias 'vc-git-push #[257 "\300\301\302#\207" [vc-git--pushpull "push" nil] 5 (#$ . 46097)])
#@85 Merge changes into the current Git branch.
This prompts for a branch to merge from.
(defalias 'vc-git-merge-branch #[0 "\302!\303\304\305!\"\306 A\307\310\311\235\204\312\305\313\"!\204\"\202%\311B\314\315$\316\317	\320C&\210rq\210\321\322!\210)\323!\207" [default-directory vc-git-program vc-git-root format "*vc-git : %s*" expand-file-name vc-git-branches completing-read "Merge from branch: " "FETCH_HEAD" file-readable-p ".git/FETCH_HEAD" nil t apply vc-do-async-command "merge" vc-exec-after #[0 "\300\301!\207" [vc-compilation-mode git] 2] vc-set-async-update] 11 (#$ . 46345)])
#@71 Return the list of files with conflicts in DIRECTORY.

(fn DIRECTORY)
(defalias 'vc-git-conflicted-files #[257 "\300\301\302\303$\211\205\304\305\306#\307\211\203>\211@\310\311\"\2037\312\313\"\312\314\"\315\235\2035\316	\"B\262\266A\266\202\202\262\207" [vc-git--run-command-string "status" "--porcelain" "--" split-string "\n" omit-nulls nil string-match "\\([ MADRCU?!][ MADRCU?!]\\) \\(.+\\)\\(?: -> \\(.+\\)\\)?" match-string 1 2 ("AU" "UD" "UA" "DU" "AA" "UU") expand-file-name] 11 (#$ . 46955)])
(autoload 'vc-resynch-buffer "vc-dispatcher")
#@59 Call "git add" if the conflict markers have been removed.
(defalias 'vc-git-resolve-when-done #[0 "\212eb\210\302\303\304\305#?\205?\306\304\307\310$\210	\311=\2034\312\313\314\315!\"!\2044\316\315!!\2044\306\304\307\304\317$\210\320\305\211#\210\321\322\323\305#)\207" [buffer-file-name vc-git-resolve-conflicts re-search-forward "^<<<<<<< " nil t vc-git-command 0 "add" unstage-maybe file-exists-p expand-file-name ".git/MERGE_HEAD" vc-git-root vc-git-conflicted-files "reset" vc-resynch-buffer remove-hook after-save-hook vc-git-resolve-when-done] 5 (#$ . 47532)])
#@48 Activate `smerge-mode' if there is a conflict.
(defalias 'vc-git-find-file-hook #[0 "\205+\302\303\"\304=\205+\212eb\210\305\306\307\310#)\205+\311 \210	\203(\312\313\314\307\315$\210\316!\207" [buffer-file-name vc-git-resolve-conflicts vc-state Git conflict re-search-forward "^<<<<<<< " nil noerror smerge-start-session add-hook after-save-hook vc-git-resolve-when-done local vc-message-unresolved-conflicts] 5 (#$ . 48114)])
(byte-code "\300\301\302\"\210\303\304\305\306\307DD\310\311\312\313\314&\207" [autoload vc-setup-buffer "vc-dispatcher" custom-declare-variable vc-git-print-log-follow funcall function #[0 "\300\207" [nil] 1] "If true, follow renames in Git logs for a single file." :type boolean :version "26.1"] 8)
#@450 Print commit log associated with FILES into specified BUFFER.
If SHORTLOG is non-nil, use a short format based on `vc-git-root-log-format'.
(This requires at least Git version 1.5.6, for the --graph option.)
If START-REVISION is non-nil, it is the newest revision to show.
If LIMIT is a number, show no more than this many entries.
If LIMIT is a revision string, use it as an end-revision.

(fn FILES BUFFER &optional SHORTLOG START-REVISION LIMIT)
(defalias 'vc-git-print-log #[1282 "\206	\306!\210\307rq\210\310\311\312\313\314\2054A?\2054@\2054\315\f@!?\2054\316C\n\205F\317\320\321\322\323\f@\"\324BBBB	\247\205S\325\322\326\f\"D\205{\n\203x\n\247\204x\327\f\330\232\203q\331\202s\fQC\202{C
\332=\205\203\333C\334&%+\207" [coding-system-for-read vc-git-log-output-coding-system inhibit-read-only vc-git-print-log-follow vc-git-root-log-format vc-log-view-type vc-setup-buffer t apply vc-git-command async append ("log" "--no-color") file-directory-p "--follow" "--graph" "--decorate" "--date=short" format "--pretty=tformat:%s" ("--abbrev-commit") "-n" "%s" ".." "" "HEAD" with-diff "-p" ("--")] 19 (#$ . 48858)])
#@31 

(fn BUFFER REMOTE-LOCATION)
(defalias 'vc-git-log-outgoing #[514 "\301!\210\302\303\304\305\306\307\310\311\312\313@\"\314\315\230\203\316\202 \317P&\207" [vc-git-root-log-format vc-setup-buffer vc-git-command async nil "log" "--no-color" "--graph" "--decorate" "--date=short" format "--pretty=tformat:%s" "--abbrev-commit" "" "@{upstream}" "..HEAD"] 15 (#$ . 50025)])
#@31 

(fn BUFFER REMOTE-LOCATION)
(defalias 'vc-git-log-incoming #[514 "\301!\210\302\303\304\303\305$\210\302\306\303\307\310\311\312\313\314\315@\"\316\317\f\320\230\203&\321\202(\fP&\207" [vc-git-root-log-format vc-setup-buffer vc-git-command nil 0 "fetch" async "log" "--no-color" "--graph" "--decorate" "--date=short" format "--pretty=tformat:%s" "--abbrev-commit" "HEAD.." "" "@{upstream}"] 16 (#$ . 50413)])
#@290 Search the log of changes for PATTERN and output results into BUFFER.

PATTERN is a basic regular expression by default in Git.

Display all entries that match log messages in long format.
With a prefix argument, ask for a command to run that will output
log entries.

(fn BUFFER PATTERN)
(defalias 'vc-git-log-search #[514 "\302\303\304\305\306\206\n\307\"F\203%\310\311\312\305\313	\314\315\316##\317#\316\320#A\262\321!\210\322\323\324\325%\207" [current-prefix-arg vc-git-program "log" "--no-color" "-i" format "--grep=%s" "" split-string read-shell-command "Search log with command: " "%s %s" mapconcat identity " " vc-git-history t vc-setup-buffer apply vc-git-command async nil] 13 (#$ . 50839)])
#@28 

(fn REV1 &optional REV2)
(defalias 'vc-git-mergebase #[513 "\211\204\301\262\302\303\304$\303\305\206\306\307Q\303\310\311#)\266\203\211\203.\312\313#\202/\207" [inhibit-changing-match-data "HEAD" vc-git--run-command-string nil "merge-base" "\\(?:" "[ 	\n
]+" "\\)\\'" t string-match substring 0] 11 (#$ . 51559)])
(defvar vc-git-log-view-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [vc-git-log-view-mode-hook variable-documentation put "Hook run after entering Git-Log-View mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp vc-git-log-view-mode-map definition-name vc-git-log-view-mode] 4)
(defvar vc-git-log-view-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [vc-git-log-view-mode-abbrev-table vc-git-log-view-mode-map variable-documentation put purecopy "Keymap for `vc-git-log-view-mode'." boundp vc-git-log-view-mode-syntax-table definition-name vc-git-log-view-mode (lambda (#1=#:def-tmp-var) (defvar vc-git-log-view-mode-syntax-table #1#)) make-syntax-table "Syntax table for `vc-git-log-view-mode'." (lambda (#1#) (defvar vc-git-log-view-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `vc-git-log-view-mode'." derived-mode-parent log-view-mode] 5)
#@534 Major mode derived from `log-view-mode' by `define-derived-mode'.
It inherits all of the parent's attributes, but has its own keymap,
abbrev table and syntax table:

  `vc-git-log-view-mode-map', `vc-git-log-view-mode-abbrev-table' and `vc-git-log-view-mode-syntax-table'

which more-or-less shadow log-view-mode's corresponding tables.

In addition to any hooks its parent mode might have run,
this mode runs the hook `vc-git-log-view-mode-hook', as the final or penultimate step
during initialization.

\{vc-git-log-view-mode-map}
(defalias 'vc-git-log-view-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
,=\204R\326
\325,C#\210\327!\210\330\f!\210
,\331\332!\210\306\333!\210-\306\334!\210\335\306\336!\210.\337>\204\202/A@\202\203\340.\341>\203\226\3070\306\342!\210\343\"\306\344!\210.\345>\204\256/A@\346/8BC\202\266\347\350BC\351\"$)\352\353!\207" [delay-mode-hooks major-mode mode-name vc-git-log-view-mode-map vc-git-log-view-mode-syntax-table vc-git-log-view-mode-abbrev-table make-local-variable t log-view-mode vc-git-log-view-mode "Git-Log-View" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table require add-log log-view-file-re log-view-per-file-logs nil log-view-message-re (long log-search with-diff) "^commit *\\([0-9a-z]+\\)" (short log-outgoing log-incoming mergebase) log-view-expanded-log-entry-function vc-git-expanded-log-entry log-view-font-lock-keywords (long log-search with-diff) 2 append ((1 'change-log-acknowledgment)) (("^Author:[ 	]+\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)" (1 'change-log-email)) ("^Author:[ 	]+\\([^<(]+?\\)[ 	]*[(<]\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)[>)]" (1 'change-log-name) (2 'change-log-email)) ("^ +\\(?:\\(?:[Aa]cked\\|[Ss]igned-[Oo]ff\\)-[Bb]y:\\)[ 	]+\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)" (1 'change-log-name)) ("^ +\\(?:\\(?:[Aa]cked\\|[Ss]igned-[Oo]ff\\)-[Bb]y:\\)[ 	]+\\([^<(]+?\\)[ 	]*[(<]\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)[>)]" (1 'change-log-name) (2 'change-log-email)) ("^Merge: \\([0-9a-z]+\\) \\([0-9a-z]+\\)" (1 'change-log-acknowledgment) (2 'change-log-acknowledgment)) ("^Date:   \\(.+\\)" (1 'change-log-date)) ("^summary:[ 	]+\\(.+\\)" (1 'log-view-message))) run-mode-hooks vc-git-log-view-mode-hook local-abbrev-table regexp-unmatchable vc-log-view-type vc-git-root-log-format truncate-lines] 5 (#$ . 53175) nil])
#@137 Move to the log entry for REVISION.
REVISION may have the form BRANCH, BRANCH~N,
or BRANCH^ (where "^" can be repeated).

(fn REVISION)
(defalias 'vc-git-show-log-entry #[257 "eb\210\211\2055\300\301\302\"\303\304\305\306\"\203!\307\310\311\"!T\2024\305\312\"\2033\310\313\"GT\2024\303$\314 \210\207" [search-forward format "\ncommit %s" nil t string-match "~\\([0-9]\\)\\'" string-to-number match-string 1 "\\^+\\'" 0 beginning-of-line] 9 (#$ . 55815)])
#@17 

(fn REVISION)
(defalias 'vc-git-expanded-log-entry #[257 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311\312\313\314\211\315\316\317F%\210eb\210m?\205<\320\321\314\313#\203:\322\323!\210\314y\210\202(\324 *\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 apply vc-git-command t nil "log" "-1" "--" re-search-forward "^  " replace-match "" buffer-string] 11 (#$ . 56290)])
#@160 Insert into BUFFER the history of FILE for lines LFROM to LTO.
This requires git 1.8.4 or later, for the "-L" option of "git log".

(fn FILE BUFFER LFROM LTO)
(defalias 'vc-git-region-history #[1028 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311\312\313\314\315p&\210eb\210\303\315\211\316\317\315\320#\203y\321\322\323!!\321\322\310!!\321\322\324!!\321\322\325!!Z\232\204M\326\327!\210\204\\\nV\203\\\262\204k	V\203k\262\\\\Z\262\266\202$\206Z\262\206\210Z\262\266*\210\330\331\315\332\333\334\335		\336!$&\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 vc-call-backend git diff "HEAD" nil re-search-forward "^@@ -\\([0-9]+\\),\\([0-9]+\\) \\+\\([0-9]+\\),\\([0-9]+\\) @@" t string-to-number match-string 1 3 4 cl--assertion-failed (equal (- curno headno) last-offset) vc-git-command async "log" "-p" format "-L%d,%d:%s" file-relative-name] 16 (#$ . 56769)])
(require 'diff-mode)
(defvar vc-git-region-history-mode-map (byte-code "\302\303\302	D!\"\211\207" [diff-mode-map vc-git-log-view-mode-map make-composed-keymap nil] 5))
(defvar vc-git--log-view-long-font-lock-keywords nil)
(defvar vc-git-region-history-font-lock-keywords '((vc-git-region-history-font-lock)))
#@14 

(fn LIMIT)
(defalias 'vc-git-region-history-font-lock #[257 "\212\303 \210\304\305!\204\306\305\307\310#\210\311\224f)\312=\212\313\314\310#\203$\315\224\202%)\203.\202/	\316`\"\210)\211b\210`W\307f\312=\262\262\204\307\207" [diff-font-lock-keywords vc-git--log-view-long-font-lock-keywords font-lock-keywords beginning-of-line looking-at "^\\(?:diff\\|commit\\)\\>" re-search-backward nil t 0 100 re-search-forward "\n\\(diff\\|commit\\)\\>" 1 font-lock-fontify-keywords-region] 6 (#$ . 58091)])
(defvar vc-git-region-history-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [vc-git-region-history-mode-hook variable-documentation put "Hook run after entering Git-Region-History mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp vc-git-region-history-mode-map definition-name vc-git-region-history-mode] 4)
(defvar vc-git-region-history-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [vc-git-region-history-mode-abbrev-table vc-git-region-history-mode-map variable-documentation put purecopy "Keymap for `vc-git-region-history-mode'." boundp vc-git-region-history-mode-syntax-table definition-name vc-git-region-history-mode (lambda (#1=#:def-tmp-var) (defvar vc-git-region-history-mode-syntax-table #1#)) make-syntax-table "Syntax table for `vc-git-region-history-mode'." (lambda (#1#) (defvar vc-git-region-history-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `vc-git-region-history-mode'." derived-mode-parent vc-git-log-view-mode] 5)
#@276 Major mode to browse Git's "log -p" output.

In addition to any hooks its parent mode `vc-git-log-view-mode' might have run,
this mode runs the hook `vc-git-region-history-mode-hook', as the final or penultimate step
during initialization.

\{vc-git-region-history-mode-map}
(defalias 'vc-git-region-history-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
=\204R\326
\325C#\210\327!\210\330\f!\210
\306\331!\210\306\332!\210\333AB)\334\335!\207" [delay-mode-hooks major-mode mode-name vc-git-region-history-mode-map vc-git-region-history-mode-syntax-table vc-git-region-history-mode-abbrev-table make-local-variable t vc-git-log-view-mode vc-git-region-history-mode "Git-Region-History" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table vc-git--log-view-long-font-lock-keywords font-lock-defaults vc-git-region-history-font-lock-keywords run-mode-hooks vc-git-region-history-mode-hook local-abbrev-table log-view-font-lock-keywords] 5 (#$ . 59985) nil])
(defalias 'vc-git--asciify-coding-system #[0 "\301\211\302\303#\230\262?\205\304\211\207" [coding-system-for-read "Binary files differ" decode-coding-string t undecided] 6])
(autoload 'vc-switches "vc")
#@112 Get a difference report using Git between two revisions of FILES.

(fn FILES &optional REV1 REV2 BUFFER ASYNC)
(defalias 'vc-git-diff #[1281 "\302\303\304 \210\203\204\305\262\202\306\262\204\307\262	\203E\310\311\206*\312\313\n\314\315\316\317\320\"\321\206;\307\322F\"&\202c\311\206K\312\313	\323\314\324\325\326\327\330\316\302\320\"\331#P\322&)\207" [process-file-side-effects vc-git-diff-switches nil "diff-tree" vc-git--asciify-coding-system "4b825dc642cb6eb9a060e54bf8d69288fbee4904" "diff-index" "HEAD" apply vc-git-command "*vc-diff*" 1 "--exit-code" append vc-switches git diff "-p" "--" "difftool" "--no-prompt" "-x" "diff " mapconcat identity " "] 21 (#$ . 61475)])
#@14 

(fn FILES)
(defalias 'vc-git-revision-table #[257 "\301\302C\303\304!r\211q\210\305\306\307\310\311!\312\"\313$\216\314\315\301\211\316\317%\210eb\210\320\321\301\315#\2035\322\313!B\262\202#*\210)\207" [process-file-side-effects nil "HEAD" generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 vc-git-command t "for-each-ref" "--format=%(refname)" re-search-forward "^refs/\\(heads\\|tags\\|remotes\\)/\\(.*\\)$" match-string] 10 (#$ . 62195)])
#@14 

(fn FILES)
(defalias 'vc-git-revision-completion-table #[257 "\300C\211\301\302\303\304\305\306\"\307\"\310\311%\312\"\240\210\211\242\207" [nil completion-table-dynamic make-byte-code 257 "\302\301\242!\203\301\303\304\305\306\307\300!\310\"\311$ \240\210\301\242\207" vconcat vector [functionp make-byte-code 0 "\301\300!\207" vconcat vector [vc-git-revision-table] 2] 8 "\n\n(fn STRING)" do-switch-buffer] 11 (#$ . 62723)])
#@31 

(fn FILE BUF &optional REV)
(defalias 'vc-git-annotate-command #[770 "\300 \210\301!\302\303\304\305\306\307\310\311\312\313\"\n\314E\"&\207" [vc-git--asciify-coding-system file-relative-name apply vc-git-command async nil "blame" "--date=short" append vc-switches git annotate "--"] 16 (#$ . 63164)])
(defalias 'vc-git-annotate-time #[0 "\300\301\302\303#\205\304\305\306\307\310\311\"\"!\207" [re-search-forward "^[0-9a-f^]+[^()]+(.*?\\([0-9]+\\)-\\([0-9]+\\)-\\([0-9]+\\) \\(:?\\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\) \\([-+0-9]+\\)\\)? *[0-9]+) " nil t vc-annotate-convert-time apply encode-time mapcar #[257 "\211\224\203\300\301!!\207\302\207" [string-to-number match-string 0] 4 "\n\n(fn MATCH)"] (6 5 4 3 2 1 7)] 6])
(defalias 'vc-git-annotate-extract-revision-at-line #[0 "\212\301 \210\302\303!\2054\304\305!\306\224\2031\304\307!\310\311\"\203$\312\313\211\224#\262\314\315!\"B\262\2022\211\262)\207" [default-directory beginning-of-line looking-at "\\^?\\([0-9a-f]+\\) \\(\\([^(]+\\) \\)?" match-string-no-properties 1 2 3 string-match " +\\'" substring 0 expand-file-name vc-git-root] 7])
#@25 

(fn DIR NAME BRANCHP)
(defalias 'vc-git-create-tag #[771 "\301\302\303\302\304\305%\205%\211\203\301\302\303\302\306\307&\202%\301\302\303\302\310%)\207" [default-directory vc-git-command nil 0 "update-index" "--refresh" "checkout" "-b" "tag"] 10 (#$ . 64295)])
#@24 

(fn DIR NAME UPDATE)
(defalias 'vc-git-retrieve-tag #[771 "\301\302\303\302\304%)\207" [default-directory vc-git-command nil 0 "checkout"] 9 (#$ . 64576)])
#@64 Git-specific version of `vc-previous-revision'.

(fn FILE REV)
(defalias 'vc-git-previous-revision #[514 "\203J\300!\301\302!r\211q\210\303\304\305\306\307!\310\"\311$\216\312\313\314\315%\205?db\205?n\205?\316y\304U\205?o?\205?\317`dS\"*\262\320!\206I\211\207\321\322P!\207" [file-relative-name generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 vc-git--out-ok "rev-list" "-2" "--" -1 buffer-substring-no-properties vc-git-symbolic-commit vc-git--rev-parse "~1"] 10 (#$ . 64744)])
#@12 

(fn REV)
(defalias 'vc-git--rev-parse #[257 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311\312\"\205 \313ee\314\\\"*\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 vc-git--out-ok "rev-parse" buffer-substring-no-properties 40] 8 (#$ . 65318)])
#@60 Git-specific version of `vc-next-revision'.

(fn FILE REV)
(defalias 'vc-git-next-revision #[514 "\301!\302!\303\304!r\211q\210\305\306\307\310\311!\312\"\313$\216\314\315\316\317%\205>db\205>n\205>\320y\306U\205>o\205>\321`dS\"*\262\211\205\201\303\304!r\211q\210\305\306\307\310\311!\322\"\313$\216\314\315\323\317$\205~eb\205~\324\325\326#\205~\320y\306U\205~\321`\327y\210`S\"*\262\330!\206\210\211)\207" [default-directory vc-git-root file-relative-name generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 vc-git--out-ok "rev-list" "-1" "--" -1 buffer-substring-no-properties [buffer-name kill-buffer] "HEAD" search-forward nil t 1 vc-git-symbolic-commit] 11 (#$ . 65666)])
#@13 

(fn FILE)
(defalias 'vc-git-delete-file #[257 "\300\301\302\303\304\305&\207" [vc-git-command nil 0 "rm" "-f" "--"] 8 (#$ . 66445)])
#@16 

(fn OLD NEW)
(defalias 'vc-git-rename-file #[514 "\300\301\302D\303\304\305&\207" [vc-git-command nil 0 "mv" "-f" "--"] 9 (#$ . 66588)])
(defvar vc-git-extra-menu-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\211\207" [make-sparse-keymap define-key [git-grep] (menu-item "Git grep..." vc-git-grep :help "Run the `git grep' command") [git-ds] (menu-item "Delete Stash..." vc-git-stash-delete :help "Delete a stash") [git-sn] (menu-item "Stash a Snapshot" vc-git-stash-snapshot :help "Stash the current state of the tree and keep the current state") [git-st] (menu-item "Create Stash..." vc-git-stash :help "Stash away changes") [git-ss] (menu-item "Show Stash..." vc-git-stash-show :help "Show stash contents")] 5))
(defalias 'vc-git-extra-menu #[0 "\207" [vc-git-extra-menu-map] 1])
(defalias 'vc-git-extra-status-menu #[0 "\207" [vc-git-extra-menu-map] 1])
#@13 

(fn FILE)
(defalias 'vc-git-root #[257 "\300\301\"\206\302\301\303\304\"#\207" [vc-file-getprop git-root vc-file-setprop vc-find-root ".git"] 7 (#$ . 67525)])
#@868 Run git grep, searching for REGEXP in FILES in directory DIR.
The search is limited to file names matching shell pattern FILES.
FILES may use abbreviations defined in `grep-files-aliases', e.g.
entering `ch' is equivalent to `*.[ch]'.  As whitespace triggers
completion when entering a pattern, including it requires
quoting, e.g. `\[quoted-insert]<space>'.

With \[universal-argument] prefix, you can edit the constructed shell command line
before it is executed.
With two \[universal-argument] prefixes, directly edit and run `grep-command'.

Collect output in a buffer.  While git grep runs asynchronously, you
can use \[next-error] (M-x next-error), or \<grep-mode-map>\[compile-goto-error] in the grep output buffer,
to go to the lines where grep found matches.

This command shares argument histories with \[rgrep] and \[grep].

(fn REGEXP &optional FILES DIR)
(defalias 'vc-git-grep #[769 "\305\306!\210;\205rG\307V\205r\211\203\310!\204\262\204.\211\311\230\203W\312\262\202W\313\314!!\262\315	#\262\211\203W\n\316\232\203R\317\320\312\211\321%\262\202W\322\321\"\210\211\205p\323B\324\325\"\210*\fp=\205p\211\262\207" [default-directory vc-git-grep-template current-prefix-arg compilation-environment next-error-last-buffer require grep 0 file-accessible-directory-p "git grep" nil file-name-as-directory expand-file-name grep-expand-template (4) read-from-minibuffer "Confirm: " grep-history add-to-history "PAGER=" compilation-start grep-mode] 10 (#$ . 67698) (byte-code "\302 \210\303\232\203\304\305\306\307\211\310%C\207\311 \312\313\314\315!!\316#\317\320\307	\321$E\207" [current-prefix-arg default-directory grep-compute-defaults (16) read-from-minibuffer "Run: " "git grep" nil grep-history grep-read-regexp mapconcat shell-quote-argument split-string grep-read-files " " read-directory-name "In directory: " t] 7)])
(autoload 'vc-dir-marked-files "vc-dir")
#@48 Create a stash given the name NAME.

(fn NAME)
(defalias 'vc-git-stash #[257 "\301!\211\205\302\303\304\305\306\307\310\311!\205\312 &\210\313\314\211#\207" [default-directory vc-git-root apply vc-git--call nil "stash" "push" "-m" derived-mode-p vc-dir-mode vc-dir-marked-files vc-resynch-buffer t] 11 (#$ . 69625) "sStash name: "])
#@34 History for `vc-git-stash-read'.
(defvar vc-git-stash-read-history nil (#$ . 69973))
#@68 Read a Git stash.  PROMPT is a string to prompt with.

(fn PROMPT)
(defalias 'vc-git-stash-read #[257 "\300\301\302\303\304\305#\206\f\306\307\"\303\310\303\311&\211\306\230\203 \312\313!\202)\314\315\"\210\316\317\"\207" [completing-read split-string vc-git--run-command-string nil "stash" "list" "" "\n" :require-match vc-git-stash-read-history user-error "Not a stash" string-match "^stash@{[[:digit:]]+}" match-string 0] 8 (#$ . 70064)])
#@45 Show the contents of stash NAME.

(fn NAME)
(defalias 'vc-git-stash-show #[257 "\301\302!\210\303\302\304\305\306\307\310&\210\302q\210\311 \210\312\313p!\207" [buffer-read-only vc-setup-buffer "*vc-git-stash*" vc-git-command async nil "stash" "show" "-p" diff-mode t pop-to-buffer] 9 (#$ . 70519) (byte-code "\300\301!C\207" [vc-git-stash-read "Show stash: "] 2)])
#@30 Apply stash NAME.

(fn NAME)
(defalias 'vc-git-stash-apply #[257 "\301\302\303\304\305\306\307&\210\310\311!\312\211#\207" [default-directory vc-git-command "*vc-git-stash*" 0 nil "stash" "apply" "-q" vc-resynch-buffer vc-git-root t] 9 (#$ . 70895) (byte-code "\300\301!C\207" [vc-git-stash-read "Apply stash: "] 2)])
#@28 Pop stash NAME.

(fn NAME)
(defalias 'vc-git-stash-pop #[257 "\301\302\303\304\305\306\307&\210\310\311!\312\211#\207" [default-directory vc-git-command "*vc-git-stash*" 0 nil "stash" "pop" "-q" vc-resynch-buffer vc-git-root t] 9 (#$ . 71223) (byte-code "\300\301!C\207" [vc-git-stash-read "Pop stash: "] 2)])
#@31 Delete stash NAME.

(fn NAME)
(defalias 'vc-git-stash-delete #[257 "\301\302\303\304\305\306\307&\210\310\311!\312\211#\207" [default-directory vc-git-command "*vc-git-stash*" 0 nil "stash" "drop" "-q" vc-resynch-buffer vc-git-root t] 9 (#$ . 71543) (byte-code "\300\301!C\207" [vc-git-stash-read "Delete stash: "] 2)])
#@45 Create a stash with the current tree state.
(defalias 'vc-git-stash-snapshot #[0 "\301\302\303\304\305\306!$\210\307\310\311\302\303\312\313\314&\210\315\316!\317\211#\207" [default-directory vc-git--call nil "stash" "save" format-time-string "Snapshot on %Y-%m-%d at %H:%M" vc-git-command "*vc-git-stash*" 0 "apply" "-q" "stash@{0}" vc-resynch-buffer vc-git-root t] 8 (#$ . 71873) nil])
(defalias 'vc-git-stash-list #[0 "\300\301\302\303\304\305\306\307\310\311##\312\"\"\207" [delete "" split-string replace-regexp-in-string "^stash@" "             " vc-git--run-command-string nil "stash" "list" "\n"] 10])
#@14 

(fn POINT)
(defalias 'vc-git-stash-get-at-point #[257 "\212\211b\210\300 \210\301\302!\203\303\304!\202\305\306!)\207" [beginning-of-line looking-at "^ +\\({[0-9]+}\\):" match-string 1 error "Cannot find stash at point"] 3 (#$ . 72491)])
#@28 Delete the stash at point.
(defalias 'vc-git-stash-delete-at-point #[0 "\300`!\301\302\303\"!\205\304\305\306\307\302\310\"$\210\311 \207" [vc-git-stash-get-at-point y-or-n-p format "Remove stash %s ? " vc-git--run-command-string nil "stash" "drop" "stash@%s" vc-dir-refresh] 8 (#$ . 72741) nil])
#@26 Show the stash at point.
(defalias 'vc-git-stash-show-at-point #[0 "\300\301\302\303`!\"!\207" [vc-git-stash-show format "stash@%s" vc-git-stash-get-at-point] 5 (#$ . 73049) nil])
#@27 Apply the stash at point.
(defalias 'vc-git-stash-apply-at-point #[0 "\301\302\303\304\305`!\"!\210)\306 \207" [vc-dir-buffers nil vc-git-stash-apply format "stash@%s" vc-git-stash-get-at-point vc-dir-refresh] 5 (#$ . 73235) nil])
#@25 Pop the stash at point.
(defalias 'vc-git-stash-pop-at-point #[0 "\301\302\303\304\305`!\"!\210)\306 \207" [vc-dir-buffers nil vc-git-stash-pop format "stash@%s" vc-git-stash-get-at-point vc-dir-refresh] 5 (#$ . 73473) nil])
#@10 

(fn E)
(defalias 'vc-git-stash-menu #[257 "\212\211\301\232\204\302!\303\211@\262!q\210\304!b\266\305\")\207" [vc-git-stash-menu-map (tool-bar) event-start window-buffer posn-point popup-menu] 5 (#$ . 73705) "e"])
#@190 A wrapper around `vc-do-command' for use in vc-git.el.
The difference to vc-do-command is that this function always invokes
`vc-git-program'.

(fn BUFFER OKSTATUS FILE-OR-LIST &rest FLAGS)
(defalias 'vc-git-command #[899 "\206	\n\206\n\306\307\f\205\310B
\"\311\312\206\313\243?\205E\242\2060\211\205C\211GSH\314=\205C\211\315!\232\262?\205K\316B&+\207" [coding-system-for-read vc-git-log-output-coding-system coding-system-for-write vc-git-commits-coding-system revert-buffer-in-progress-p process-environment append "GIT_DIR" ("GIT_OPTIONAL_LOCKS=0") apply vc-do-command "*vc*" 47 vc-git-root "--no-pager" vc-git-program] 13 (#$ . 73937)])
#@52 Check if the git db is empty (no commit done yet).
(defalias 'vc-git--empty-db-p #[0 "\301\302\301\303\304\305$)\306=?\207" [process-file-side-effects nil vc-git--call "rev-parse" "--verify" "HEAD" 0] 5 (#$ . 74620)])
#@34 

(fn BUFFER COMMAND &rest ARGS)
(defalias 'vc-git--call #[642 "\306\206	\n\206\307\310\f\205\311B
\"\312\313\314\314\315&,\207" [coding-system-for-read vc-git-log-output-coding-system coding-system-for-write vc-git-commits-coding-system revert-buffer-in-progress-p process-environment t append "GIT_DIR" ("GIT_OPTIONAL_LOCKS=0") apply process-file nil "--no-pager" inhibit-nul-byte-detection vc-git-program] 12 (#$ . 74845)])
#@27 

(fn COMMAND &rest ARGS)
(defalias 'vc-git--out-ok #[385 "\300\301\302$\303U\207" [apply vc-git--call (t nil) 0] 7 (#$ . 75300)])
#@99 Run a git command on FILE and return its output as string.
FILE can be nil.

(fn FILE &rest ARGS)
(defalias 'vc-git--run-command-string #[385 "\301\302\303!\304\216rq\210\305\306\203\307\310!C\"\202\"\204&\311\262*rq\210\312 +\2053\211\207" [standard-output t generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] apply vc-git--out-ok append file-relative-name nil buffer-string] 9 (#$ . 75439)])
#@87 Translate COMMIT string into symbolic form.
Returns nil if not possible.

(fn COMMIT)
(defalias 'vc-git-symbolic-commit #[257 "\211\205E\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311\312\313#\2054eb\2054\310y\314U\2054n\2054\315edS\"*\262\211\205C\211\316\230?\205C\211\262\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 vc-git--out-ok "name-rev" "--name-only" 1 buffer-substring-no-properties "undefined"] 8 (#$ . 75895)])
(provide 'vc-git)

Zerion Mini Shell 1.0