;ELC ;;; Compiled ;;; in Emacs version 27.1 ;;; 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 -e -- "] 1 #3#] "The default command to run for \\[vc-git-grep].\nThe following place holders should be present in the string:\n - place to put the options like -i.\n - file names and wildcards to search.\n - 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\314 Q%\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\305 D\"\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\305 D\"\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\305 D\"\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\305 D\"\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\305 D\"\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\305 D\"\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\305 D\"\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\305 D\"\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\305 D\"\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\305 D\"\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\305 D\"\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]: Create named stash\n\\[vc-git-stash-snapshot]: Snapshot stash") (defconst vc-git-stash-list-help (concat "\\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 \2054 A?\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\314 E\"&\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]'. 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 \\[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\323 B\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)