;ELC ;;; Compiled by mwolson@grepfind.mwolson.org on Thu Jan 24 00:15:32 2008 ;;; from file /stuff/proj/emacs/dvc/mwolson/lisp/xgit.el ;;; in Emacs version 23.0.50.2 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`xgit.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\207" [require dvc-core dvc-diff xgit-core xgit-log xgit-annotate cus-edit] 2) #@15 Run git init. (defalias 'xgit-init #[(&optional dir) "\206 \302\303\304C\305\306\307\310\311\312\313\314\315\316\317D\257E$)\207" [dir default-directory dvc-run-dvc-sync xgit "init-db" :finished lambda (output error status arguments) apply #[(output error status arguments) "\300\301!\207" [message "git init finished"] 2] output error status arguments quote nil] 14 (#$ . 751) (list (expand-file-name (dvc-read-directory-name "Directory for git init: " (or default-directory (getenv "HOME")))))]) #@16 Run git clone. (defalias 'xgit-clone #[(src) "\301\302\303D\"\207" [src dvc-run-dvc-async xgit "clone"] 4 (#$ . 1260) (list (read-string "git clone from: "))]) #@38 Add FILE to the current git project. (defalias 'xgit-add #[(file) "\301!\207" [file xgit-dvc-add-files] 2 (#$ . 1427) (list (dvc-confirm-read-file-name "Add file or directory: "))]) #@14 Run git add. (defalias 'xgit-dvc-add-files #[(&rest files) "\302\303\"\210\304 \305\306\307\310\311\312\"\"\313\314\315\316\317\320\321\322\323\324\325D\257E$)\207" [files default-directory dvc-trace "xgit-add-files: %s" xgit-tree-root dvc-run-dvc-sync xgit append ("add") mapcar file-relative-name :finished lambda (output error status arguments) apply #[(output error status arguments) "\300\301!\207" [message "git add finished"] 2] output error status arguments quote nil] 14 (#$ . 1616)]) #@121 Remove FILE from the current git project. If FORCE is non-nil, then remove the file even if it has uncommitted changes. (defalias 'xgit-remove #[(file &optional force) "\303 \304\305\306 \205 \307\310\311\n!F\312\313\314\315\316\317\320\321\322\323\324D\257E$)\207" [default-directory force file xgit-tree-root dvc-run-dvc-sync xgit "rm" "-f" "--" file-relative-name :finished lambda (output error status arguments) apply #[(output error status arguments) "\300\301!\207" [message "git remove finished"] 2] output error status arguments quote nil] 14 (#$ . 2121) (list (dvc-confirm-read-file-name "Remove file: ") current-prefix-arg)]) #@13 Run git rm. (defalias 'xgit-dvc-remove-files #[(&rest files) "\301\302\"\210\303\304\305\306D\307\310\"\244\311\312\313\314\315\316\317\320\321\322\323D\257E$\207" [files dvc-trace "xgit-remove-files: %s" dvc-run-dvc-sync xgit "rm" "--" mapcar file-relative-name :finished lambda (output error status arguments) apply #[(output error status arguments) "\300\301!\207" [message "git rm finished"] 2] output error status arguments quote nil] 14 (#$ . 2766)]) #@18 Run git version. (defalias 'xgit-command-version #[nil "\301\302\303C\304\305$t\203\306\307\"\210)\207" [version dvc-run-dvc-sync xgit "version" :finished dvc-output-buffer-handler message "Git Version: %s"] 5 (#$ . 3232) nil]) #@218 Run 'git add .' to add all files in the current directory tree to git. Normally run 'git add -n .' to simulate the operation to see which files will be added. Only when called with a prefix argument, add the files. (defalias 'xgit-add-all-files #[(arg) "\301\302\303?\205 \304\305E\"\207" [arg dvc-run-dvc-sync xgit "add" "-n" "."] 5 (#$ . 3472) "P"]) #@174 Add all new files to the index, remove all deleted files from the index, and add all changed files to the index. This is done only for files in the current directory tree. (defalias 'xgit-addremove #[nil "\300\301\302\303D\304\305$\207" [dvc-run-dvc-sync xgit "add" "." :finished #[(output error status arguments) "\300\301\302\303\304E\305\306$\207" [dvc-run-dvc-sync xgit "add" "-u" "." :finished #[(output error status args) "\300\301!\207" [message "Finished adding and removing files to index"] 2]] 5]] 5 (#$ . 3835) nil]) #@132 Regexp that matches a line of status output. The first match string is the status type, and the optional second match is the file. (defvar xgit-status-line-regexp "^#[ ]+\\([[:alpha:]][[:alpha:][:blank:]]+\\):\\(?:[ ]+\\(.+\\)\\)?$" (#$ . 4371)) #@105 Regexp that matches a line of status output indicating an untracked file. The first match is the file. (defvar xgit-status-untracked-regexp "^# \\(.+\\)$" (#$ . 4626)) #@116 Regexp that divides a filename string. The first match is the original file, and the second match is the new file. (defvar xgit-status-renamed-regexp "^\\(.+\\) -> \\(.+\\)$" (#$ . 4802)) #@104 Sort STATUS-LIST according to :status in the order added, modified, renamed, copied, deleted, unknown. (defalias 'xgit-parse-status-sort #[(status-list) "\303\304\305\n\306\307\310\311\312\313\314CD\257E\"*\207" [get order status-list ((added . 1) (modified . 2) (rename-source . 3) (rename-target . 3) (copy-source . 4) (copy-target . 4) (deleted . 5) (unknown . 6)) #[(item) "\300\301\215\207" [status (byte-code "\205$@\302=\203\303\304\211A@)\"\210\202\211AA)\211\204\305\207" [item x :status throw status nil] 4)] 2] sort lambda (a b) apply #[(a b #1=#:dvc-gensym-uniq-156) " !\n\236A !\n\236A\211\250\205\f\250\205 \fW*\207" [#1# a order b bo ao] 4] a b quote] 10 (#$ . 4997)]) (defalias 'xgit-parse-status #[(changes-buffer) "\306\307!\210pr q\210\310\311\n\"rq\210\212eb\210\312\313\312\211\211\211\211\211+,-./0\3141\312\315#\203b\316\317!.\316\320!-\315-\203N-\313\230\203\221.\321\230\203\207\212\3141\312\322#\210`)\320y\210\3142\315#\203\203\317\224\203d\323\316\317!\324\325\326\315\257 B\202d\327y\210)./\312,\202K.\330\230\203\247\331,/\332\230\203K\312\202K.\333\230\203\264\334,\202K.\335\230\203\312\336,/\332\230\203K\312\202K.\337\230\203 \312,\3403-\"\203K\316\317-\"\316\320-\"45\3234\341\312\324\342\326\315\257\3235\341\312\324\343\326\315\257 BB*\202K.\344\230\203H\312,\3403-\"\203K\316\317-\"\316\320-\"45\3234\341\312\324\345\326\315\257\3235\341\312\324\346\326\315\257 BB*\202K\312,,\203-\323-\341\312\324,\326\f\257 B\202-r q\210\347 \237!\3126\2117\203\2137@6\3508\351\3526\"\"\2107A\2117\204s.\312\207" [output changes-buffer default-directory dvc-header indexed status-list dvc-trace "xgit-parse-status (dolist)" format "git status for %s\n" nil "" re-search-forward t match-string 1 2 "Untracked files" end :file :status unknown :indexed -1 "modified" modified "Changed but not updated" "new file" added "deleted" deleted "renamed" string-match :dir rename-target rename-source "copied" copy-target copy-source xgit-parse-status-sort ewoc-enter-last apply make-dvc-fileinfo-file dir status file status-string grouping buffer-read-only xgit-status-line-regexp xgit-status-untracked-regexp xgit-status-renamed-regexp new orig elem #1=#:--cl-dolist-temp-- dvc-fileinfo-ewoc] 9]) #@17 Run git status. (defalias 'xgit-dvc-status #[(&optional verbose) "\306\307\310 \311BBD\312\313 DD\314 \307%\315\n!\210\316\317 !\210\320\321\322\323\324\325\314\326\327 \nDD\257E\330\307\331 \2057\332D\333\f\334\f&+\207" [default-directory root buffer dvc-buffer-refresh-function show-changes-buffer verbose dvc-prepare-changes-buffer xgit last-revision (1) git local-tree status dvc-switch-to-buffer-maybe xgit-dvc-status dvc-save-some-buffers lambda (output error status arguments) apply #[(output error status arguments #1=#:dvc-gensym-uniq-158 #2=#:dvc-gensym-uniq-157) "rq\210deV\203\303 \304#\202\305\306\n#)\207" [#2# output #1# dvc-show-changes-buffer xgit-parse-status dvc-diff-no-changes "No changes in %s"] 4] output error arguments quote dvc-run-dvc-sync "status" "-v" :finished :error] 11 (#$ . 7347)]) (defalias 'xgit-status-verbose #[nil "\300\301!\207" [xgit-status t] 2 nil nil]) #@46 Run "git add -u" and refresh current buffer. (defalias 'xgit-status-add-u #[nil "\301\302!\211pL\210\303\304\305\306\307\310\311\307\312\311\313\314D\315FE\316\317\320\321\314\322D\257E$)\207" [#1=#:--cl-buf-- make-symbol "--buf--" dvc-run-dvc-async xgit ("add" "-u") :finished lambda (output error status arguments) apply (&rest --cl-rest--) #[(#2=#:G70437 output error status arguments) "rJq\210\301 )\207" [#2# dvc-generic-refresh] 1] quote --cl-rest-- output error status arguments nil] 15 (#$ . 8265) nil]) #@109 Run "git reset --mixed" and refresh current buffer. This reset the index to HEAD, but doesn't touch files. (defalias 'xgit-status-reset-mixed #[nil "\301\302!\211pL\210\303\304\305\306\307\310\311\307\312\311\313\314D\315FE\316\317\320\321\314\322D\257E$)\207" [#1=#:--cl-buf-- make-symbol "--buf--" dvc-run-dvc-async xgit ("reset" "--mixed") :finished lambda (output error status arguments) apply (&rest --cl-rest--) #[(#2=#:G70438 output error status arguments) "rJq\210\301 )\207" [#2# dvc-generic-refresh] 1] quote --cl-rest-- output error status arguments nil] 15 (#$ . 8788) nil]) (byte-code "\302B\303\302!\204\304\302\305 \306 \307\310#\210\306 \311\312#\210 )\"\210\302\207" [current-load-list map xgit-diff-mode-map default-boundp set-default make-sparse-keymap define-key [65] xgit-status-add-u [82] xgit-status-reset-mixed] 6) #@30 `Git specific changes' menu. (defvar xgit-diff-mode-menu nil (#$ . 9643)) (byte-code "\303\304\305\306$\210\307\310N\204\311\307\310\312#\210\313\300!\204\311\300\314\315#\210\300 B\316\300!\204/\317\300\320 \"\210\313\321!\204;\311\321\314\315#\210\321 B\316\321!\204K\317\321\322 \"\210\311\302\314\315#\210\302 B\316\302!\204e\317\302\323\302\324\"\210\n\"\210\311\315\325\326#\207" [xgit-diff-mode-map current-load-list xgit-diff-mode-abbrev-table easy-menu-do-define xgit-diff-mode-menu "`Git specific changes' menu." ("GIT-Diff" ["Re-add modified files (add -u)" xgit-status-add-u t] ["Reset index (reset --mixed)" xgit-status-reset-mixed t] "---" ["View staged changes" xgit-diff-cached t] ["View unstaged changes" xgit-diff-index t] ["View all local changes" xgit-diff-head t]) xgit-diff-mode-hook variable-documentation put "Hook run when entering xgit-diff mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp definition-name xgit-diff-mode default-boundp set-default make-sparse-keymap xgit-diff-mode-syntax-table make-syntax-table define-abbrev-table nil derived-mode-parent dvc-diff-mode] 5) #@227 Mode redefining a few commands for diff. In addition to any hooks its parent mode `dvc-diff-mode' might have run, this mode runs the hook `xgit-diff-mode-hook', as the final step during initialization. \{xgit-diff-mode-map} (defalias 'xgit-diff-mode #[nil "\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\2036 \321 =\203<\322\f\323 \"\210)\324 !\210\325\f!\210)\326\327!\207" [delay-mode-hooks major-mode mode-name xgit-diff-mode-map xgit-diff-mode-syntax-table parent make-local-variable t dvc-diff-mode xgit-diff-mode "xgit-diff" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table use-local-map set-syntax-table run-mode-hooks xgit-diff-mode-hook xgit-diff-mode-abbrev-table local-abbrev-table] 6 (#$ . 10855) nil]) (dvc-add-uniquify-directory-mode 'xgit-diff-mode) (defalias 'xgit-parse-diff #[(changes-buffer) "\212\305\306\307\310#\205K\311\312!\312y\210\313\314!\313\315!r q\210\316\f\317\320\321 \203*\322\2023\n\2032\323\2023\324 \204;\n\203?\324\202@\325\324\307\257\"\"\210,\202)\207" [name added removed changes-buffer dvc-fileinfo-ewoc re-search-forward "^diff --git [^ ]+ b/\\(.*\\)$" nil t match-string-no-properties 1 looking-at "^new file" "^deleted file" ewoc-enter-last make-dvc-fileinfo-legacy :data file "A" "D" " " "M"] 10]) (defalias 'xgit-diff-1 #[(against-rev path dont-switch base-rev) "\206 p\306\n! \203\307 &\310#\202\310' \2060\311 \203)\312\2020\313\314\f\315BBD(\205=\307(&\310#)\313\316\fDD(\206M(\317 (\320\f\313%* \321\232\203|(\232\203k\322\202\203\323\324(#\210\325\326\327'F\202\203\325\326)'F+\330*!\210,\203\223\331 !\210\332\f!\210\333\313+\334\335\336\337\340\341\342\343\344\345*CD\257E$.\n\207" [path default-directory cur-dir orig-buffer root against-rev xgit-tree-root dvc-revision-to-string "HEAD" xgit-use-index-p (xgit (index)) xgit last-revision (1) local-tree dvc-prepare-changes-buffer diff (xgit (index)) ("diff" "-M") message "%S != %S" "diff" "-M" "--cached" dvc-switch-to-buffer-maybe pop-to-buffer dvc-save-some-buffers dvc-run-dvc-sync :finished lambda (output error status arguments) apply #[(output error status arguments #1=#:dvc-gensym-uniq-159) "\303\304 \305\211\306\307\310\nB\311#&\207" [output #1# command-list dvc-show-changes-buffer xgit-parse-diff nil mapconcat #[(x) "\207" [x] 1] "git" " "] 10] output error status arguments quote xgit-prev-format-string against base-rev base buffer command-list dont-switch] 14]) (defalias 'xgit-last-revision #[(path) "\301 \203\302\207\303\304\305BBD\207" [path xgit-use-index-p (xgit (index)) xgit last-revision (1)] 4]) (defalias 'xgit-dvc-diff #[(&optional against-rev path dont-switch) "\303 \n\304$\207" [against-rev path dont-switch xgit-diff-1 nil] 5 nil (list nil nil current-prefix-arg)]) #@27 Call "git diff --cached". (defalias 'xgit-diff-cached #[(&optional against-rev path dont-switch) "\304\305 \n \306$)\207" [xgit-use-index against-rev path dont-switch always xgit-diff-1 (xgit (index))] 5 (#$ . 13807) (list nil nil current-prefix-arg)]) #@48 Call "git diff" (diff between tree and index). (defalias 'xgit-diff-index #[(&optional against-rev path dont-switch) "\206\303 \206 \304\305 \n\306\307DD$*\207" [path against-rev dont-switch xgit-tree-root (xgit (index)) xgit-diff-1 xgit local-tree] 7 (#$ . 14067) (list nil nil current-prefix-arg)]) #@23 Call "git diff HEAD". (defalias 'xgit-diff-head #[(&optional path dont-switch) "\302\303\304DD \303\305\306BBD$\207" [path dont-switch xgit-diff-1 xgit local-tree last-revision (1)] 8 (#$ . 14383) (list nil current-prefix-arg)]) #@265 This is a format string which is used by `dvc-revision-to-string' when encountering a (previous ...) component of a revision indicator. . The first argument is a commit ID, and the second specifies how many generations back we want to go from the given commit ID. (defvar xgit-prev-format-string "%s~%s" (#$ . 14622)) (defalias 'xgit-delta #[(base-rev against &optional dont-switch) "\305 \306\307\310\311BBD\307\312DD\313\307%\314\n \f$\210r q\210eb\210) *\207" [root buffer against dont-switch base-rev xgit-tree-root dvc-prepare-changes-buffer xgit last-revision (1) local-tree diff xgit-diff-1] 6 nil (list nil nil current-prefix-arg)]) #@231 Remove any files that have been newly added to git from FILES. This returns a two-element list. The first element of the returned list is a list of the newly-added files from FILES. The second element is the remainder of FILES. (defalias 'xgit-split-out-added-files #[(files) "\306\211\306\307\310!\311\216r q\210\312\313\314C\315p\316\317\320\317&\210eb\210\321\f\306\322#\2039\323\324!\325\230\203 \323\326!B\202 + \306\211\203e@\211\235\203W B\202\\\nBA\211\204D* \n+D\207" [tree-added added not-added #1=#:temp-buffer xgit-status-line-regexp files nil generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) dvc-run-dvc-sync xgit "status" :output-buffer :finished ignore :error re-search-forward t match-string 1 "new file" 2 file #2=#:--cl-dolist-temp--] 10 (#$ . 15276)]) #@64 Revert uncommitted changes made to FILE in the current branch. (defalias 'xgit-revert-file #[(file) "\301!\207" [file xgit-revert-files] 2 (#$ . 16149) "fRevert file: "]) #@65 Revert uncommitted changes made to FILES in the current branch. (defalias 'xgit-dvc-revert-files #[(&rest files) "\306 \307\310 \"\311 !\211G\312U\203\n\211A@\202\"\313\314\315\nGD\"\n@ \2039\316\317\320E \244\321\322 \323\324$\210)\f\203K\325\326D\f\244\321\322 \323\324$\210) \204S\f\203Y\327\330!\202\\\327\331!,\207" [default-directory files #1=#:--cl-rest-- added not-added args xgit-tree-root mapcar file-relative-name xgit-split-out-added-files 2 signal wrong-number-of-arguments nil "update-index" "--force-remove" "--" dvc-run-dvc-sync xgit :finished ignore "checkout" "HEAD" message "git revert finished" "Nothing to do"] 6 (#$ . 16327)]) #@186 Function to filter filenames in xgit-show. Function is passed a list of files as a parameter. Function should return list of filenames that is passed to git-show or nil for all files. (custom-declare-variable 'xgit-show-filter-filename-func 'nil '(#$ . 16999) :type '(choice (const xgit-show-filter-filename-not-quilt) (function) (const :tag "None" nil)) :group 'dvc-xgit) #@69 Function to filter-out quilt managed files under .pc/ and patches/. (defalias 'xgit-show-filter-filename-not-quilt #[(files) "\304\211 :\203 @\305\306\n\"\204\n B A\211\202 \237+\207" [files #1=#:--cl-var-- f #2=#:--cl-var-- nil string-match ".pc/\\|patches/"] 4 (#$ . 17379)]) #@49 Returns list of files changed in given revision (defalias 'xgit-changed-files #[(dir rev) "\306!\307 \n\310 F\311\312\f\313\314$\315\316 A\",\207" [dir repo cmd rev args result xgit-git-dir "diff-tree" "--numstat" dvc-run-dvc-sync xgit :finished dvc-output-buffer-split-handler mapcar #[(x) "\301\302!8\207" [x 2 split-string] 3]] 5 (#$ . 17676)]) #@289 Shows diff for a given revision. Optional argument FILES is a string of filename or list of filenames of to pass to git-show. If FILES is nil and `xgit-show-filter-filename-func' is non-nil, files changed in the revision is passed to `xgit-show-filter-filename-func' and result is used. (defalias 'xgit-show #[(dir rev &optional files) "\204 \203 \306\n \"!\307\310\311\n#\312\211 \313E\2031;\203-C\202.\244\314\f!\210r\fq\210\315\310\316\317\320\321\322\323\324\325\326\327\fCD\257E$,\207" [files xgit-show-filter-filename-func dir rev buffer cmd xgit-changed-files dvc-get-buffer-create xgit diff "show" "--" dvc-switch-to-buffer-maybe dvc-run-dvc-sync :finished lambda (output error status arguments) apply #[(output error status arguments #1=#:dvc-gensym-uniq-160) "rq\210\304\305 \210\306\n!\210eb\210\307\310\311\312 \313#\"c\210\314 \210\315\316!*\207" [#1# inhibit-read-only output args t erase-buffer insert-buffer-substring format "git %s\n\n" mapconcat identity " " diff-mode toggle-read-only 1] 6] output error status arguments quote args] 15 (#$ . 18037) (list default-directory (read-string "Revision: "))]) (byte-code "\301B\302\301!\204\303\301\304\"\210\301\207" [current-load-list xgit-describe-regexp default-boundp set-default "^\\(.*?\\)-\\([0-9]+\\)-g[[:xdigit:]]\\{7\\}"] 3) (defalias 'xgit-describe-tag\? #[(abbrev) "\302 \"?\207" [xgit-describe-regexp abbrev string-match] 3]) #@193 Show the most recent tag that is reachable from a commit. If there is no tag return nil, if revision is a tag, return tag in a string, else returns list of '(tag offset all-described-string). (defalias 'xgit-describe #[(dir rev) "\306!\307 \n E\310\311\f\312\313\314\313&\211\315\230?\2050\316 !\203& \2020\317\320 \"\317\321 \" E,\207" [dir repo cmd rev args info xgit-git-dir "describe" dvc-run-dvc-sync xgit :finished dvc-output-buffer-handler :error "" xgit-describe-tag\? match-string 1 2] 8 (#$ . 19478) (list default-directory (read-string "Revision: "))]) #@116 Run git annotate for FILE in DIR. DIR is a directory controlled by Git. FILE is filename in the repository at DIR. (defalias 'xgit-do-annotate #[(dir file) "\306\307\310\"\311 !\312\313\f\314 !\"\n \315 F\316!\210\317\307\320\321\322\323\324\325\326\327\330\331CD\257E$-\207" [buffer dir repo cmd file fname dvc-get-buffer-create xgit annotate xgit-git-dir "blame" file-relative-name xgit-tree-root "--" dvc-switch-to-buffer-maybe dvc-run-dvc-sync :finished lambda (output error status arguments) apply #[(output error status arguments #1=#:dvc-gensym-uniq-161) "rq\210\303\304 \210\305 \210\306\n!\210eb\210\307 *\207" [#1# inhibit-read-only output t buffer-disable-undo erase-buffer insert-buffer-substring xgit-annotate-mode] 2] output error status arguments quote args] 14 (#$ . 20058)]) #@18 Run git annotate (defalias 'xgit-annotate #[nil "\303 \304\305!\306 !\307\n \"\210\310!+\207" [line filename default-directory dvc-line-number-at-pos dvc-confirm-read-file-name "Filename to annotate: " xgit-tree-root xgit-do-annotate goto-line] 3 (#$ . 20869) nil]) #@66 Run git am to apply the contents of MBOX as one or more patches. (defalias 'xgit-apply-mbox #[(mbox &optional force) "\302\303\304\305\306\205\n\307\310 !E\"\311\312\313\314&\207" [force mbox dvc-run-dvc-sync xgit delq nil "am" "-3" expand-file-name :finished #[(output error status arguments) "\301\302\"\207" [mbox message "Imported git mbox from %s"] 3] :error #[(output error status arguments) "\301!\210\300\302!\207" [error dvc-show-error-buffer "Error occurred while applying patch(es)"] 2]] 8 (#$ . 21145) (list (dvc-confirm-read-file-name "Apply mbox containing patch(es): " t))]) #@104 Insert the content of FILE in LAST-REVISION, in current buffer. LAST-REVISION looks like ("path" NUM) (defalias 'xgit-revision-get-last-revision #[(file last-revision) "\305\306 #\210\307 A@S! @\310\311 \"\312\313\314\315\316\317\n\f#E\320\321$c+\207" [file last-revision xgit-rev default-directory fname dvc-trace "xgit-revision-get-last-revision file:%S last-revision:%S" int-to-string file-relative-name xgit-tree-root dvc-run-dvc-sync xgit "cat-file" "blob" format "HEAD~%s:%s" :finished dvc-output-buffer-handler-withnewline] 8 (#$ . 21747)]) #@562 Whether xgit should use the index (aka staging area). "Use the index" means commit the content of the index, not the content of the working tree. In practice, this means commit with "git commit" (without -a), and diff with "git diff". "Not use the index" means commit the content of the working tree, like most version control systems do. In practice, this means commit with "git commit -a", and diff with "git diff HEAD". This option can be set to 'ask : ask whenever xgit needs the value, 'always : always use the index, 'never : never use the index.  (custom-declare-variable 'xgit-use-index ''ask '(#$ . 22308) :type '(choice (const ask) (const always) (const never)) :group 'dvc-git) #@98 Whether xgit should use the index this time. The value is determined based on `xgit-use-index'. (defalias 'xgit-use-index-p #[nil "\306=\203\307\207\310=\203\311\207\312=\205\213\313\314!\210\315 \315=\203\211\307\316 )\227\211\fU\2033\317\2028\320 \321\"A)\211\322=\203E\307\202\205 \323=\203P\311\202\205 \306=\203]\306\307\202\205 \310=\203j\310\311\202\205 \324=\203{\325\300!\210\313\314!\210\202\205 \317=\203\205\313\326!\210)\202 )\207" [xgit-use-index answer cursor-in-echo-area tem help-char #1=#:--cl-var-- always t never nil ask message "Use git index (y/n/a/e/c/?)? " undecided read-char-exclusive help assoc ((121 . yes) (110 . no) (97 . always) (101 . never) (99 . customize) (63 . help)) yes no customize customize-variable "\"Use the index\" (aka staging area) means add file content\nexplicitly before commiting. Concretely, this means run commit\nwithout -a, and run diff without options.\n\nUse git index?\n y (Yes): yes, use the index this time\n n (No) : no, not this time\n a (Always) : always use the index from now\n e (nEver) : never use the index from now\n c (Customize) : customize the option so that you can save it for next\n Emacs sessions. You'll still have to answer the question after.\n\n(y/n/a/e/c/?)? "] 4 (#$ . 23010)]) (provide 'xgit)