403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.216.141
Web Server : Apache
System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64
User : sws1073854427 ( 1073854427)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/share/emacs/28.2/lisp/vc/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/28.2/lisp/vc/vc-git.elc
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312&\210\313\314\315\316\317DD\320\321\322\307\323&\210\313\324\315\316\325DD\326\321\327\307\330&\210\313\331\315\316\332DD\333\321\334\307\335&\210\313\336\315\316\337DD\340\321\341\307\330&\210\313\342\315\316\343DD\344\307\310\321\345&\210\313\346\315\316\347DD\350\321\351\307\310&\210\313\352\315\316\353DD\354\321\355\307\330&\210\313\356\315\316\357DD\360\321\361\307\330&\210\313\362\315\316\363DD\364\321\345\307\365&\210\313\366\315\316\367DD\370\321\371\307\365&\210\313\372\315\316\373DD\374\321\375\307\335&\207" [require cl-lib vc-dispatcher 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 #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 #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-log-switches #[0 "\300\207" [nil] 1 #1#] "String or list of strings specifying switches for Git log under VC." (choice (const :tag "None" nil) (string :tag "Argument String") (repeat :tag "Argument List" :value (#1#) string)) "28.1" vc-git-resolve-conflicts #[0 "\300\207" [t] 1 #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" ["git"] 1 #1#] "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 #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 regexp (repeat sexp)) vc-git-commits-coding-system #[0 "\300\207" [utf-8] 1 #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 #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" ["git --no-pager grep -n <C> -e <R> -- <F>"] 1 #1#] "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 #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)))) vc-git-revision-complete-only-branches #[0 "\300\207" [nil] 1 #1#] "Control whether tags are returned by revision completion for Git.\n\nWhen non-nil, only branches and remotes will be returned by\n`vc-git-revision-completion-table'.  This is used by various VC\ncommands when completing branch names.  When nil, tags are also\nincluded in the completions." boolean] 8)
(defvar vc-git-history nil)
#@109 Non-nil to treat pathspecs in commands literally.
Good example of file name that needs this: "test[56].xx".
(defvar vc-git-use-literal-pathspecs t (#$ . 4798))
(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 (#$ . 5064)])
(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\205e\302\303\304\"r\211q\210\305\306\"\216\307\310\"\3111A\312!\210\313\314\315\316\317%\210ed=\203;\313\320\321\316\322\317&\210\323 0\202I\324\325\"\210\307\262\211\205_\211GGV\205_\211\326GTO\327P\230)\266\202*\262\207" [process-file-side-effects vc-git-root generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] nil file-relative-name (debug error) cd vc-git--out-ok "ls-files" "-c" "-z" "--" "ls-tree" "--name-only" "HEAD" buffer-string message "Error: %S" 0 ""] 11 (#$ . 5226)])
#@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\207\303\207\304\207\302\207\302\207\305\207" [string-to-char #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (77 9 65 11 68 13 85 15 84 17)) edited added removed nil] 4 (#$ . 5898)])
(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\207\211\242\243\211\204y\302\267\202%\266\303\207\266\304\207\266\305\207\306\307\310\311#)\266\203\2039\266\305\207\312\307\310\311#)\266\203\203M\266\313\207\314\307\310\311#)\266\203\203a\266\315\207\316\307\310\311#)\266\203\203u\266\317\207\266\313\207\320\232\203\203\266\304\207\266\313\207\211\320\232\203\217\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 ("!!" 25 "??" 29 "AD" 33)) ignored unregistered removed "^[ RD]+$" nil t string-match "^[ M]+$" edited "^[ A]+$" added "^[ U]+$" conflict ("D " "??")] 10 (#$ . 6580)])
#@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\207\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 "\211\300\301O\207" [0 2] 4 "\n\n(fn S)"] split-string "" t] 10 (#$ . 7553)])
#@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 (#$ . 8046)])
#@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 (#$ . 8246)])
#@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\211\205\211\303\304O\305\301\"\306\303\307#\306\303\310#\311\303\312OP\310\307\313Q%\207" [vc-working-revision Git vc-git--symbolic-ref 0 7 vc-default-mode-line-string get-text-property help-echo face propertize 4 "\nCurrent revision: "] 14 (#$ . 8614)])
#@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 (#$ . 9033)])
(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 (#$ . 9433)])
(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 (#$ . 9751)])
(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 (#$ . 10247)])
(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 (#$ . 10649)])
(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 (#$ . 11146)])
(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 (#$ . 11548)])
(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 (#$ . 12065)])
(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 (#$ . 12479)])
(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 (#$ . 12981)])
(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 (#$ . 13387)])
(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 (#$ . 14277)])
(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 (#$ . 14992)])
(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 (#$ . 15515)])
(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)
#@47 Escape filename 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 eq 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 (#$ . 16067)])
#@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\203t\323\324\325#\207\326=\203|\327\207\330\207" [ash 0 -9 #s(hash-table size 5 test eq 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 eq 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 eq 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 eq 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 eq 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 (#$ . 16510)])
#@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\203M\306\307\310=\203&\311\2021\312=\2030\313\2021\314\315\301!>\204C\302\303\304D\"\210\316H!\317R\320\321#\207\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 (#$ . 17881)])
#@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 vc-dir-header] 8 (#$ . 18488)])
#@62 Pretty-printer for the vc-dir-fileinfo structure.

(fn INFO)
(defalias 'vc-git-dir-printer #[257 "\3038\211\203\304\202A@\3058\211\205'\306!>\204$\307\310\311D\"\210\211\312H\205=\306!>\204:\307\310\311D\"\210\305H\313\314\315\316\317\n8\203L\320\202M\321\"\322\323#\313\314\315\324	\"\322	\325\267\202l\326\202m\327\202m\330\202m\331\332\333\334	&\313\335\"\336\314\337@!\322\203\213\340\202\214\341\342\203\226\343\202\227\344\334\n\332\333&	\345\n\n\"\346

\"\261\n\207" [cl-struct-vc-git-extra-fileinfo-tags vc-dir-status-mouse-map 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 vc-dir-mark-indicator "%-12s" #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (up-to-date 96 missing 100 conflict 100 ignored 104)) vc-dir-status-up-to-date vc-dir-status-warning vc-dir-status-ignored vc-dir-status-edited mouse-face highlight keymap vc-git-permissions-as-string "    " vc-git-escape-file-name vc-dir-directory vc-dir-file help-echo "Directory\nVC operations can be applied to it\nmouse-3: Pop-up menu" "File\nmouse-3: Pop-up menu" vc-git-file-type-as-string vc-git-rename-as-string] 23 (#$ . 18794)])
#@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 (#$ . 20071)])
(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 (#$ . 20484)])
(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 (#$ . 20811)])
(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 (#$ . 21307)])
(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 (#$ . 21710)])
(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 (#$ . 22206)])
(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 (#$ . 22609)])
(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 (#$ . 23155)])
(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 (#$ . 23588)])
(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 (#$ . 24079)])
(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 (#$ . 24480)])
(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 (#$ . 25381)])
(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\307\310\302!>\204A\303\304\305\nD\"\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] 12 (#$ . 26259)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put vc-git-dir-status-update-file speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@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\210\202\311 \2038\312\2029\313\262\210\202\314\262\315\316\301\317#\203~\320\321\307!\322\"\321\306!\323\324\325\326\301\211%\327D\302!>\204t\303\304\305	D\"\210\330H#\210\302!>\204\212\303\304\305D\"\210\306\331\302!>\204\237\303\304\305\nD\"\210\306H\"I\266\202B\210\202\314\262\315\332\301\317#\203~\320\321\307!\322\"\321\306!\321\333!\324\325\211\301\211%\334\232\203>\335\302\n!>\204\345\303\304\305\fD\"\210	\330H\"\204\214\336\327D\302!>\204\303\304\305	D\"\210\330H#\210\302!>\204\303\304\305D\"\210\306\331\302!>\2043\303\304\305\nD\"\210\306H\"I\266	\202\261\337\327D\302!>\204Y\303\304\305	D\"\210\330H#\210\302!>\204o\303\304\305D\"\210\306\331\302!>\204\204\303\304\305\nD\"\210\306H\"I\266\266\202\261\210\202\314\262\315\340\301\317#\203~\320\321\307!\322\"\321\306!\337\324\325\211\301\211%\327D\302!>\204\312\303\304\305	D\"\210\330H#\210\302!>\204\340\303\304\305D\"\210\306\331\302!>\204\365\303\304\305\nD\"\210\306H\"I\266\202\230\210\202\203\341\262\315\342\301\317\307$\203~\321\307!\343\324\325\326\211\301\211%\327D\302!>\2046\303\304\305	D\"\210\330H#\210\302!>\204L\303\304\305D\"\210\306\331\302!>\204a\303\304\305\nD\"\210\306H\"I\266\202\210\202\315\342\301\317\307$\203~\321\307!\344\324\325\326\211\301\211%\327D\302!>\204\233\303\304\305	D\"\210\330H#\210\302!>\204\261\303\304\305D\"\210\306\331\302!>\204\306\303\304\305\nD\"\210\306H\"I\266\202p\210\202\203\335\345\202\336\346\262\315\347\301\317\307$\203~\320\321\307!\322\"\320\321\306!\322\"\321\330!\206\376\321\350!\321\351!\206\321\352!\321\322!\211\203\353!\354=\203p\323\324\325		\355	%\327D\302!>\204:\303\304\305	D\"\210\330H#\210\302!>\204P\303\304\305D\"\210\306\331\302!>\204e\303\304\305\nD\"\210\306H\"I\266\n\202\340\356\324\325\326\211\357%\327D\302!>\204\222\303\304\305	D\"\210\330H#\210\302!>\204\250\303\304\305D\"\210\306\331\302!>\204\275\303\304\305\nD\"\210\306H\"I\266\323\324\325		\357	%\327D\302!>\204\351\303\304\305	D\"\210\330H#\210\302!>\204\377\303\304\305D\"\210\306\331\302!>\204\303\304\305\nD\"\210\306H\"I\266\n\202\340\360!\324\325		\301\211%\327D\302!>\204D\303\304\305	D\"\210\330H#\210\302!>\204Z\303\304\305D\"\210\306\331\302!>\204o\303\304\305\nD\"\210\306H\"I\266\n\202\340\210\202\210\211\203\233\302!>\204\222\303\304\305D\"\210\306H\204\233\301\262\302!>\204\252\303\304\305D\"\210\307I\210\302!>\204\276\303\304\305D\"\210\306I\210\203\313\361!\207\302!>\204\332\303\304\305D\"\210\333H\301C\362\363\364\"\302!>\204\365\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 47 ls-files-added 63 ls-files-up-to-date 174 ls-files-conflict 405 ls-files-unknown 516 ls-files-ignored 624 diff-index 725)) 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-closure #[514 "\300B\300\242B\240\207" [V0] 5 "\n\n(fn KEY VALUE)"]] 21 (#$ . 26803)])
#@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\210\202\260\203@\311p\312\313\314\315&\266\202\260\311p\312\316\317\314%\266\202\260\311p\312\320\321\322\323\315&\266\202\260\311p\312\320\321\322\323\315&\266\202\260\311p\312\320\321\324\315&\266\202\260\311p\312\320\321\325\326\315&\266\202\260\311p\312\320\321\325\327\330\331\326\315&\266\202\260\311p\312\332\333\321\334\335\315&	\266\202\260\210\336\337\340\"!\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 46 ls-files-added 76 ls-files-up-to-date 92 ls-files-conflict 108 ls-files-unknown 123 ls-files-ignored 139 diff-index 158)) 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-closure #[0 "\301\300!\207" [V0 vc-git-after-dir-status-stage] 2]] 15 (#$ . 31071)])
#@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 (#$ . 32297)])
(defvar vc-git-stash-shared-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\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\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\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 (#$ . 33874)])
#@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 (#$ . 34208)])
(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\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 "\305\306\307\"\310\216rq\210\311\312\313\"\210*rq\210\314 +\315 \316\211\211\211\211\317\320	\"\203q\321\322	\"\262\305\306\307\"\323\216rq\210\311\324\325\326Q\"\210*rq\210\314 +\262\317\327\"\203`\321\330\"\262G\331V\203t\332	\"\262\202t\333\262\203\341G\n\250\203\207\n^\202\210\211\334	\331#\334\n\"\n\307=\206\234\nX\211\203\250\335\316\211#\202\256\335\307\n#\262\205\307\336\337\340#\341\342\343\"\336\337\340##P\205\336\336\337\344\307\340\307%\341\345\336\337\344\307\340\307%#PP\266\206\336\346\347\350#\336\347\351#\205\375\337\336\352\347\350#\336\347\351#Q\353\354\355\356!\"!\205\336\357\347\360#\353\354\361\356!\"!\205\336\362\347\360#\2031\336\363\347\350#Q\202A\336\363\347\350#\336\364\365\366\f\347\351&P\260)\207" [standard-output default-directory vc-git-show-stash vc-git-stash-shared-help vc-git-stash-shared-map generate-new-buffer " *string-output*" t #[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 vc-git-repository-url "not (detached HEAD)" cl-subseq vc-git-make-stash-button propertize "\n" vc-git-hideable mapconcat make-closure #[257 "\303\304\305\306\307\310\300\311	\312\n&\207" [V0 vc-git-stash-list-help vc-git-stash-map propertize face vc-dir-header-value 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 vc-dir-header-value mouse-face highlight invisible t vc-git-hideable help-echo keymap] 15 "\n\n(fn X)"] "Branch     : " face vc-dir-header vc-dir-header-value "Remote     : " file-exists-p expand-file-name ".git/BISECT_START" vc-git-root "\nBisect     : in progress" vc-dir-status-warning ".git/rebase-apply" "\nRebase     : in progress" "\nStash      : " "Nothing stashed" help-echo keymap] 25 (#$ . 35588)])
#@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\302\"r\211q\210\303\304\"\216\305\302\306\"\210eb\210\307\211m\204>\310\311!\2038\312\313!\314\230\2031\312\315!\262\2028\312\315!B\262\313y\210\202\237B\266\202*\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] vc-git--call "branch" nil looking-at "^\\([ *]\\) \\(.+\\)$" match-string 1 "*" 2] 5 (#$ . 37772)])
#@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 (#$ . 38307)])
#@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 (#$ . 38451)])
(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 (#$ . 38867)])
#@78 Toggle whether to add the "Signed-off-by" line at the end of commit message.
(defalias 'vc-git-log-edit-toggle-signoff #[0 "\300\301\302\"\207" [log-edit-toggle-header "Sign-Off" "yes"] 3 (#$ . 39024) 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 (#$ . 39237) 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\"\304\216\305\306\307\310\311\312\313&\210)rq\210\314 +\207" [standard-output generate-new-buffer " *string-output*" t #[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 (#$ . 39439) nil])
(defvar vc-git-log-edit-mode-map (byte-code "\300\301!\302\303\304#\210\302\305\306#\210\302\307\310#\210\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 (#$ . 41490) 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\"\207" [make-closure #[257 "\211\301\232\205\300C\207" [V0 "yes"] 3 "\n\n(fn VALUE)"]] 4 "\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 (#$ . 42579)])
#@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 \211\316\317O\262\320\316\304\321\322\2032\2023\323\324Q&+\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 0 -1 vc-git-command "cat-file" "blob" "HEAD" ":"] 14 (#$ . 43659)])
#@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 (#$ . 44143)])
#@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 (#$ . 44332)])
#@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 (#$ . 44492)])
#@64 Value of `compilation-error-regexp-alist' in *vc-git* buffers.
(defvar vc-git-error-regexp-alist '(("^ \\(.+\\)\\> *|" 1 nil nil 0)) (#$ . 44807))
#@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&!\210)\325!\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-closure #[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\302\"\316F\211
\207" [V0 V1 V2 V3 V4 compile-command vc-compilation-mode git make-local-variable " " mapconcat identity compilation-directory compilation-arguments nil make-closure #[257 "\300\207" [V0] 2 "\n\n(fn NAME-OF-MODE)"]] 8] vc-set-async-update] 16 (#$ . 44961)])
#@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 (#$ . 46090)])
#@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 (#$ . 46346)])
#@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 (#$ . 46594)])
#@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\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 (#$ . 47204)])
#@42 

(fn FILE-OR-DIR &optional REMOTE-NAME)
(defalias 'vc-git-repository-url #[513 "\301!\302\303\304\"r\211q\210\305\306\"\216\307p\310\311\312\313\206\314&\210\315edS\"*\262)\207" [default-directory vc-git-root generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] vc-git-command 0 nil "remote" "get-url" "origin" buffer-substring-no-properties] 10 (#$ . 47730)])
(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 (#$ . 48212)])
#@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 (#$ . 48794)])
(byte-code "\300\301\302\"\210\303\304\305\306\307DD\310\311\312\313\314&\210\300\315\316\"\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" vc-switches "vc"] 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
\n\247\205T\325\322\326
\"D\f\205|\203y\247\204y\f\327
\330\232\203r\331\202t
QC\202|\fC\332=\205\205\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-git-log-switches 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" ("--") vc-log-view-type] 20 (#$ . 49576)])
#@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 (#$ . 50764)])
#@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 (#$ . 51152)])
#@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 (#$ . 51578)])
#@28 

(fn REV1 &optional REV2)
(defalias 'vc-git-mergebase #[513 "\211\204\300\262\301\302\303$\211\203\304!\207\305\306!\207" ["HEAD" vc-git--run-command-string nil "merge-base" string-trim-right error "No common ancestor for merge base"] 7 (#$ . 52298)])
(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:   \\|AuthorDate: \\)\\(.+\\)" (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 (#$ . 53840) 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 (#$ . 56503)])
#@17 

(fn REVISION)
(defalias 'vc-git-expanded-log-entry #[257 "\300\301\302\"r\211q\210\303\304\"\216\305\306\302\307\211\310\311\312\313\257%\210eb\210m?\2058\314\315\307\302#\2036\316\317!\210\307y\210\202$\320 *\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] apply vc-git-command nil "log" "-1" "--no-color" "--" re-search-forward "^  " replace-match "" buffer-string] 12 (#$ . 56978)])
#@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\302\"r\211q\210\303\304\"\216\305\306\307C\310\311p&\210eb\210\312\311\211\313\314\311\302#\203t\315\316\317!!\315\316\320!!\315\316\321!!\315\316\322!!Z\232\204H\323\324!\210\204W\nV\203W\262\204f	V\203f\262\\\\Z\262\266\202\206zZ\262\206\203Z\262\266*\210\325\326\311\327\330\331\332		\333!$&\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] vc-call-backend git diff "HEAD" nil 0 re-search-forward "^@@ -\\([0-9]+\\),\\([0-9]+\\) \\+\\([0-9]+\\),\\([0-9]+\\) @@" string-to-number match-string 1 2 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 (#$ . 57450)])
(require 'diff-mode)
(defvar vc-git-region-history-mode-map (byte-code "\302\303\302	D!\"\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 (#$ . 58743)])
(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 (#$ . 60637) nil])
(defalias 'vc-git--asciify-coding-system #[0 "\301\302\303#\302\230?\205\304\211\207" [coding-system-for-read decode-coding-string "Binary files differ" t undecided] 4])
#@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 (#$ . 62092)])
#@14 

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

(fn FILES)
(defalias 'vc-git-revision-completion-table #[257 "\300C\211\301\302\303#\304\"\240\210\211\242\207" [nil completion-table-dynamic make-closure #[257 "\302\301\242!\203
\301\303\300!\240\210\301\242\207" [V0 V1 functionp vc-git-revision-table] 4 "\n\n(fn STRING)"] do-switch-buffer] 8 (#$ . 63415)])
#@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 (#$ . 63737)])
(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!\2053\304\305!\306\224\2030\304\307!\310\311\"\203#\211\312\211\224O\262\313\314!\"B\262\2021\211\262)\207" [default-directory beginning-of-line looking-at "\\^?\\([0-9a-f]+\\) \\(\\([^(]+\\) \\)?" match-string-no-properties 1 2 3 string-match " +\\'" 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 (#$ . 64857)])
#@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 (#$ . 65138)])
#@64 Git-specific version of `vc-previous-revision'.

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

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

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

(fn FILE)
(defalias 'vc-git-delete-file #[257 "\300\301\302\303\304\305&\207" [vc-git-command nil 0 "rm" "-f" "--"] 8 (#$ . 66949)])
#@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 (#$ . 67092)])
#@14 

(fn FILES)
(defalias 'vc-git-mark-resolved #[257 "\300\301\302\303$\207" [vc-git-command nil 0 "add"] 6 (#$ . 67240)])
(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\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\"\207" [vc-find-root ".git"] 4 (#$ . 68153)])
#@866 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] (`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.\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 (#$ . 68258) (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 (#$ . 70180) "sStash name: "])
#@34 History for `vc-git-stash-read'.
(defvar vc-git-stash-read-history nil (#$ . 70528))
#@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!\207\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 (#$ . 70619)])
#@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 (#$ . 71072) (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 (#$ . 71448) (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 (#$ . 71776) (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 (#$ . 72096) (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 (#$ . 72426) nil])
(defalias 'vc-git-stash-list #[0 "\300\301\302\303#\211\205\304\305\306\307\310\311#\312\"\"\207" [vc-git--run-command-string nil "stash" "list" delete "" split-string replace-regexp-in-string "^stash@" "             " "\n"] 8])
#@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 (#$ . 73055)])
#@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 (#$ . 73305) 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 (#$ . 73613) 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 (#$ . 73799) 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 (#$ . 74037) 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 (#$ . 74269) "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\306\f\205\310
\205\311\"B\"\312\313\206'\314\315!?\2054\316B&+\207" [coding-system-for-read vc-git-log-output-coding-system coding-system-for-write vc-git-commits-coding-system vc-git-use-literal-pathspecs revert-buffer-in-progress-p append "GIT_DIR" ("GIT_LITERAL_PATHSPECS=1") ("GIT_OPTIONAL_LOCKS=0") apply vc-do-command "*vc*" vc-git--file-list-is-rootdir "--no-pager" process-environment vc-git-program] 12 (#$ . 74501)])
#@21 

(fn FILE-OR-LIST)
(defalias 'vc-git--file-list-is-rootdir #[257 "\211\243?\205!\211\242\206\f\211\211\205\211GSH\300=\205\211\301!\232\262\207" [47 vc-git-root] 5 (#$ . 75206)])
#@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 (#$ . 75401)])
#@34 

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

(fn COMMAND &rest ARGS)
(defalias 'vc-git--out-ok #[385 "\300\301\302$\303U\207" [apply vc-git--call (t nil) 0] 7 (#$ . 76158)])
#@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\301\"\304\216rq\210\305\306\203\307\310!C\"\202 \"\204'\311\262*rq\210\312 +\2054\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 (#$ . 76297)])
#@87 Translate COMMIT string into symbolic form.
Returns nil if not possible.

(fn COMMIT)
(defalias 'vc-git-symbolic-commit #[257 "\211\205?\300\301\302\"r\211q\210\303\304\"\216\305\306\307#\205.eb\205.\310y\311U\205.n\205.\312edS\"*\262\211\205=\211\313\230?\205=\211\262\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] vc-git--out-ok "name-rev" "--name-only" 2 1 buffer-substring-no-properties "undefined"] 6 (#$ . 76758)])
(provide 'vc-git)

Youez - 2016 - github.com/yon3zu
LinuXploit