;ELC ;;; Compiled by mwolson@grepfind.mwolson.org on Thu Jan 24 00:19:14 2008 ;;; from file /stuff/proj/emacs/dvc/mwolson/lisp/xmtn-dvc.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 "`xmtn-dvc.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!\210\300\307!\210\300\310!\210\300\311!\210\300\312!\210\300\313!\210\300\314!\207" [require cl dvc-unified xmtn-basic-io xmtn-base xmtn-run xmtn-automate xmtn-ids xmtn-match dvc-log dvc-diff dvc-core ewoc] 2) (defalias 'xmtn--load #[nil "\300\301!\210\302 \210\303\304\305\"\207" [require dvc-unified save-some-buffers mapc #[(file) "\301\302\"\207" [file byte-compile-file t] 3] ("xmtn-minimal.el" "xmtn-compat.el" "xmtn-match.el" "xmtn-base.el" "xmtn-run.el" "xmtn-automate.el" "xmtn-basic-io.el" "xmtn-ids.el" "xmtn-dvc.el" "xmtn-revlist.el")] 3]) (byte-code "\301B\302\301!\204\303\301\304\"\210\305\301\306\"\207" [current-load-list dvc-registered-backends default-boundp set-default nil add-to-list xmtn] 3) #@101 Human friendly name used for the dvc backend 'xmtn. This variable was created by `dvc-register-dvc' (defvar xmtn-backend-name "monotone" (#$ . 1401)) #@51 Wrapper for dvc-add-log-entry, for back-end xmtn. (defalias 'xmtn-add-log-entry #[nil "\301\302\303!)\207" [dvc-temp-current-active-dvc xmtn call-interactively dvc-add-log-entry] 2 (#$ . 1557) nil]) #@47 Wrapper for dvc-add-files, for back-end xmtn. (defalias 'xmtn-add-files #[(&rest files) "\302t\203\f\303\304!\202\304 !)\207" [dvc-temp-current-active-dvc files xmtn call-interactively dvc-add-files] 2 (#$ . 1763) nil]) #@42 Wrapper for dvc-diff, for back-end xmtn. (defalias 'xmtn-diff #[(&optional base-rev path dont-switch) "\304t\203\f\305\306!\202\306 \n #)\207" [dvc-temp-current-active-dvc base-rev path dont-switch xmtn call-interactively dvc-diff] 4 (#$ . 1993) nil]) #@60 Wrapper for dvc-ignore-file-extensions, for back-end xmtn. (defalias 'xmtn-ignore-file-extensions #[(file-list) "\302t\203\f\303\304!\202\304 !)\207" [dvc-temp-current-active-dvc file-list xmtn call-interactively dvc-ignore-file-extensions] 2 (#$ . 2255) nil]) #@67 Wrapper for dvc-ignore-file-extensions-in-dir, for back-end xmtn. (defalias 'xmtn-ignore-file-extensions-in-dir #[(file-list) "\302t\203\f\303\304!\202\304 !)\207" [dvc-temp-current-active-dvc file-list xmtn call-interactively dvc-ignore-file-extensions-in-dir] 2 (#$ . 2526) nil]) #@46 Wrapper for dvc-log-edit, for back-end xmtn. (defalias 'xmtn-log-edit #[(&optional OTHER-FRAME) "\302t\203\f\303\304!\202\304 !)\207" [dvc-temp-current-active-dvc OTHER-FRAME xmtn call-interactively dvc-log-edit] 2 (#$ . 2818) nil]) #@44 Wrapper for dvc-rename, for back-end xmtn. (defalias 'xmtn-rename #[(from-name to-name) "\303t\203\f\304\305!\202\305 \n\")\207" [dvc-temp-current-active-dvc from-name to-name xmtn call-interactively dvc-rename] 3 (#$ . 3061) nil]) #@50 Wrapper for dvc-remove-files, for back-end xmtn. (defalias 'xmtn-remove-files #[(&rest files) "\302t\203\f\303\304!\202\304 !)\207" [dvc-temp-current-active-dvc files xmtn call-interactively dvc-remove-files] 2 (#$ . 3303) nil]) #@50 Wrapper for dvc-revert-files, for back-end xmtn. (defalias 'xmtn-revert-files #[(&rest files) "\302t\203\f\303\304!\202\304 !)\207" [dvc-temp-current-active-dvc files xmtn call-interactively dvc-revert-files] 2 (#$ . 3542) nil]) #@44 Wrapper for dvc-status, for back-end xmtn. (defalias 'xmtn-status #[(&optional path) "\302t\203\f\303\304!\202\304 !)\207" [dvc-temp-current-active-dvc path xmtn call-interactively dvc-status] 2 (#$ . 3781) nil]) #@102 Not documented (fn (PARSER root-form command-form &key ((:may-kill-p may-kill-p-form))) &body BODY) (defalias 'xmtn--with-automate-command-output-basic-io-parser '(macro . #[(&rest body) "\203\f\211A@\202\306\307\310GD\"\211AA\203\" \211A@\202)\306\307\310 GD\" \211A@ \211A@\311 >A@ \203o@\312>\203VAA\211\202A\313 >A@\203e\314\211\202A\315\316@\"\210\202?)\317 \317 \317 \317 \317 \317 \320 D\fD DE\321D\322\311\257\323D\324D\325\n\326DDBB\257EE. \207" [body #1=#:--cl-rest-- parser root-form command-form may-kill-p-form signal wrong-number-of-arguments xmtn--with-automate-command-output-basic-io-parser :may-kill-p (:may-kill-p :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:may-kill-p)" gensym let xmtn-automate-with-session xmtn-automate-with-command xmtn-automate-command-check-for-and-report-error xmtn-automate-command-wait-until-finished xmtn-basic-io-with-stanza-parser xmtn-automate-command-buffer #2=#:--cl-keys-- handle session may-kill-p command root parser-tmp] 13 (#$ . 4005)])) (defalias 'xmtn-dvc-log-edit-file-name-func #[(&optional root) "\301\206\302 !\303P\207" [root file-name-as-directory dvc-tree-root "_MTN/log"] 2]) (defalias 'xmtn--tree-default-branch #[(root) "\301\302\"\207" [root xmtn-automate-simple-command-output-line ("get_option" "branch")] 3]) (defalias 'xmtn--tree-has-changes-p-future #[(root) "\302\303!\211\304 \305\"L\210\306\307\310\311\312D\313FE)\207" [#1=#:--cl-future-- root make-symbol "--future--" xmtn--command-output-lines-future ("ls" "changed") lambda (&rest --cl-rest--) apply #[(#2=#:G38908) "J ??\207" [#2#] 1] quote --cl-rest--] 7]) (defalias 'xmtn--toposort #[(root revision-hash-ids) "\302\303 B\"\207" [root revision-hash-ids xmtn-automate-simple-command-output-lines "toposort"] 4]) (defalias 'xmtn--map-parsed-certs #[(xmtn--root xmtn--revision-hash-id xmtn--thunk) "\306\307!\306\310!\306\311!\211 L\210 \fL\210 L\210\nJ\312 JD\313\314!\315!\316\"A\317\320\321\322\323D\323 D\323\nD\324\257E\203X \202|\325\216\326\" \211! B+B *.\n\207" [#1=#:--cl-thunk-- #2=#:--cl-revision-hash-id-- #3=#:--cl-root-- xmtn--root xmtn--revision-hash-id xmtn--thunk make-symbol "--root--" "--revision-hash-id--" "--thunk--" "certs" nil file-name-as-directory file-truename assoc lambda (&rest --cl-rest--) apply #[(#4=#:G38960 #5=#:G38961 #6=#:G38962) "\211\n \306\307\216\310 #\211\311!\210\312!\210\313!rq\210\314!\210eb\210)\315\306 \211\203R\316\317\215\210)\202=.\n\306\207" [#7=#:G38915 #8=#:G38913 #9=#:G38911 #10=#:G38912 #11=#:G38922 #12=#:G38921 nil ((byte-code "\203\301!\210\301\207" [#11# xmtn-automate--cleanup-command] 2)) xmtn-automate--new-command xmtn-automate-command-check-for-and-report-error xmtn-automate-command-wait-until-finished xmtn-automate-command-buffer set-syntax-table #[nil "rq\210\301 )\207" [#13=#:G38923 xmtn-basic-io--next-stanza] 1] --cl-block-match-form-38925-- (byte-code "\306\211\211\211\211 :\203 @\211:\205Z@\307\232\205ZA\211:\205Y@\211:\205P@\310=\205PA\211:\205O@A\306=))\205YA\306=))\203 A\211:\205\315@\211:\205\263@\311\232\205\263A\211:\205\262@\211:\205\251@\310=\205\251A\211 :\205\250 @ A\306=))\205\262A\306=))\205\315A\211!:\205\314!@\211\":\205 \"@\312\232\205 \"A\211#:\205\f#@\211$:\205$@\310=\205$A\211%:\205%@%A\306=))\205\f#A\306=))\205\314!A\211&:\205\313&@\211':\205g'@\313\232\205g'A\211(:\205f(@\211):\205])@\310=\205])A\211*:\205\\*@*A\306=))\205f(A\306=))\205\313&A\211+:\205\312+@\211,:\205\301,@\314\232\205\301,A\211-:\205\300-@\211.:\205\267.@\310=\205\267.A\211/:\205\266/@/A\306=))\205\300-A\306=))\205\312+A\306=))))\203\315\316 0\317\320\215)1\321\322\215)2\323\f\324\"\323\n\324\"\323 \324\"3J\f \n 2%)\"\210-\325\326\327 #\207" [xmtn--trust xmtn--value xmtn--name xmtn--signature xmtn--key #14=#:object-38924 nil "key" string "signature" "name" "value" "trust" throw --cl-block-match-form-38925-- --cl-block-match-form-38952-- (byte-code "\301\232\203 \302\303\304\"\210\305\232\203\302\303\306\"\210\307\232\203!\302\303\310\"\210\311\312\313#\207" [#15=#:object-38951 "ok" throw --cl-block-match-form-38952-- ok "bad" bad "unknown" unknown error #16="Fell through %S: %S" xmtn-match] 4) --cl-block-match-form-38957-- (byte-code "\301\232\203 \302\303\304\"\210\305\232\203\302\303\306\"\210\307\310\311#\207" [#17=#:object-38956 "trusted" throw --cl-block-match-form-38957-- t "untrusted" nil error #16# xmtn-match] 4) decode-coding-string xmtn--monotone-normal-form error #16# xmtn-match #18=#:G38927 #19=#:G38928 #20=#:G38929 #21=#:G38930 #22=#:G38931 #23=#:G38932 #24=#:G38933 #25=#:G38934 #26=#:G38935 #27=#:G38936 #28=#:G38937 #29=#:G38938 #30=#:G38939 #31=#:G38940 #32=#:G38941 #33=#:G38942 #34=#:G38943 #35=#:G38944 #36=#:G38945 #37=#:G38946 #38=#:G38947 #39=#:G38948 #40=#:G38949 #41=#:G38950 #15# #17# xmtn--trusted #4#] 9) #42=#:G38920 #43=#:G38919 #44=#:G38914 #13# xmtn-basic-io--*syntax-table* xmtn--next-stanza xmtn--stanza #14#] 5] quote --cl-rest-- ((byte-code "\203\301!\210\301\207" [#7# xmtn-automate--close-session] 2)) xmtn-automate--make-session #10# #9# #45=#:G38910 #46=#:G38916 #47=#:G38917 xmtn-automate--*sessions* #7# #48=#:G38918 alist value key] 9]) (defalias 'xmtn--list-parsed-certs #[(root revision-hash-id) "\303\304!\211\305L\210\306 \n\307\310\311\312\313D\314FE#\210\211J\237L\210J)\207" [#1=#:--cl-accu-- root revision-hash-id make-symbol "--accu--" nil xmtn--map-parsed-certs lambda (&rest --cl-rest--) apply #[(#2=#:G38963 key signature name value trusted) " \n \f \257JBL\207" [#2# key signature name value trusted] 6] quote --cl-rest--] 10]) (defalias 'xmtn--insert-log-edit-hints #[(root branch buffer prefix normalized-files) "rq\210\306\307!\211\205\307K\310\216\307\311M\210\212\312 !\313\f!\314 \"A\315\2035 \210\202W\316\216\317\f \" \211B+B \210*.`\247\203d`e\232\202g`e=\203s\320c\210eb\210\202v\321y\210)\322\207" [buffer #1=#:--cl-letf-bound-- #2=#:--cl-letf-save-- root #3=#:G38966 #4=#:G38967 fboundp insert-line ((byte-code "\203 \302 M\210\202\303\302!\210\302\207" [#1# #2# insert-line fmakunbound] 2)) #[(&optional format-string-or-null &rest format-args) "\203\304\305 #\306\307\n\"\203\310\311\312C\"\210 \n\307\261)\207 \203(\310\311\313C\"\210 \307\261\207" [format-string-or-null format-args line prefix apply format position 10 signal cl-assertion-failed (not (position 10 line)) (endp format-args)] 4 "Not documented\n\n(fn &optional FORMAT-STRING-OR-NULL &rest FORMAT-ARGS)"] file-name-as-directory file-truename assoc #[nil "\306\n!\307\n!\310\n!\311\n@\"A ?\211B?\205%\312\n\313\nD\"C\f DB\203;\314\315!\210\314\316!\210\314 \210D\203m\314\317DG\"\210D\320E\211F\203fF@E\314\321E\"\210FA\211F\204R*\314 \210\314 \210\314\322!\210\314@!\210\314 \210\323C!\203\222CG\324Y\203\222C\325HG>\204\226\326\327!\210C\330HH\331HA\332\333$I\331AH\332\333$\211J\204\303I\204\303\314\334!\210\314 \210\202\317J\204\317\314\335!\210\314 \210+K\336=\203\336\314\337!\210\202\314\340!\210\341\342K!\343\"\320E\211L\203L@E\314\321E\"\210LA\211L\204\362*B\203\314 \210\314\344!\210\2024\320\211MN\345\346!\211O\205'\346KP\347\216\346\350M\210\323C!\203HCG\324Y\203HC\325HG>\204L\326\351!\210C\352HQ\320\211RSQ:\203zQ@\211R@S\346S\353\354S\"\"\210QA\211Q\202Z+\323C!\203\224CG\324Y\203\224C\325HG>\204\230\326\355!\210C\356HT\320\211UV\320WT:\203\324T@\211U\211AU@VU@W\346W\353\357VW#\"\210TA\211T\202\251,\323C!\203\356CG\324Y\203\356C\325HG>\204\362\326\360!\210C\361HX\320\211YSX:\203 X@\211Y@S\346S\353\362S\"\"\210XA\211X\202+\323C!\203:CG\324Y\203:C\325HG>\204>\326\363!\210C\364HZ\320\211[S\320\\Z:\203xZ@\211[\211A[@S[@\\\346S\353\365S\"\"\210ZA\211Z\202O,\323C!\203\222CG\324Y\203\222C\325HG>\204\226\326\366!\210C\367H]\320\211^S\320\211_`]:\203\334]@\211^\211A^@S^\211A^@_^@`\346S\353\370S\"\"\210]A\211]\202\252-\323C!\203\366CG\324Y\203\366C\325HG>\204\372\326\371!\210C\372Ha\320\211bS\320ca:\2036a@\211b\211Ab@Sb@c\346S\353\373Sc#\"\210aA\211a\202 ,\323C!\203PCG\324Y\203PC\325HG>\204T\326\374!\210C\375Hd\320\211eS\320\211cfd:\203\236d@\211e\211Ae@Se\211Ae@ce@f\346S\353\376Scf$\"\210dA\211d\202h.N\237NM\237MN\353\377NG\"\201pBBM\353\201qMG\"\201rBBDg\320\211hi\320\211jkg:\2032g@\211h\211Ah@ih\211Ah@jh@k\314 \210\314\321i\203j\202k\"\210i\320l\211m\203(m@l\314\321l\"\210mA\211m\204*gA\211g\202\327. n\314 \210n\204H\314\201s!\202r\314\201tnG\"\210n\320E\211o\203po@E\314\321E\"\210oA\211o\204\\*\320. \207" [#5=#:G38964 #6=#:G38965 root unknown-future missing-future consistent-p-future xmtn--unknown-files-future xmtn--missing-files-future xmtn--tree-consistent-p-future xmtn--heads xmtn--get-revision local-tree insert-line "WARNING: Tree is not consistent." "Commit will fail unless you fix this first." "%s missing file(s):" nil "%s" "Committing on branch:" vectorp 10 0 error "xmtn--revision-old-revision-hash-ids accessing a non-xmtn--revision" 2 subsetp :test equal "This commit will create divergence." "Divergence will continue to exist after this commit." all "All files selected for commit." "File(s) selected for commit:" sort copy-list string< "Unable to compute modified files while the tree is inconsistent." fboundp collect ((byte-code "\203 \302 M\210\202\303\302!\210\302\207" [#7=#:--cl-letf-bound-- #8=#:--cl-letf-save-- collect fmakunbound] 2)) #[(path message) "\305=\204\f \235\203\n B\211\207\n\fB\211\207" [normalized-files path message committed-changes other-changes all] 2] "xmtn--revision-delete accessing a non-xmtn--revision" 3 format "delete %s" "xmtn--revision-rename accessing a non-xmtn--revision" 4 "rename %s to %s" "xmtn--revision-add-dir accessing a non-xmtn--revision" 5 "add_dir %s" "xmtn--revision-add-file accessing a non-xmtn--revision" 6 "add_file %s" "xmtn--revision-patch-file accessing a non-xmtn--revision" 7 "patch %s" "xmtn--revision-clear-attr accessing a non-xmtn--revision" 8 "clear %s %s" "xmtn--revision-set-attr accessing a non-xmtn--revision" 9 "set %s %s %s" "%s change(s) in selected files:" branch heads inconsistent-p revision missing file #9=#:--cl-dolist-temp-- cl-struct-xmtn--revision-tags parents all-parents-are-heads-p all-heads-are-parents-p normalized-files #10=#:--cl-dolist-temp-- other-changes committed-changes #7# #8# #11=#:--cl-var-- #12=#:--cl-var-- path #13=#:--cl-var-- #14=#:--cl-var-- from to #15=#:--cl-var-- #16=#:--cl-var-- #17=#:--cl-var-- #18=#:--cl-var-- contents #19=#:--cl-var-- #20=#:--cl-var-- from-contents to-contents #21=#:--cl-var-- #22=#:--cl-var-- attr-name #23=#:--cl-var-- #24=#:--cl-var-- attr-value #25=#:--cl-var-- #26=#:--cl-var-- lines heading-if heading-if-not line #27=#:--cl-dolist-temp-- unknown #28=#:--cl-dolist-temp-- ("No changes in selected files.") "%s change(s) in files not selected for commit:" ("No changes in files not selected for commit.") "No unknown files." "%s unknown file(s):"] 9] ((byte-code "\203\301!\210\301\207" [#5# xmtn-automate--close-session] 2)) xmtn-automate--make-session "\n" -1 nil xmtn-automate--*sessions* #5# #29=#:G38968 alist value key] 4]) (add-to-list 'format-alist '(xmtn--log-file "This format automatically removes xmtn's log edit hints from\nthe file before saving." nil xmtn--log-file-format-from-fn xmtn--log-file-format-to-fn t nil nil)) (defalias 'xmtn--log-file-format-from-fn #[(begin end) "\300\301\302C\"\210\302\207" [signal cl-assertion-failed nil] 3]) (defalias 'xmtn--log-file-format-to-fn #[(begin end buffer) "\300 \207" [dvc-log-flush-commit-file-list] 1]) (defalias 'xmtn-dvc-log-edit #[(root other-frame no-init) "\203\n\304 \n#\207\304 \n\305#\210\306\307\310\311\"\207" [no-init root other-frame buffer-file-coding-system dvc-dvc-log-edit nil xmtn--monotone-normal-form add-to-list buffer-file-format xmtn--log-file] 4]) (defalias 'xmtn-dvc-log-edit-done #[nil "r\nq\210\306\307!)\206\310\211\310=\203\310\202\"r\nq\210\311 \")r\nq\210\311 \312 \")\313 !9\314 \210\315 !\210\316\317!\211:\f\310=\203M\320\321 \"\202t\fG\322=\203^\323\324\325C\"\210\325\202t\fG\326=\203n\320\327\f@ #\202t\320\330\fG #L\210\316\331!\211;pL\210\316\332!\211<\333 L\210\316\334!\211=\335\336!-\207" [default-directory root dvc-partner-buffer files normalized-files excluded-files dvc-current-file-list nil-if-none-marked all xmtn--normalize-file-names dvc-fileinfo-excluded-files xmtn--tree-default-branch save-buffer dvc-save-some-buffers make-symbol "--progress-message--" format "Committing all files in %s" 0 signal cl-assertion-failed nil 1 "Committing file %s in %s" "Committing %s files in %s" "--log-edit-buffer--" "--log-edit-file--" buffer-file-name "--commit-message-file--" xmtn--make-temp-file expand-file-name "-xmtn" ".tmp" rename-file t xmtn--run-command-async "commit" "--message-file=" "--branch=" mapcar #[(file) "\301P\207" [file "--exclude="] 2] "--depth=0" "--" :error lambda (&rest --cl-rest--) apply #[(#1=#:G38969 #2=#:G38970 #3=#:G38971 #4=#:G38972 output error status arguments) "\306J J\"\210\307\n \f $\207" [#1# #2# output error status arguments rename-file dvc-default-error-function] 5] quote --cl-rest-- :killed #[(#5=#:G38973 #6=#:G38974 #7=#:G38975 #8=#:G38976 output error status arguments) "\306J J\"\210\307\n \f $\207" [#5# #6# output error status arguments rename-file dvc-default-killed-function] 5] :finished #[(#9=#:G38977 #10=#:G38978 #11=#:G38979 #12=#:G38980 output error status arguments) "\304\305J\"\210\306 J!\210\307\nJ!\210\310\311 \312#\207" [#12# #9# #11# default-directory message "%s...done" delete-file kill-buffer dvc-diff-clear-buffers xmtn "* Just committed! Please refresh buffer\n"] 4] message "%s..." set-window-configuration branch #13=#:--cl-progress-message-- #14=#:--cl-log-edit-buffer-- #15=#:--cl-log-edit-file-- #16=#:--cl-commit-message-file-- dvc-pre-commit-window-configuration] 18]) (defalias 'xmtn--normalize-file-name #[(root file-name) "\204\n\302\303\300C\"\210\304 \"\207" [root file-name signal cl-assertion-failed file-relative-name] 4]) (defalias 'xmtn--normalize-file-names #[(root file-names) "<\204 \301\302\303\300E\"\210\304\305\"\207" [file-names signal wrong-type-argument list mapcar #[(file-name) "\302 \"\207" [root file-name xmtn--normalize-file-name] 3]] 5]) (defalias 'xmtn--display-buffer-maybe #[(buffer dont-switch) "p \203 \304\n!\210\202\nq\210 \203\305!\210)\306\207" [orig-buffer dvc-switch-to-buffer-first buffer dont-switch dvc-switch-to-buffer pop-to-buffer nil] 2]) (defalias 'xmtn--parse-diff-for-dvc #[(changes-buffer) "\306 \307\310!\211\205 \310K\311\216\310\312M\210\307\313!\211\205\313K\314\216\313\315M\210\316\317!\320\216r q\2102c\210eb\210\321\322\323\324#\203E\325\326!\210\2026eb\210\327 \210e`|\210p3r3q\210\3304!\210eb\210)\3315\3325!-6\3336!\203\2036G\334Y\203\2036\335H7>\204\207\336\337!\2106\340H8\323\2119:8:\203\2658@\2119@:\310:\341\313:!#\2108A\2118\202\225+\3336!\203\3176G\334Y\203\3176\335H7>\204\323\336\342!\2106\343H;\323\211<=\323>;:\2030;@\211<\211A<@=<@>\344\313=!?\313>!?\"\204\345\346\347C\"\210\310>\350\313>!=$\210\310=\351\313=!>$\210;A\211;\202\344,\3336!\203J6G\334Y\203J6\335H7>\204N\336\352!\2106\353H?\323\211@:?:\203y?@\211@@:\310:\354\324#\210?A\211?\202\\+\3336!\203\2236G\334Y\203\2236\335H7>\204\227\336\355!\2106\356HA\323\211B:\323CA:\203\316A@\211B\211AB@:B@C\310:\354\323#\210AA\211A\202\250,\3336!\203\3506G\334Y\203\3506\335H7>\204\354\336\357!\2106\360HD\323\211E:\323\211FGD:\203/D@\211E\211AE@:E\211AE@FE@G\310:\361\323#\210DA\211D\202. \323\207" [excluded-files #1=#:--cl-letf-bound-- #2=#:--cl-letf-save-- #3=#:--cl-letf-bound-- #4=#:--cl-letf-save-- #5=#:temp-buffer dvc-default-excluded-files fboundp add-entry ((byte-code "\203 \302 M\210\202\303\302!\210\302\207" [#1# #2# add-entry fmakunbound] 2)) #[(path status dir &optional orig-path) "rq\210\306 \n\203$\307\310\311\312 \f\235??\313\314 !\315\316 !\317 \320\321&\f\202G\322\310\311\312 \f\235??\313\314 !\315\316 !\317 \320\203D\323P\202E\321&\f\")\207" [changes-buffer dvc-fileinfo-ewoc dir path excluded-files status ewoc-enter-last make-dvc-fileinfo-dir :mark nil :exclude :dir file-name-directory :file file-name-nondirectory :status :more-status #6="" make-dvc-fileinfo-file "from " orig-path] 16] likely-dir-p ((byte-code "\203 \302 M\210\202\303\302!\210\302\207" [#3# #4# likely-dir-p fmakunbound] 2)) #[(path) "\301\302\"\207" [path string-match "/\\'"] 3] generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#5# buffer-name kill-buffer] 2)) re-search-forward "^# ?" nil t replace-match #6# xmtn-basic-io-skip-blank-lines set-syntax-table #[nil "rq\210\301 )\207" [#7=#:G38981 xmtn-basic-io--next-stanza] 1] xmtn--parse-partial-revision vectorp 10 0 error "xmtn--revision-delete accessing a non-xmtn--revision" 3 deleted "xmtn--revision-rename accessing a non-xmtn--revision" 4 eql signal cl-assertion-failed (eql (not (likely-dir-p from)) (not (likely-dir-p to))) rename-target rename-source "xmtn--revision-add-dir accessing a non-xmtn--revision" 5 added "xmtn--revision-add-file accessing a non-xmtn--revision" 6 "xmtn--revision-patch-file accessing a non-xmtn--revision" 7 modified dvc-header #7# xmtn-basic-io--*syntax-table* parser revision cl-struct-xmtn--revision-tags #8=#:--cl-var-- #9=#:--cl-var-- path #10=#:--cl-var-- #11=#:--cl-var-- from to #12=#:--cl-var-- #13=#:--cl-var-- #14=#:--cl-var-- #15=#:--cl-var-- contents #16=#:--cl-var-- #17=#:--cl-var-- from-contents to-contents] 7]) #@72 Show the base revision of the current monotone tree in the minibuffer. (defalias 'xmtn-show-base-revision #[nil "\302 \303!\211\203\304\305 #\202\304\306\"*\207" [root hash-id-or-null dvc-tree-root xmtn--get-base-revision-hash-id-or-null message "Base revision of tree %s is %s" "Tree %s has no base revision"] 5 (#$ . 22576) nil]) (defalias 'xmtn-dvc-search-file-in-diff #[(file) "\302\303!\304\305 \306\307 \310\311\260)!\207" [file quoted-file re-search-forward regexp-quote "^\\(\\(" "\\+\\+\\+ " "\\)\\|\\(" "# " " is binary" "\\)\\)$"] 9]) (defalias 'xmtn-dvc-diff #[(&optional base-rev path dont-switch) "\303\304\305\306 !DD\n#\207" [base-rev path dont-switch xmtn-dvc-delta xmtn local-tree xmtn-tree-root] 6]) (byte-code "\302B\303\302!\204\304\302\305 \306 \307\310#\210\306 \311\312#\210 )\"\210\302\207" [current-load-list map xmtn-diff-mode-map default-boundp set-default make-sparse-keymap define-key [80] xmtn-propagate-from [72] xmtn-view-heads-revlist] 6) #@25 Mtn specific diff menu. (defvar xmtn-diff-mode-menu nil (#$ . 23573)) (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" [xmtn-diff-mode-map current-load-list xmtn-diff-mode-abbrev-table easy-menu-do-define xmtn-diff-mode-menu "Mtn specific diff menu." ("DVC-Mtn" ["Propagate branch" xmtn-propagate-from t] ["View Heads" xmtn-view-heads-revlist t]) xmtn-diff-mode-hook variable-documentation put "Hook run when entering xmtn-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 xmtn-diff-mode default-boundp set-default make-sparse-keymap xmtn-diff-mode-syntax-table make-syntax-table define-abbrev-table nil derived-mode-parent dvc-diff-mode] 5) #@231 Add back-end-specific commands for dvc-diff. In addition to any hooks its parent mode `dvc-diff-mode' might have run, this mode runs the hook `xmtn-diff-mode-hook', as the final step during initialization. \{xmtn-diff-mode-map} (defalias 'xmtn-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 xmtn-diff-mode-map xmtn-diff-mode-syntax-table parent make-local-variable t dvc-diff-mode xmtn-diff-mode "xmtn-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 xmtn-diff-mode-hook xmtn-diff-mode-abbrev-table local-abbrev-table] 6 (#$ . 24609) nil]) (dvc-add-uniquify-directory-mode 'xmtn-diff-mode) (defalias 'xmtn-dvc-delta #[(from-revision-id to-revision-id &optional dont-switch) "\306 \307\310!\307\311!\211\312 \f\313\314%L\210 L\210\315\nJ!\210\316!\210\317 \"\317\f\"\211 !\320\321\215)\"\322\323\215)B#\324\325#B\326\nJ\327\330\331\332\333\334 D\334\nD\335\257E&\210+\336\nJ J\"\210\nJ+\207" [root #1=#:--cl-dont-switch-- #2=#:--cl-buffer-- from-revision-id to-revision-id dont-switch dvc-tree-root make-symbol "--buffer--" "--dont-switch--" dvc-prepare-changes-buffer diff xmtn buffer-disable-undo dvc-save-some-buffers xmtn--resolve-revision-id --cl-block-match-form-38983-- (byte-code "\305 :\203( @\306=\203( A\211:\205\n@\nA\305=)\203(\307\310\311\312!\"\210)\305 :\203Q @\313=\203Q A\211:\205F\f@\fA\305=)\203Q\307\310\314 P\"\210)\311\315\316 #\207" [path #3=#:object-38982 #4=#:G38985 hash-id #5=#:G38987 nil local-tree throw --cl-block-match-form-38983-- error "not implemented" revision "--revision=" #6="Fell through %S: %S" xmtn-match] 5) --cl-block-match-form-38989-- (byte-code "\306 :\203B @\307=\203B A\211:\205\n@\nA\306=)\203B\310\311\312 \"\2040\313\314\315C\"\210\f\203?\316 ! \204?\317\320!\210\306\"\210)\306 :\203o @\321=\203o A\211:\205c@A\306=)\203o\310\311\322 PC\"\210)\317\323\324 #\207" [path #7=#:object-38988 #8=#:G38991 root dvc-confirm-update hash-id nil local-tree throw --cl-block-match-form-38989-- xmtn--same-tree-p signal cl-assertion-failed (xmtn--same-tree-p root path) xmtn--tree-consistent-p-future error "There are missing files in local tree; unable to diff. Try dvc-status." revision "--revision=" #6# xmtn-match #9=#:G38993] 6) xmtn--run-command-async "diff" :related-buffer :finished lambda (&rest --cl-rest--) apply #[(#10=#:G38994 #11=#:G38995 output error status arguments) "rq\210\303 \210)\304\305 J\nJ\306%\207" [output #11# #10# xmtn--remove-content-hashes-from-diff dvc-show-changes-buffer xmtn--parse-diff-for-dvc "^="] 6] quote --cl-rest-- xmtn--display-buffer-maybe to-resolved from-resolved #3# #7# rev-specs] 14]) (defalias 'xmtn--remove-content-hashes-from-diff #[nil "\212eb\210\300\301\302\303#\205\304\305\303\302\211\306%\210\202)\207" [re-search-forward "^\\(\\+\\+\\+\\|---\\) \\(.*\\)\\( [0-9a-z]\\{40\\}\\)$" nil t replace-match "" 3] 6]) (defalias 'xmtn--simple-finished-notification #[(buffer) "\302\303!\211 L\210\304\305\306\307\310D\311FE)\207" [#1=#:--cl-buffer-- buffer make-symbol "--buffer--" lambda (&rest --cl-rest--) apply #[(#2=#:G38996 output error status arguments) "\301\302J\"\207" [#2# message "Process %s finished"] 3] quote --cl-rest--] 7]) (defalias 'xmtn-dvc-command-version #[nil "\302!\211AA)A@\207" [xmtn-executable x xmtn--command-version] 3]) #@49 Cached value of mtn automate interface version. (defvar xmtn-dvc-automate-version nil (#$ . 28273)) #@42 Return mtn automate version as a number. (defalias 'xmtn-dvc-automate-version #[nil "\203\207\301\302\303\304\"!\211\207" [xmtn-dvc-automate-version string-to-number xmtn--command-output-line nil ("automate" "interface_version")] 4 (#$ . 28379)]) (defalias 'xmtn--unknown-files-future #[(root) "\301\302\"\207" [root xmtn--command-output-lines-future ("ls" "unknown")] 3]) (defalias 'xmtn--missing-files-future #[(root) "\301\302\"\207" [root xmtn--command-output-lines-future ("ls" "missing")] 3]) (defalias 'xmtn--tree-consistent-p-future #[(root) "\302\303!\211\304 !L\210\305\306\307\310\311D\312FE)\207" [#1=#:--cl-missing-files-future-- root make-symbol "--missing-files-future--" xmtn--missing-files-future lambda (&rest --cl-rest--) apply #[(#2=#:G38997) "J ?\207" [#2#] 1] quote --cl-rest--] 7]) (defalias 'xmtn--changes-image #[(change) "\301=\203\302\207\303=\203\304\207\305\306\307#\205\310\207" [change content "content" attrs "attrs " error "ecase failed: %s, %s" (content attrs) nil] 4]) #@30 Create a file entry in ewoc. (defalias 'xmtn--status-process-entry #[(ewoc path status changes old-path-or-null old-type new-type fs-type excluded-files) "\306\232\203\307 \235\204\n\205e\310\232\203 \205e\f\311\232?\205e\312\235\203+\312\202\202\313\235\2035\313\202\202\314\235\203?\314\202\202\315\235\203I\315\202\202\316\235\203S\316\202\202\317\235\203]\317\202\202\320\235\203g\320\202\202\321\235\203q\321\202\202\322\235\205\202\307 \235\203\201\323\202\202\322\324\211\211123\316=?\205\224\32523C=\205\241 \324=?\205\3163\323=\203\271\326\232\205\265 \327\232?\202\3163\312=\203\315\330\232\205\311 \331\232?\202\316\325\211\203\345\332\333\3343\"\335#\332\336 \335#P\202\346\31114\337\232\2035\337\232\203\3736\2025\2024\2117\340=\203.\3418\342\343\324\344\f9\235??\345\346\f!\347\350\f!\3513\3522\3531&\"\202d\3547\355\"\203Z\3418\356\343\324\344\f9\235??\345\346\f!\347\350\f!\3513\3522\3531&\"\202d\357\360\f456%-\207" [status changes dvc-status-display-known dvc-status-display-ignored path need-more-status (known) content (ignored) "" added deleted ignored invalid missing rename-source rename-target unknown known modified nil t (known) (content) (added known) (content) mapconcat dvc-fileinfo-status-image delq " " xmtn--changes-image none directory ewoc-enter-last make-dvc-fileinfo-dir :mark :exclude :dir file-name-directory :file file-name-nondirectory :status :indexed :more-status memql (file none) make-dvc-fileinfo-file error "path %s fs-type %s old-type %s new-type %s" more-status indexed main-status fs-type old-type new-type #1=#:--cl-var-- ewoc excluded-files] 18 (#$ . 29409)]) (defalias 'xmtn--parse-inventory #[(stanza-parser fn) "\303 \211\203\304\305\215\210)\202)\303\207" [stanza stanza-parser #1=#:object-38998 nil --cl-block-match-form-38999-- (byte-code "\306\211\n:\203\n@\211:\205K @\307\232\205K A\211:\205J\f@\211:\205B @\310=\205B A\211 :\205A @ A\306=))\205J\fA\306=))\203\nA\311\312\313\314\"A!\306\211\"#!:\203\201!@\211\"$\315\316\215)#B#!A\211!\202c#\237+%\313\317\"A&\320\321\215)'\313\322\"A(\323\324\215))\313\322\"A*\325\326\215)+\313\327\"A,\306\211\"-,:\203\333,@\211\".\330\331\215)-B-,A\211,\202\275-\237+/\313\332\"A0\333\334\215)12 %/1)+'&.\"\210*\335\336\337\n#\207" [rest path #1# #2=#:G39001 #3=#:G39002 #4=#:G39003 nil "path" string throw --cl-block-match-form-38999-- assoc "status" --cl-block-match-form-39027-- (byte-code "\301\232\203 \302\303\304\"\210\305\232\203\302\303\306\"\210\307\232\203!\302\303\310\"\210\311\232\203,\302\303\312\"\210\313\232\2037\302\303\314\"\210\315\232\203B\302\303\316\"\210\317\232\203M\302\303\320\"\210\321\232\203X\302\303\322\"\210\323\232\203c\302\303\324\"\210\325\326\327#\207" [#5=#:object-39026 (string "added") throw --cl-block-match-form-39027-- added (string "dropped") deleted (string "invalid") invalid (string "known") known (string "missing") missing (string "ignored") ignored (string "unknown") unknown (string "rename_target") rename-target (string "rename_source") rename-source error #6="Fell through %S: %S" xmtn-match] 4) "fs_type" --cl-block-match-form-39006-- (byte-code "\301\232\203 \302\303\304\"\210\305\232\203\302\303\306\"\210\307\232\203!\302\303\310\"\210\311\312\313#\207" [#7=#:object-39005 ((string "file")) throw --cl-block-match-form-39006-- file ((string "directory")) directory ((string "none")) none error #6# xmtn-match] 4) "new_type" --cl-block-match-form-39011-- (byte-code "\301\232\203 \302\303\304\"\210\305\232\203\302\303\306\"\210\307=\203!\302\303\310\"\210\311\312\313#\207" [#8=#:object-39010 ((string "file")) throw --cl-block-match-form-39011-- file ((string "directory")) directory nil none error #6# xmtn-match] 4) --cl-block-match-form-39016-- (byte-code "\301\232\203 \302\303\304\"\210\305\232\203\302\303\306\"\210\307=\203!\302\303\310\"\210\311\312\313#\207" [#9=#:object-39015 ((string "file")) throw --cl-block-match-form-39016-- file ((string "directory")) directory nil none error #6# xmtn-match] 4) "changes" --cl-block-match-form-39038-- (byte-code "\301\232\203 \302\303\304\"\210\305\232\203\302\303\306\"\210\307\310\311#\207" [#10=#:object-39037 (string "content") throw --cl-block-match-form-39038-- content (string "attrs") attrs error #6# xmtn-match] 4) "old_path" --cl-block-match-form-39021-- (byte-code "\304 :\2036 @\211:\205&\n@\305=\205&\nA\211:\205% @ A\304=))\2036 A\304=\2036\306\307\"\210) \304=\203B\306\307\304\"\210\310\311\312 #\207" [old-path #11=#:object-39020 #12=#:G39023 #13=#:G39024 nil string throw --cl-block-match-form-39021-- error #6# xmtn-match] 5) error #6# xmtn-match #14=#:G39004 #15=#:--cl-var-- entry #16=#:--cl-var-- #5# status #7# fs-type #8# old-type #9# new-type #17=#:--cl-var-- #18=#:--cl-var-- #10# changes #11# old-path-or-null fn] 11)] 3]) (defalias 'xmtn--status-using-inventory #[(root) "\306!\307!\310\n\"\211G\311\312\313 DD\312\314DD\315\312%\316!\210\317 !\210\320 !\210\321 \210\322 !\211@\203=\323\324 \"\210)\325\326\327!!\211AA\330\331\332\"!\210\330 \203[\331\333 \"\202\\\334!\210\330\331\335\n\"!\210\330\f\336=\203p\337\202~\f\340=\203z\341\202~\331\342\f\"!\210\330 \235\203\213\343\202\214\344!\210)rAq\210\345 \346\347!\210*\350BCr q\210\351D\352 \210\353E\354FCB#\210\355F\356\357\360\"\"\210\361F!\210)\362\363!\211G L\210\362\364!\211HL\210\365HJ\366\367\370\371 \205\352I?\205\352\372\371 \205\366J?\205\366\373\"BB\374\375\376\377\201K\201LHD\201LGD\201M\257E\201N\375\376\377\201O\201LHD\201LGD\201M\257E\201P\375\376\377\201Q\201LHD\201LGD\201M\257E&. \207" [root base-revision branch head-revisions head-count status-buffer xmtn--get-base-revision-hash-id-or-null xmtn--tree-default-branch xmtn--heads dvc-prepare-changes-buffer xmtn revision local-tree status dvc-save-some-buffers dvc-switch-to-buffer-maybe dvc-kill-process-maybe accept-process-output dvc-processes-related-to-buffer error "Process still running in buffer %s" get-buffer-create generate-new-buffer-name " *string-output*" princ format "Status for %s:\n" " base revision %s\n" " tree has no base revision\n" " branch %s\n" 0 " branch is empty\n" 1 " branch is merged\n" " branch has %s heads\n" " base revision is a head revision\n" " base revision is not a head revision\n" buffer-string kill-buffer nil "" t buffer-disable-undo xmtn-dvc-status ewoc-set-hf ewoc-enter-last vector cl-struct-dvc-fileinfo-message "Running monotone..." ewoc-refresh make-symbol "--status-buffer--" "--root--" xmtn--run-command-async "automate" "inventory" append xmtn--have-no-ignore ("--no-unchanged") ("--no-ignored") :finished lambda #1=(&rest --cl-rest--) apply processes standard-output footer header buffer-read-only dvc-buffer-refresh-function dvc-fileinfo-ewoc #2=#:--cl-status-buffer-- #3=#:--cl-root-- dvc-status-display-known dvc-status-display-ignored #[(#4=#:G39046 #5=#:G39047 output error status arguments) "rJq\210\306 \307\310\311\"\"\210\312 !\210\313\314!\210\315 \210\316\317!\316\320!\211\321 L\210\n\322L\210\fr q\210\323!\210eb\210)\324\325\326\327\330\331\332\nD\332 D\332 D\332D\333\257E\"\210*\nJ?\205d\334J\335 J#+\207" [#5# dvc-fileinfo-ewoc #6=#:--cl-changesp-- #7=#:--cl-excluded-files-- output #8=#:G39041 ewoc-enter-last vector cl-struct-dvc-fileinfo-message "Parsing inventory..." ewoc-refresh dvc-redisplay t dvc-fileinfo-delete-messages make-symbol "--excluded-files--" "--changesp--" dvc-default-excluded-files nil set-syntax-table #[nil "rq\210\301 )\207" [#8# xmtn-basic-io--next-stanza] 1] xmtn--parse-inventory lambda #1# apply #[(#9=#:G39042 #10=#:G39043 #11=#:G39044 #12=#:G39045 path status changes old-path-or-null old-type new-type fs-type) "\306 \n \f  \nJ& \205 \307L\207" [dvc-fileinfo-ewoc path status changes old-path-or-null old-type xmtn--status-process-entry t new-type fs-type #10# #9#] 10] quote --cl-rest-- dvc-diff-no-changes "No changes in %s" xmtn-basic-io--*syntax-table* parser #4#] 12] quote --cl-rest-- :error #[(#13=#:G39048 #14=#:G39049 output error status arguments) "\304J\305\306 \"\n $\207" [#14# arguments output error dvc-diff-error-in-process format "Error running mtn with arguments %S"] 5] :killed #[(#15=#:G39050 #16=#:G39051 output error status arguments) "\304\305!\306\216rq\210\307 J\310\311\n\"p $+\207" [#17=#:temp-buffer #16# arguments error generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#17# buffer-name kill-buffer] 2)) dvc-diff-error-in-process format "Received signal running mtn with arguments %S"] 5]] 16]) #@57 Display status of monotone tree at `default-directory'. (defalias 'xmtn-dvc-status #[nil "\301!\207" [default-directory xmtn--status-using-inventory] 2 (#$ . 38186)]) (defalias 'xmtn-dvc-revision-direct-ancestor #[(revision-id) "\303 \304 \"\305\306\307\n\310BB\"*D\207" [root revision-id resolved-id dvc-tree-root xmtn--resolve-revision-id xmtn xmtn--resolve-backend-id previous-revision (1)] 6]) (defalias 'xmtn-dvc-name-construct #[(backend-revision) ";\203 \301!\204\302\303\304\300E\"\210\207" [backend-revision xmtn--hash-id-p signal wrong-type-argument xmtn--hash-id] 5]) (defalias 'xmtn--mtnignore-file-name #[(root) "\301!\302P\207" [root file-name-as-directory ".mtn-ignore"] 2]) (defalias 'xmtn-dvc-edit-ignore-files #[nil "\300\301\302 !!\207" [find-file-other-window xmtn--mtnignore-file-name dvc-tree-root] 3]) (defalias 'xmtn--quote-string-as-partial-perl-regexp #[(string) "\306\307\310\311!!\211\n\312\313\fT\211 GW\2030 \fH\314 \"\203)\315\316!\210\315 !\210\202,r q\210\317 \320\313!\210+\207" [special-chars standard-output string #1=#:--cl-vec-- #2=#:--cl-idx-- char ".[{()*+?|^$" get-buffer-create generate-new-buffer-name " *string-output*" -1 nil position write-char 92 buffer-string kill-buffer] 4]) (defalias 'xmtn--perl-regexp-for-extension #[(extension) "\301\302\303!\"\207" [extension format "\\.%s$" xmtn--quote-string-as-partial-perl-regexp] 4]) (defalias 'xmtn--perl-regexp-for-file-name #[(file-name) "\301\302\303!\"\207" [file-name format "^%s$" xmtn--quote-string-as-partial-perl-regexp] 4]) (defalias 'xmtn--perl-regexp-for-files-in-directory #[(directory-file-name) "\301\302\303\304!!\"\207" [directory-file-name format "^%s" xmtn--quote-string-as-partial-perl-regexp file-name-as-directory] 5]) (defalias 'xmtn--perl-regexp-for-extension-in-dir #[(file-name) "\301\302\303\304!!\303\305!!#\207" [file-name format "^%s.*\\.%s$" xmtn--quote-string-as-partial-perl-regexp file-name-directory file-name-extension] 6]) (defalias 'xmtn--add-patterns-to-mtnignore #[(root patterns interactive-p) "\302!\303\213\210)\304\207" [root mtnignore-file-name xmtn--mtnignore-file-name ((byte-code "\306!\210\212\307\n\307 :\203; @eb\210\310\311\312\f!\313Q\307\314#\2044db\210n\204-\315c\210\f\315\261\210\314 A\211\202\f* \203h \203e\203e\316\317!\211pL\210\320\307\321\322\323\324\325D\326FE\"\210)\202h\327 \210*\307\207" [mtnignore-file-name modified-p patterns #1=#:--cl-var-- pattern interactive-p find-file-other-window nil re-search-forward "^" regexp-quote "$" t "\n" make-symbol "--buffer--" save-some-buffers lambda (&rest --cl-rest--) apply #[(#2=#:G39052) "p\247\203\npJ\232\207pJ=\207" [#2#] 2] quote --cl-rest-- save-buffer dvc-confirm-ignore #3=#:--cl-buffer--] 9)) nil] 2]) (defalias 'xmtn-dvc-ignore-files #[(file-names) "\204\n\306\307\310C\"\210\311 \312 \"G\313=\203!\314\315\n@\"\202&\314\316\nG\"\f\2035\317\314\320 #!\205@\321 \211\322\323\n\")\324#+\207" [file-names root normalized-file-names msg dvc-confirm-ignore default-directory signal cl-assertion-failed (not (endp file-names)) dvc-tree-root xmtn--normalize-file-names 1 format "%s" "%s files/directories" y-or-n-p "Ignore %s in monotone tree %s? " xmtn--add-patterns-to-mtnignore mapcan #[(file-name) "\301!\204\302 \204\303!\204\304!C\207\305!\304!\306!D\207" [file-name file-symlink-p xmtn--have-no-ignore file-directory-p xmtn--perl-regexp-for-file-name directory-file-name xmtn--perl-regexp-for-files-in-directory] 3] t] 5]) (defalias 'xmtn-dvc-backend-ignore-file-extensions #[(extensions) "\301\302 \303\304\"\305#\207" [extensions xmtn--add-patterns-to-mtnignore dvc-tree-root mapcar xmtn--perl-regexp-for-extension t] 5]) (defalias 'xmtn-dvc-backend-ignore-file-extensions-in-dir #[(file-list) "\301\302 \303\304\"\305#\207" [file-list xmtn--add-patterns-to-mtnignore dvc-tree-root mapcar xmtn--perl-regexp-for-extension-in-dir t] 5]) (defalias 'xmtn--add-files #[(root file-names) "\304\211\203\n@\305 !\203\306\307\310C\"\210\nA\211\204*\311 \"\312 \313\314BB\"\207" [file-names file-name #1=#:--cl-dolist-temp-- root nil file-symlink-p signal cl-assertion-failed (not (file-symlink-p file-name)) xmtn--normalize-file-names xmtn--run-command-sync "add" "--"] 5]) (defalias 'xmtn--file-registered-p #[(root file-name) "\303 \"\304\305\215)\207" [root file-name normalized-file-name xmtn--normalize-file-name --cl-block-parse-- (byte-code "\306\307\310 !\311\f!\312 \"A\313\203% \210\202G\314\216\315\f \" \211B+B \210*.\307\207" [root #1=#:G39056 #2=#:G39055 #3=#:G39054 #4=#:G39060 #5=#:G39061 ("inventory") nil file-name-as-directory file-truename assoc #[nil "\211\n \306\307\216\310 #\211\311!\210\312!\210\313!rq\210\314!\210eb\210)\315\316\317\". \207" [#6=#:G39059 #7=#:G39057 #2# #1# #8=#:G39066 #9=#:G39065 nil ((byte-code "\203\301!\210\301\207" [#8# xmtn-automate--cleanup-command] 2)) xmtn-automate--new-command xmtn-automate-command-check-for-and-report-error xmtn-automate-command-wait-until-finished xmtn-automate-command-buffer set-syntax-table #[nil "rq\210\301 )\207" [#10=#:G39067 xmtn-basic-io--next-stanza] 1] xmtn--parse-inventory #[(path status changes old-path-or-null old-type new-type fs-type) " \232\205\n\302\303\304\"\207" [normalized-file-name path throw --cl-block-parse-- t] 3] #11=#:G39064 #12=#:G39063 #13=#:G39058 #10# xmtn-basic-io--*syntax-table* parser] 5] ((byte-code "\203\301!\210\301\207" [#6# xmtn-automate--close-session] 2)) xmtn-automate--make-session xmtn-automate--*sessions* #6# #14=#:G39062 alist value key] 4)] 3]) (defalias 'xmtn-dvc-add-files #[(&rest files) "\301\302 \"\207" [files xmtn--add-files dvc-tree-root] 3]) (defalias 'xmtn-dvc-add #[(file) "\301\302 C\"\207" [file xmtn--add-files dvc-tree-root] 3]) (defalias 'xmtn--do-remove #[(root file-names do-not-execute) "\303\304\305 \205 \306\307\310\n\"#B\"\210\311\207" [root do-not-execute file-names xmtn--run-command-sync "drop" append ("--bookkeep-only") ("--") xmtn--normalize-file-names nil] 9]) (defalias 'xmtn-dvc-remove-files #[(&rest files) "\301\302 \303#\207" [files xmtn--do-remove dvc-tree-root nil] 4]) (defalias 'xmtn-dvc-rename #[(from-name to-name bookkeep-only) "\306 \307 \"\307\n\"\310\311\312 \205\313\314 \fE\"B\"+\207" [root to-name from-name from-normalized-name to-normalized-name bookkeep-only dvc-tree-root xmtn--normalize-file-name xmtn--run-command-sync "rename" append ("--bookkeep-only") "--"] 8]) (defalias 'xmtn--heads #[(root branch) "\302\303 D\"\207" [root branch xmtn-automate-simple-command-output-lines "heads"] 4]) (defalias 'xmtn--insert-hint-into-process-buffer #[(string) "\305\306\212` c\210`S\307\n\f\310#-\207" [deactivate-mark inhibit-read-only start string end t nil add-text-properties (face (:slant italic))] 4]) (defalias 'xmtn--run-command-that-might-invoke-merger #[(root command) "\302 \303\304\305\306&\210\307 \210eb\210\310\311\312!!\210db\207" [root command xmtn--run-command-async :finished #[(output error status arguments) "rq\210\212db\210\301\302!\210*\303\304!\207" [output xmtn--insert-hint-into-process-buffer "[process finished]\n" message "... done"] 2] :error #[(output error status arguments) "rq\210\212db\210\301\302!*\207" [output xmtn--insert-hint-into-process-buffer "[process terminated with an error]\n"] 2] dvc-show-process-buffer xmtn--insert-hint-into-process-buffer substitute-command-keys "This buffer will show the output of the mtn subprocess, if any.\nTo send an \"enter\" keystroke to mtn, use \\[xmtn-send-enter-to-subprocess]\nin this buffer. This might be necessary if mtn launches an external merger.\nWhen mtn has finished, just bury this buffer, or kill it.\n"] 7]) #@181 Send an "enter" keystroke to a monotone subprocess. To be used in an xmtn process buffer. Useful when monotone spawns an external merger and asks you to hit enter when finished. (defalias 'xmtn-send-enter-to-subprocess #[nil "\306\211\306\307\306 :\203G @\211\211A@\n@p\247\203+p\310 !\232\2020p\310 !=\203< \306\211\202=\307\203G A\211\202.\211\204U\311\312p\"\210\313 \314\"\210\212db\210\315\316!*\207" [dvc-process-running #1=#:--cl-var-- #2=#:--cl-var-- process #3=#:--cl-var-- #4=#:--cl-var-- nil t process-buffer error "No active process for buffer %s found" process-send-string "\n" xmtn--insert-hint-into-process-buffer "[sent enter keystroke]\n" #5=#:--cl-var--] 5 (#$ . 45988) nil]) (defalias 'xmtn--do-explicit-merge #[(root left-revision-hash-id right-revision-hash-id destination-branch-name) ";\204 \304\305\306\300E\"\210 ;\203\307 !\204 \304\305\310 \301E\"\210\n;\203+\307\n!\2043\304\305\310\n\302E\"\210 ;\204@\304\305\306 \303E\"\210\311\312\313 \n \257\"\210\314\207" [root left-revision-hash-id right-revision-hash-id destination-branch-name signal wrong-type-argument string xmtn--hash-id-p xmtn--hash-id xmtn--run-command-that-might-invoke-merger "explicit_merge" "--" nil] 7]) (defalias 'xmtn--do-disapprove-future #[(root revision-hash-id) ";\204 \302\303\304\300E\"\210 ;\203\305 !\204 \302\303\306 \301E\"\210\307\310 D\"\207" [root revision-hash-id signal wrong-type-argument string xmtn--hash-id-p xmtn--hash-id xmtn--command-output-lines-future "disapprove"] 5]) (defalias 'xmtn--do-update #[(root target-revision-hash-id changes-p) ";\204 \305\306\307\300E\"\210 ;\203\310 !\204 \305\306\311 \301E\"\210\312\313 #\314\315 PD\f\203=\316\317 \"\210\320\n\"\210\202L\316\321 \"\210\322\n\"\210\316\323 \"\210*\324!\210\325\207" [root target-revision-hash-id command progress-message changes-p signal wrong-type-argument string xmtn--hash-id-p xmtn--hash-id format "Updating tree %s to revision %s" "update" "--revision=" message "%s" xmtn--run-command-that-might-invoke-merger "%s..." xmtn--run-command-sync "%s...done" dvc-revert-some-buffers nil] 5]) (defalias 'xmtn--update-after-confirmation #[(root target-revision-hash-id) "\304! \232\203\305\306 #\210\307!\210\310 \203G\311! \204#\305\312!\210\313\314\315 #!\2041\305\316!\210\317! \211\203G\320\314\321\"!\204G\305\316!\210\322 \n#\210)\310\207" [root target-revision-hash-id changes-p dvc-confirm-update xmtn--get-base-revision-hash-id error "Tree %s is already based on target revision %s" dvc-save-some-buffers nil xmtn--tree-consistent-p-future "Tree is inconsistent, unable to update" y-or-n-p format "Update tree %s to revision %s? " "Aborted update" xmtn--tree-has-changes-p-future yes-or-no-p "Tree %s contains uncommitted changes. Update anyway? " xmtn--do-update] 6]) (defalias 'xmtn-dvc-update #[nil "\306 \307!\310 !\311\n \"A\312\f\203 \210\202:\313\216\314 \n\"\n\f \211B+B \210*-\315\207" [root #1=#:G39070 #2=#:G39071 xmtn-automate--*sessions* #3=#:G39068 #4=#:G39072 dvc-tree-root file-name-as-directory file-truename assoc #[nil "\305\n!\306\n \"\211G\307=\203\310\311\312C\"\210\312\2023\fG\313=\203+\314\n\f@\"\2023\315\316\317! \fG#+\207" [#3# #5=#:G39069 root branch heads xmtn--tree-default-branch xmtn--heads 0 signal cl-assertion-failed nil 1 xmtn--update-after-confirmation error substitute-command-keys "Branch %s is unmerged (%s heads). Try \\[dvc-log] and \\[dvc-merge]"] 5] ((byte-code "\203\301!\210\301\207" [#3# xmtn-automate--close-session] 2)) xmtn-automate--make-session nil alist value key] 4]) #@51 Propagate from OTHER branch to local tree branch. (defalias 'xmtn-propagate-from #[(other) "\304 \305\300J!\306\n\307\301JR\310\311\303J\"\210\312\300J\313\n\301JE\"+\207" [#1=#:--cl-root-- #2=#:--cl-local-branch-- other #3=#:--cl-cmd-- dvc-tree-root xmtn--tree-default-branch "propagate " " " message "%s..." xmtn--run-command-that-might-invoke-merger "propagate"] 5 (#$ . 49633) "MPropagate from branch: "]) (defalias 'xmtn-dvc-merge #[(&optional other) "\203 \306!\210\202I\307 \310 !\311\n!\312 \f\"A\313 \203* \210\202H\314\216\315\n \" \f\211B+B \210*-\316\207" [other root #1=#:G39075 #2=#:G39076 xmtn-automate--*sessions* #3=#:G39073 xmtn-propagate-from dvc-tree-root file-name-as-directory file-truename assoc #[nil "\305\n!\306\n \"\211G\307=\203\310\311\312C\"\210\312\202-\fG\313=\203)\314\315!\202-\316\n\317\"+\207" [#3# #4=#:G39074 root branch heads xmtn--tree-default-branch xmtn--heads 0 signal cl-assertion-failed nil 1 message "already merged" xmtn--run-command-that-might-invoke-merger ("merge")] 4] ((byte-code "\203\301!\210\301\207" [#3# xmtn-automate--close-session] 2)) xmtn-automate--make-session nil #5=#:G39077 alist value key] 4]) #@32 Implement `dvc-pull' for xmtn. (defalias 'xmtn-dvc-pull #[nil "\302\303!\211\304 L\210\302\305!\211\306JPL\210\307\310 J\"\210\311J\312\313 J\314 J\315\316\317\320\321\322 D\322D\323\257E&*\207" [#1=#:--cl-root-- #2=#:--cl-name-- make-symbol "--root--" dvc-tree-root "--name--" "mtn pull " message "%s..." xmtn--run-command-async ("pull") :output-buffer :error-buffer :finished lambda (&rest --cl-rest--) apply #[(#3=#:G39078 #4=#:G39079 output error status arguments) "\302!\210\303\304 J\"\207" [output #3# pop-to-buffer message "%s...done"] 3] quote --cl-rest--] 16 (#$ . 50844)]) (defalias 'xmtn-dvc-revert-files #[(&rest file-names) ";\203C\305 \204\306\307\310C\"\210\311 !\210\312 \"\313\314!\313\315!\211 L\210 G\316=\203:\317\320@\"\202?\317\321G\"L\210\322\323 J\"\210\324\fJ\325\326\nBB\327\330\331\332\333\334 D\334\fD\335\257E$\210\336\fJ!\210,\337\207" [file-names root normalized-file-names #1=#:--cl-progress-message-- #2=#:--cl-root-- dvc-tree-root signal cl-assertion-failed (not (endp file-names)) dvc-save-some-buffers xmtn--normalize-file-names make-symbol "--root--" "--progress-message--" 1 format "Reverting file %s" "Reverting %s files" message "%s..." xmtn--run-command-sync "revert" "--" :finished lambda (&rest --cl-rest--) apply #[(#3=#:G39080 #4=#:G39081 output error status arguments) "\301\302J\"\207" [#3# message "%s...done"] 3] quote --cl-rest-- dvc-revert-some-buffers nil] 12]) (defalias 'xmtn-revision-get-previous-revision #[(file revision-id) "\303\304 \211A@)D\"\207" [file revision-id x xmtn--revision-get-file-helper previous-revision] 5]) (defalias 'xmtn-revision-get-last-revision #[(file stuff) "\302\303 B\"\207" [file stuff xmtn--revision-get-file-helper last-revision] 4]) (defalias 'xmtn-revision-get-file-revision #[(file stuff) "\302\303 B\"\207" [file stuff xmtn--revision-get-file-helper revision] 4]) #@68 Fill current buffer with the contents of FILE revision BACKEND-ID. (defalias 'xmtn--revision-get-file-helper #[(file backend-id) "\306 \307!\310 !\311\n \"A\312\f\203 \2028\313\216\314 \n\"\n\f  \211B +B *-\207" [root #1=#:G39084 #2=#:G39085 xmtn-automate--*sessions* #3=#:G39082 #4=#:G39086 dvc-tree-root file-name-as-directory file-truename assoc #[nil "\306\n \"\307\n\f\310\nD $\211\205\204\311 \312\216\313\314\315\"\211 \316Q!\317\320!!\315\"\210!\321\322\323!!\"#\324\216r\"q\210\325\311!\210\326$\327\n p$\210)r\"q\210~\210\330ed#\311\331%\210,p%\332\333!&\334\216r&q\210\335!!\210p'r%q\210\336'!. +\207" [#3# #5=#:G39083 root file normalized-file backend-id xmtn--normalize-file-name xmtn--get-corresponding-path local-tree nil ((byte-code "\203\301!\210\301\207" [temp-dir dvc-delete-recursively] 2)) xmtn--make-temp-file "xmtn--revision-get-file-" t "/" make-directory file-name-directory get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n\302!\210\301\207" [#6=#:temp-buffer buffer-name kill-buffer] 2)) set-buffer-multibyte binary xmtn--insert-file-contents-by-name write-region 0 generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#7=#:temp-buffer buffer-name kill-buffer] 2)) insert-file-contents insert-buffer-substring corresponding-file temp-dir temp-file #6# #8=#:temp-file buffer-file-coding-system output-buffer #7# input-buffer] 7] ((byte-code "\203\301!\210\301\207" [#3# xmtn-automate--close-session] 2)) xmtn-automate--make-session alist value key] 4 (#$ . 52738)]) (defalias 'xmtn--revision-parents #[(root revision-hash-id) "\302\303 D\"\207" [root revision-hash-id xmtn-automate-simple-command-output-lines "parents"] 4]) (defalias 'xmtn--get-content-changed #[(root backend-id normalized-file) "\306!\307 !\310\n \"A\311\f\203 \2025\312\216\313 \n\"\n\f \f \211 B\f+B *,\207" [root #1=#:G39089 #2=#:G39090 xmtn-automate--*sessions* #3=#:G39087 #4=#:G39091 file-name-as-directory file-truename assoc #[nil "\305\n \"\306\307\215*\207" [#3# #5=#:G39088 root backend-id #6=#:object-39092 xmtn--resolve-backend-id --cl-block-match-form-39093-- (byte-code "\306 :\203( @\307=\203( A\211:\205\n@\nA\306=)\203(\310\311\312\313!\"\210)\306 :\203\244 @\314=\203\244 A\211:\205F\f@\fA\306=)\203\244\310\311 \315 E\306\316!\317!\320\"A\321\203| \202\240\322\216\323\" \211! B+B *.\"\210)\312\324\325 #\207" [path #6# #7=#:G39095 revision-hash-id #8=#:G39097 root nil local-tree throw --cl-block-match-form-39093-- error "Not implemented" revision "get_content_changed" file-name-as-directory file-truename assoc #[nil "\211\n \306\307\216\310 #\211\311!\210\312!\210\313!rq\210\314!\210eb\210)\315\306\211 \211\203Y\316\317\215)B\202@\237. \207" [#9=#:G39104 #10=#:G39102 #11=#:G39100 #12=#:G39101 #13=#:G39111 #14=#:G39110 nil ((byte-code "\203\301!\210\301\207" [#13# xmtn-automate--cleanup-command] 2)) xmtn-automate--new-command xmtn-automate-command-check-for-and-report-error xmtn-automate-command-wait-until-finished xmtn-automate-command-buffer set-syntax-table #[nil "rq\210\301 )\207" [#15=#:G39112 xmtn-basic-io--next-stanza] 1] --cl-block-match-form-39114-- (byte-code "\306 :\203V @\211:\205F\n@\307\232\205F\nA\211:\205E @\211:\205=\f@\310=\205=\fA\211:\205< @ A\306=))\205E A\306=))\203V A\306=\203V\311\312\"\210)\313\314\315 #\207" [previous-id #16=#:object-39113 #17=#:G39116 #18=#:G39117 #19=#:G39118 #20=#:G39119 nil "content_mark" id throw --cl-block-match-form-39114-- error #21="Fell through %S: %S" xmtn-match] 5) #22=#:G39109 #23=#:G39108 #24=#:G39103 #15# xmtn-basic-io--*syntax-table* parser stanza #25=#:--cl-var-- #16#] 5] ((byte-code "\203\301!\210\301\207" [#9# xmtn-automate--close-session] 2)) xmtn-automate--make-session #21# xmtn-match normalized-file #12# #11# #26=#:G39099 #27=#:G39105 #28=#:G39106 xmtn-automate--*sessions* #9# #29=#:G39107 alist value key] 7)] 3] ((byte-code "\203\301!\210\301\207" [#3# xmtn-automate--close-session] 2)) xmtn-automate--make-session alist value key] 4]) #@47 Not documented (fn FN INITIAL-SET &key TEST) (defalias 'xmtn--close-set #[(fn initial-set &rest #1=#:--cl-rest--) "\306>A@\n\2032\n@\307>\203\nAA\211\202 \310>A@\203)\311\211\202 \312\313\n@\"\210\202) \2049\314\311\211\315\211?\205G\f \244 \203S\316!\202\206\f\311\211:\203\202@\316\317! \306 $!\237\244A\211\202^\237+\211\203\221\311\211\202@ ,\207" [#1# test #2=#:--cl-keys-- current-set new-elements #3=#:--cl-var-- :test (:test :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:test)" eql t copy-list set-difference initial-set #4=#:--cl-var-- new-element #5=#:--cl-var-- fn] 9 (#$ . 56977)]) (defalias 'xmtn--get-content-changed-closure #[(root backend-id normalized-file) "\306!\307 !\310\n \"A\311\f\203 \2025\312\216\313 \n\"\n\f \f \211 B\f+B *,\207" [root #1=#:G39122 #2=#:G39123 xmtn-automate--*sessions* #3=#:G39120 #4=#:G39124 file-name-as-directory file-truename assoc #[nil "\306\307!\211 L\210\306\310!\306\311!\211\312L\210\f\312L\210 \313\314\315\316\317\fD\317 D\317\nD\320\257EL\210\f\313\314\315\321\317\fD\317 D\317\nD\320\257EL\210\322 J\323\nJ\"\324\325\215)\326\327$,\207" [#3# #5=#:G39121 #6=#:--cl-root-- root #7=#:--cl---cl-var--39125-- #8=#:--cl---cl-var--39126-- make-symbol "--root--" "----cl-var--39126--" "----cl-var--39125--" nil lambda (&rest --cl-rest--) apply #[(#9=#:G39127 #10=#:G39128 #11=#:G39129 entry) "\211G\306U\203 \211A@\202\307\310\311 GD\" @\211;\204)\307\312\313 \303E\"\210\314\fJ\n\"\311\211\311 :\203f @\315\fJ \n$\211\203_\316JD!!\244 A\211\2029\237.\207" [entry #12=#:--cl-rest-- hash-id file-name #11# #13=#:--cl-var-- 2 signal wrong-number-of-arguments nil wrong-type-argument string xmtn--revision-parents xmtn--get-corresponding-path-raw reverse parent-id path-in-parent #14=#:--cl-var-- #9#] 7] quote --cl-rest-- #[(#15=#:G39130 #16=#:G39131 #17=#:G39132 entry) "\211G\306U\203 \211A@\202\307\310\311 GD\" @\211;\204)\307\312\313 \303E\"\210\314\fJ\315\nD #\311\211\311 :\203c @\316\fJ \n$\211\203\\DB A\211\202<\237.\207" [entry #18=#:--cl-rest-- hash-id file-name #17# #19=#:--cl-var-- 2 signal wrong-number-of-arguments nil wrong-type-argument string xmtn--get-content-changed revision xmtn--get-corresponding-path-raw next-change-id corresponding-path #20=#:--cl-var--] 7] xmtn--close-set xmtn--resolve-backend-id --cl-block-match-form-39134-- (byte-code "\306 :\203( @\307=\203( A\211:\205\n@\nA\306=)\203(\310\311\312\313!\"\210)\306 :\203U @\314=\203U A\211:\205F\f@\fA\306=)\203U\310\311 J D!\"\210)\312\315\316 #\207" [path #21=#:object-39133 #22=#:G39136 id #23=#:G39138 #7# nil local-tree throw --cl-block-match-form-39134-- error "Not implemented" revision "Fell through %S: %S" xmtn-match normalized-file] 6) :test equal backend-id #21#] 10] ((byte-code "\203\301!\210\301\207" [#3# xmtn-automate--close-session] 2)) xmtn-automate--make-session alist value key] 4]) (defalias 'xmtn--get-corresponding-path-raw #[(root normalized-file-name source-revision-hash-id target-revision-hash-id) ";\204 \306\307\310\300E\"\210 \311\n F\312\313!\314!\315\"A\316\203; \202_\317\216\320\"\211B+B *.\207" [normalized-file-name root source-revision-hash-id target-revision-hash-id #1=#:G39142 #2=#:G39141 signal wrong-type-argument string "get_corresponding_path" nil file-name-as-directory file-truename assoc #[nil "\211\n \306\307\216\310 #\211\311!\210\312!\210\313!rq\210\314!\210eb\210)\315\211 \316\317\215.\n\207" [#3=#:G39145 #4=#:G39143 #2# #1# #5=#:G39152 #6=#:G39151 nil ((byte-code "\203\301!\210\301\207" [#5# xmtn-automate--cleanup-command] 2)) xmtn-automate--new-command xmtn-automate-command-check-for-and-report-error xmtn-automate-command-wait-until-finished xmtn-automate-command-buffer set-syntax-table #[nil "rq\210\301 )\207" [#7=#:G39153 xmtn-basic-io--next-stanza] 1] --cl-block-match-form-39155-- (byte-code "\306=\203 \307\310\306\"\210\306:\203m@\211:\205Q\n@\311\232\205Q\nA\211:\205P @\211:\205H\f@\312=\205H\fA\211:\205G @ A\306=))\205P A\306=))\203mA\306=\203m\307\310 \203j\313\314\315C\"\210 \"\210)\316\317\320#\207" [#8=#:object-39154 result #9=#:G39158 #10=#:G39159 #11=#:G39160 #12=#:G39161 nil throw --cl-block-match-form-39155-- "file" string signal cl-assertion-failed (null (funcall next-stanza)) error "Fell through %S: %S" xmtn-match next-stanza] 6) #13=#:G39150 #14=#:G39149 #15=#:G39144 #7# xmtn-basic-io--*syntax-table* next-stanza #8#] 5] ((byte-code "\203\301!\210\301\207" [#3# xmtn-automate--close-session] 2)) xmtn-automate--make-session #16=#:G39140 #17=#:G39146 #18=#:G39147 xmtn-automate--*sessions* #3# #19=#:G39148 alist value key] 6]) (defalias 'xmtn--get-corresponding-path #[(root normalized-file-name source-revision-backend-id target-revision-backend-id) "\300\301\215\207" [--cl-block-get-corresponding-path-- (byte-code "\306!\307 !\310\n \"A\311\f\203 \2025\312\216\313 \n\"\n\f \f \211 B\f+B *,\207" [root #1=#:G39164 #2=#:G39165 xmtn-automate--*sessions* #3=#:G39162 #4=#:G39166 file-name-as-directory file-truename assoc #[nil "\306\211\307\310 \"\310 \"\211\311\312\215\210)\313\314\215\210+\315 \f $\211\2058\n!-\207" [#3# #5=#:G39163 file-name-postprocessor target-revision-hash-id source-revision-hash-id root nil identity xmtn--resolve-backend-id --cl-block-match-form-39168-- (byte-code "\306 :\203( @\307=\203( A\211:\205\n@\nA\306=)\203(\310\311\211\"\210)\306 :\203| @\312=\203| A\211:\205F @ A\306=)\203|\310\311\313\f\"\204Z\314\315\316C\"\210\317\f!\211\204n\320\321\215)\202y\322\f\"\211)\"\210)\323\324\325 #\207" [hash-id #6=#:object-39167 #7=#:G39170 source-revision-hash-id path #8=#:G39172 nil revision throw --cl-block-match-form-39168-- local-tree xmtn--same-tree-p signal cl-assertion-failed (xmtn--same-tree-p root path) xmtn--get-base-revision-hash-id-or-null --cl-block-match-form-39180-- (byte-code "\306 :\203) @\307=\203) A\211:\205\n@\nA\306=)\203)\310\311\310\312\306\"\"\210)\306 :\203a @\313=\203a A\211:\205G\f@\fA\306=)\203a\310\311\314 \"\204Z\315\316\317C\"\210\310\312\"\"\210)\320\321\322 #\207" [hash-id #9=#:object-39179 #10=#:G39182 target-path #11=#:G39184 path nil revision throw --cl-block-match-form-39180-- --cl-block-get-corresponding-path-- local-tree xmtn--same-tree-p signal cl-assertion-failed (xmtn--same-tree-p path target-path) error #12="Fell through %S: %S" xmtn-match normalized-file-name] 6) xmtn--get-rename-in-workspace-to error #12# xmtn-match root base-revision-hash-id resolved-target-revision #9# normalized-file-name] 6) --cl-block-match-form-39174-- (byte-code "\306 :\203( @\307=\203( A\211:\205\n@\nA\306=)\203(\310\311\211\"\210)\306 :\203\210 @\312=\203\210 A\211:\205F @ A\306=)\203\210\310\311\313\f\"\204Z\314\315\316C\"\210\317\f!\211\204j\310\320\306\"\202\205\321\322!\211\fL\210\323\324\325\326\327D\330FE)\211)\"\210)\331\332\333 #\207" [hash-id #13=#:object-39173 #14=#:G39176 target-revision-hash-id path #15=#:G39178 nil revision throw --cl-block-match-form-39174-- local-tree xmtn--same-tree-p signal cl-assertion-failed (xmtn--same-tree-p root path) xmtn--get-base-revision-hash-id-or-null --cl-block-get-corresponding-path-- make-symbol "--path--" lambda (&rest --cl-rest--) apply #[(#16=#:G39185 file-name) "\302J \"\207" [#16# file-name xmtn--get-rename-in-workspace-from] 3] quote --cl-rest-- error #12# xmtn-match root base-revision-hash-id #17=#:--cl-path-- file-name-postprocessor] 9) xmtn--get-corresponding-path-raw source-revision-backend-id target-revision-backend-id resolved-target-revision resolved-source-revision #6# #13# normalized-file-name result] 6] ((byte-code "\203\301!\210\301\207" [#3# xmtn-automate--close-session] 2)) xmtn-automate--make-session alist value key] 4)] 2]) (defalias 'xmtn--get-rename-in-workspace-from #[(root normalized-source-file-name) ";\204 \301\302\303\300E\"\210\304\305\215\207" [normalized-source-file-name signal wrong-type-argument string --cl-block-parse-- (byte-code "\306\307\310 !\311\f!\312 \"A\313\203% \210\202G\314\216\315\f \" \211B+B \210*.\207" [root #1=#:G39189 #2=#:G39188 #3=#:G39187 #4=#:G39193 #5=#:G39194 ("inventory") nil file-name-as-directory file-truename assoc #[nil "\211\n \306\307\216\310 #\211\311!\210\312!\210\313!rq\210\314!\210eb\210)\315\316\317\". \207" [#6=#:G39192 #7=#:G39190 #2# #1# #8=#:G39199 #9=#:G39198 nil ((byte-code "\203\301!\210\301\207" [#8# xmtn-automate--cleanup-command] 2)) xmtn-automate--new-command xmtn-automate-command-check-for-and-report-error xmtn-automate-command-wait-until-finished xmtn-automate-command-buffer set-syntax-table #[nil "rq\210\301 )\207" [#10=#:G39200 xmtn-basic-io--next-stanza] 1] xmtn--parse-inventory #[(path status changes old-path-or-null old-type new-type fs-type) " \232\205\n\303\304\n\"\207" [normalized-source-file-name old-path-or-null path throw --cl-block-parse--] 3] #11=#:G39197 #12=#:G39196 #13=#:G39191 #10# xmtn-basic-io--*syntax-table* parser] 5] ((byte-code "\203\301!\210\301\207" [#6# xmtn-automate--close-session] 2)) xmtn-automate--make-session xmtn-automate--*sessions* #6# #14=#:G39195 alist value key normalized-source-file-name] 4)] 5]) (defalias 'xmtn--get-rename-in-workspace-to #[(root normalized-target-file-name) ";\204 \301\302\303\300E\"\210\304\305\215\207" [normalized-target-file-name signal wrong-type-argument string --cl-block-parse-- (byte-code "\306 D\307\310\f!\311 !\312\"A\313\203) \210\202M\314\216\315 \"\211B+B \210*. \207" [root normalized-target-file-name #1=#:G39204 #2=#:G39203 #3=#:G39202 #4=#:G39208 "inventory" nil file-name-as-directory file-truename assoc #[nil "\211\n \306\307\216\310 #\211\311!\210\312!\210\313!rq\210\314!\210eb\210)\315\316\317\". \207" [#5=#:G39207 #6=#:G39205 #2# #1# #7=#:G39214 #8=#:G39213 nil ((byte-code "\203\301!\210\301\207" [#7# xmtn-automate--cleanup-command] 2)) xmtn-automate--new-command xmtn-automate-command-check-for-and-report-error xmtn-automate-command-wait-until-finished xmtn-automate-command-buffer set-syntax-table #[nil "rq\210\301 )\207" [#9=#:G39215 xmtn-basic-io--next-stanza] 1] xmtn--parse-inventory #[(path status changes old-path-or-null old-type new-type fs-type) "\205 \n\232\205\303\304\"\207" [old-path-or-null normalized-target-file-name path throw --cl-block-parse--] 3] #10=#:G39212 #11=#:G39211 #12=#:G39206 #9# xmtn-basic-io--*syntax-table* parser] 5] ((byte-code "\203\301!\210\301\207" [#5# xmtn-automate--close-session] 2)) xmtn-automate--make-session #13=#:G39209 xmtn-automate--*sessions* #5# #14=#:G39210 alist value key] 4)] 5]) (defalias 'xmtn--manifest-find-file #[(root manifest normalized-file-name) "\303\303\304 \305\306\307\310&\305\311\307\310&\211@)\207" [normalized-file-name manifest matches remove* file :key first :test-not equal second] 10]) (defalias 'xmtn--revision-manifest-file-entry #[(root backend-id normalized-file-name) "\304 \"\305\n #)\207" [root backend-id manifest normalized-file-name xmtn--get-manifest xmtn--manifest-find-file] 4]) (defalias 'xmtn--revision-file-contents-hash #[(root backend-id normalized-file-name) "\304 \n#\305\306\215)\207" [root backend-id normalized-file-name #1=#:object-39216 xmtn--revision-manifest-file-entry --cl-block-match-form-39217-- (byte-code "\306\211\211 :\203R @\307=\203R A\211:\205<\f@\fA\211:\205; @ A\211:\205:@A\306=)))\203R\310\311\n\232\204O\312\313\314C\"\210 \"\210+\315\316\317 #\207" [attrs file-contents-hash relative-path #1# #2=#:G39219 #3=#:G39220 nil file throw --cl-block-match-form-39217-- signal cl-assertion-failed (equal relative-path normalized-file-name) error "Fell through %S: %S" xmtn-match #4=#:G39221 normalized-file-name] 6)] 4]) (defalias 'xmtn--file-contents-as-string #[(root content-hash-id) ";\203 \302!\204\303\304\305\300E\"\210\306 \307D\"\207" [content-hash-id root xmtn--hash-id-p signal wrong-type-argument xmtn--hash-id xmtn-automate-simple-command-output-string "get_file"] 5]) (defalias 'xmtn--insert-file-contents #[(root content-hash-id buffer) ";\203 \303!\204\304\305\306\300E\"\210\307 \n\310D#\207" [content-hash-id root buffer xmtn--hash-id-p signal wrong-type-argument xmtn--hash-id xmtn-automate-simple-command-output-insert-into-buffer "get_file"] 5]) (defalias 'xmtn--insert-file-contents-by-name #[(root backend-id normalized-file-name buffer) "\306 \"\211@\307=\203\310\202\n@\311=\205\n\211A@)\211\203,\312\fD\313 DB\202/\313 D \314 #+\207" [root backend-id resolved-id x hash-id normalized-file-name xmtn--resolve-backend-id local-tree nil revision "revision" "get_file_of" xmtn-automate-simple-command-output-insert-into-buffer cmd buffer] 5]) (defalias 'xmtn--same-tree-p #[(a b) "\302!\302 !\232\207" [a b file-truename] 3]) (defalias 'xmtn--get-manifest #[(root backend-id) "\306!\307 !\310\n \"A\311\f\203 \2025\312\216\313 \n\"\n\f \f \211 B\f+B *,\207" [root #1=#:G39224 #2=#:G39225 xmtn-automate--*sessions* #3=#:G39222 #4=#:G39226 file-name-as-directory file-truename assoc #[nil "\306\n \"\n\307\f\310\311\215)B\312\313!\314!\315\"A\316\203: \202^\317\216\320\"\211B+B *. \207" [#3# #5=#:G39223 root backend-id resolved-id #6=#:object-39233 xmtn--resolve-backend-id "get_manifest_of" --cl-block-match-form-39234-- (byte-code "\306 :\203> @\307=\203> A\211:\205\n@\nA\306=)\203>\310\311\312 \"\2040\313\314\315C\"\210\316 ! \204;\317\320!\210\306\"\210)\306 :\203f @\321=\203f A\211:\205\\ @ A\306=)\203f\310\311\fC\"\210)\317\322\323 #\207" [path #6# #7=#:G39236 root hash-id #8=#:G39238 nil local-tree throw --cl-block-match-form-39234-- xmtn--same-tree-p signal cl-assertion-failed (xmtn--same-tree-p root path) xmtn--tree-consistent-p-future error "Tree is inconsistent, unable to get manifest" revision #9="Fell through %S: %S" xmtn-match] 6) nil file-name-as-directory file-truename assoc #[nil "\211\n \306\307\216\310 #\211\311!\210\312!\210\313!rq\210\314!\210eb\210)\315\211 \316\232\204G\317\320\321C\"\210\306\211 \211\203f\322\323\215)B\202M\237. \207" [#10=#:G39239 #11=#:G39231 #12=#:G39229 #13=#:G39230 #14=#:G39246 #15=#:G39245 nil ((byte-code "\203\301!\210\301\207" [#14# xmtn-automate--cleanup-command] 2)) xmtn-automate--new-command xmtn-automate-command-check-for-and-report-error xmtn-automate-command-wait-until-finished xmtn-automate-command-buffer set-syntax-table #[nil "rq\210\301 )\207" [#16=#:G39247 xmtn-basic-io--next-stanza] 1] #17=(("format_version" (string "1"))) signal cl-assertion-failed (equal (funcall parser) '#17#) --cl-block-match-form-39249-- (byte-code "\306 :\203` @\211:\205F\n@\307\232\205F\nA\211:\205E @\211:\205=\f@\310=\205=\fA\211:\205< @ A\306=))\205E A\306=))\203` A\306=\203`\311\312\313\314\" \315 )D\"\210)\306\211\211 :\2032 @\211:\205\271@\316\232\205\271A\211:\205\270@\211:\205\257@\310=\205\257A\211:\205\256@A\306=))\205\270A\306=))\2032 A\211:\205@\211:\205@\317\232\205A\211 :\205 @\211!:\205 !@\320=\205 !A\211\":\205\"@\"A\306=))\205 A\306=))\205A\321)\2032\311\312\322\313\314\"\323\324\"F\"\210+\325\326\327 #\207" [normalized-path #18=#:object-39248 #19=#:G39251 #20=#:G39252 #21=#:G39253 #22=#:G39254 nil "dir" string throw --cl-block-match-form-39249-- decode-coding-string xmtn--monotone-normal-form dir "file" "content" id t file mapcar #[(attr-entry) "\302\303\215)\207" [attr-entry #23=#:object-39265 --cl-block-match-form-39266-- (byte-code "\306\211\n:\203\n@\307\232\203\nA\211:\205t @\211:\2057\f@\310=\2057\fA\211:\2056 @ A\306=))\205t A\211:\205s@\211:\205j@\310=\205jA\211:\205i@A\306=))\205sA\306=))\203\311\312 D\"\210*\313\314\315\n#\207" [attr-value attr-name #23# #24=#:G39268 #25=#:G39269 #26=#:G39270 nil "attr" string throw --cl-block-match-form-39266-- error #9# xmtn-match #27=#:G39271 #28=#:G39272 #29=#:G39273] 5)] 2] error #9# xmtn-match attrs hash-id #30=#:G39256 #31=#:G39257 #32=#:G39258 #33=#:G39259 #34=#:G39260 #35=#:G39261 #36=#:G39262 #37=#:G39263 #38=#:G39264] 9) #39=#:G39244 #40=#:G39243 #41=#:G39232 #16# xmtn-basic-io--*syntax-table* parser stanza #42=#:--cl-var-- #18#] 5] ((byte-code "\203\301!\210\301\207" [#10# xmtn-automate--close-session] 2)) xmtn-automate--make-session #13# #12# #43=#:G39228 #44=#:G39240 #45=#:G39241 xmtn-automate--*sessions* #10# #46=#:G39242 alist value key] 5] ((byte-code "\203\301!\210\301\207" [#3# xmtn-automate--close-session] 2)) xmtn-automate--make-session alist value key] 4]) (byte-code "\300\301\302\303#\210\301\304N\204\300\301\304\305#\210\300\207" [put xmtn--revision-new-manifest-hash-id cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block xmtn--revision-new-manifest-hash-id (or (and (memq (aref cl-x 0) cl-struct-xmtn--revision-tags)) (error "xmtn--revision-new-manifest-hash-id accessing a non-xmtn--revision")) (aref cl-x 1)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'xmtn--revision-new-manifest-hash-id #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-xmtn--revision-tags 0 error "xmtn--revision-new-manifest-hash-id accessing a non-xmtn--revision" 1] 2]) (byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put xmtn--revision-new-manifest-hash-id setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander xmtn--revision xmtn--revision-new-manifest-hash-id #1=(and (memq (aref cl-x 0) cl-struct-xmtn--revision-tags)) 1] 6] xmtn--revision-old-revision-hash-ids cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block xmtn--revision-old-revision-hash-ids (or #1# (error "xmtn--revision-old-revision-hash-ids accessing a non-xmtn--revision")) (aref cl-x 2)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'xmtn--revision-old-revision-hash-ids #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-xmtn--revision-tags 0 error "xmtn--revision-old-revision-hash-ids accessing a non-xmtn--revision" 2] 2]) (byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put xmtn--revision-old-revision-hash-ids setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander xmtn--revision xmtn--revision-old-revision-hash-ids #1=(and (memq (aref cl-x 0) cl-struct-xmtn--revision-tags)) 2] 6] xmtn--revision-delete cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block xmtn--revision-delete (or #1# (error "xmtn--revision-delete accessing a non-xmtn--revision")) (aref cl-x 3)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'xmtn--revision-delete #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-xmtn--revision-tags 0 error "xmtn--revision-delete accessing a non-xmtn--revision" 3] 2]) (byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put xmtn--revision-delete setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander xmtn--revision xmtn--revision-delete #1=(and (memq (aref cl-x 0) cl-struct-xmtn--revision-tags)) 3] 6] xmtn--revision-rename cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block xmtn--revision-rename (or #1# (error "xmtn--revision-rename accessing a non-xmtn--revision")) (aref cl-x 4)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'xmtn--revision-rename #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-xmtn--revision-tags 0 error "xmtn--revision-rename accessing a non-xmtn--revision" 4] 2]) (byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put xmtn--revision-rename setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander xmtn--revision xmtn--revision-rename #1=(and (memq (aref cl-x 0) cl-struct-xmtn--revision-tags)) 4] 6] xmtn--revision-add-dir cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block xmtn--revision-add-dir (or #1# (error "xmtn--revision-add-dir accessing a non-xmtn--revision")) (aref cl-x 5)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'xmtn--revision-add-dir #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-xmtn--revision-tags 0 error "xmtn--revision-add-dir accessing a non-xmtn--revision" 5] 2]) (byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put xmtn--revision-add-dir setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander xmtn--revision xmtn--revision-add-dir #1=(and (memq (aref cl-x 0) cl-struct-xmtn--revision-tags)) 5] 6] xmtn--revision-add-file cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block xmtn--revision-add-file (or #1# (error "xmtn--revision-add-file accessing a non-xmtn--revision")) (aref cl-x 6)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'xmtn--revision-add-file #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-xmtn--revision-tags 0 error "xmtn--revision-add-file accessing a non-xmtn--revision" 6] 2]) (byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put xmtn--revision-add-file setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander xmtn--revision xmtn--revision-add-file #1=(and (memq (aref cl-x 0) cl-struct-xmtn--revision-tags)) 6] 6] xmtn--revision-patch-file cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block xmtn--revision-patch-file (or #1# (error "xmtn--revision-patch-file accessing a non-xmtn--revision")) (aref cl-x 7)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'xmtn--revision-patch-file #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-xmtn--revision-tags 0 error "xmtn--revision-patch-file accessing a non-xmtn--revision" 7] 2]) (byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put xmtn--revision-patch-file setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander xmtn--revision xmtn--revision-patch-file #1=(and (memq (aref cl-x 0) cl-struct-xmtn--revision-tags)) 7] 6] xmtn--revision-clear-attr cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block xmtn--revision-clear-attr (or #1# (error "xmtn--revision-clear-attr accessing a non-xmtn--revision")) (aref cl-x 8)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'xmtn--revision-clear-attr #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-xmtn--revision-tags 0 error "xmtn--revision-clear-attr accessing a non-xmtn--revision" 8] 2]) (byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put xmtn--revision-clear-attr setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander xmtn--revision xmtn--revision-clear-attr #1=(and (memq (aref cl-x 0) cl-struct-xmtn--revision-tags)) 8] 6] xmtn--revision-set-attr cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block xmtn--revision-set-attr (or #1# (error "xmtn--revision-set-attr accessing a non-xmtn--revision")) (aref cl-x 9)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'xmtn--revision-set-attr #[(cl-x) "\302H >\204\f\303\304!\210\305H\207" [cl-x cl-struct-xmtn--revision-tags 0 error "xmtn--revision-set-attr accessing a non-xmtn--revision" 9] 2]) (byte-code "\300\301\302\303#\210\300\304\305\306#\210\304\307N\204\300\304\307\310#\210\300\207" [put xmtn--revision-set-attr setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander xmtn--revision xmtn--revision-set-attr (and #1=(memq (aref cl-x 0) cl-struct-xmtn--revision-tags)) 9] 6] xmtn--revision-p cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block xmtn--revision-p (and (vectorp cl-x) (>= (length cl-x) 10) #1# t)) nil] 7] byte-compile cl-byte-compile-compiler-macro] 4) (defalias 'xmtn--revision-p #[(cl-x) "\302!\205G\303Y\205\304H >\205\305\207" [cl-x cl-struct-xmtn--revision-tags vectorp 10 0 t] 2]) (defalias 'copy-xmtn--revision #[(x) "\301!\207" [x copy-sequence] 2]) (byte-code "\300\301\302\303#\210\301\304N\204\300\301\304\305#\210\300\207" [put xmtn--make-revision cl-compiler-macro #[(cl-whole &rest #1=#:--cl-rest--) "\306>A@\307>A@\310>A@\311>A@\312>A@\313>A@\314>A@\315>A@\316>A@\203m@\317>\203TAA\211\202?\320>A@\203c\321\211\202?\322\323@\"\210\202=)\324\325\326\327\321 \n \f &. \207" [#1# new-manifest-hash-id old-revision-hash-ids delete rename add-dir :new-manifest-hash-id :old-revision-hash-ids :delete :rename :add-dir :add-file :patch-file :clear-attr :set-attr (:new-manifest-hash-id :old-revision-hash-ids :delete :rename :add-dir :add-file :patch-file :clear-attr :set-attr :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:new-manifest-hash-id :old-revision-hash-ids :delete :rename :add-dir :add-file :patch-file :clear-attr :set-attr)" cl-defsubst-expand (new-manifest-hash-id old-revision-hash-ids delete rename add-dir add-file patch-file clear-attr set-attr) (block xmtn--make-revision (vector 'cl-struct-xmtn--revision new-manifest-hash-id old-revision-hash-ids delete rename add-dir add-file patch-file clear-attr set-attr)) t add-file patch-file clear-attr set-attr #:--cl-keys-- cl-whole] 16 "Not documented\n\n(fn CL-WHOLE &cl-quote &key NEW-MANIFEST-HASH-ID OLD-REVISION-HASH-IDS DELETE RENAME ADD-DIR ADD-FILE PATCH-FILE CLEAR-ATTR SET-ATTR)"] byte-compile cl-byte-compile-compiler-macro] 4) #@132 Not documented (fn &key NEW-MANIFEST-HASH-ID OLD-REVISION-HASH-IDS DELETE RENAME ADD-DIR ADD-FILE PATCH-FILE CLEAR-ATTR SET-ATTR) (defalias 'xmtn--make-revision #[(&rest #1=#:--cl-rest--) "\306>A@\307>A@\310>A@\311>A@\312>A@\313>A@\314>A@\315>A@\316>A@\203m@\317>\203TAA\211\202?\320>A@\203c\321\211\202?\322\323@\"\210\202=)\324\325 \n \f &\n. \207" [#1# new-manifest-hash-id old-revision-hash-ids delete rename add-dir :new-manifest-hash-id :old-revision-hash-ids :delete :rename :add-dir :add-file :patch-file :clear-attr :set-attr (:new-manifest-hash-id :old-revision-hash-ids :delete :rename :add-dir :add-file :patch-file :clear-attr :set-attr :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:new-manifest-hash-id :old-revision-hash-ids :delete :rename :add-dir :add-file :patch-file :clear-attr :set-attr)" vector cl-struct-xmtn--revision add-file patch-file clear-attr set-attr #2=#:--cl-keys--] 12 (#$ . 83716)]) (byte-code "\302B\303C\304\305\306\307#\210\304\305\310\311#\210\304\305\312\313#\210\304\305\314\315#\210\304\316\317\315#\210\304\320\317\315#\210\304\321\317\322#\210\304\323\317\315#\210\304\324\317\315#\210\304\325\317\315#\210\304\326\317\315#\210\304\327\317\315#\210\304\330\317\315#\210\304\331\317\315#\210\304\332\317\315#\210\304\333\317\315#\207" [custom-print-functions cl-struct-xmtn--revision-tags #[(cl-x cl-s cl-n) "\303!\205\370G\304Y\205\370\305H >\205\370\306\307\n\"\210\306\310\n\"\210\311\305H >\204,\312\313!\210\314H\n\"\210\306\315\n\"\210\311\305H >\204D\312\316!\210\317H\n\"\210\306\320\n\"\210\311\305H >\204\\\312\321!\210\322H\n\"\210\306\323\n\"\210\311\305H >\204t\312\324!\210\325H\n\"\210\306\326\n\"\210\311\305H >\204\214\312\327!\210\330H\n\"\210\306\331\n\"\210\311\305H >\204\244\312\332!\210\333H\n\"\210\306\334\n\"\210\311\305H >\204\274\312\335!\210\336H\n\"\210\306\337\n\"\210\311\305H >\204\324\312\340!\210\341H\n\"\210\306\342\n\"\210\311\305H >\204\354\312\343!\210\344H\n\"\210\306\345\n\"\210\346\207" [cl-x cl-struct-xmtn--revision-tags cl-s vectorp 10 0 princ "#S(xmtn--revision" " new-manifest-hash-id" prin1 error "xmtn--revision-new-manifest-hash-id accessing a non-xmtn--revision" 1 " old-revision-hash-ids" "xmtn--revision-old-revision-hash-ids accessing a non-xmtn--revision" 2 " delete" "xmtn--revision-delete accessing a non-xmtn--revision" 3 " rename" "xmtn--revision-rename accessing a non-xmtn--revision" 4 " add-dir" "xmtn--revision-add-dir accessing a non-xmtn--revision" 5 " add-file" "xmtn--revision-add-file accessing a non-xmtn--revision" 6 " patch-file" "xmtn--revision-patch-file accessing a non-xmtn--revision" 7 " clear-attr" "xmtn--revision-clear-attr accessing a non-xmtn--revision" 8 " set-attr" "xmtn--revision-set-attr accessing a non-xmtn--revision" 9 ")" t] 3] cl-struct-xmtn--revision put xmtn--revision cl-struct-slots ((cl-tag-slot) (new-manifest-hash-id) (old-revision-hash-ids) (delete) (rename) (add-dir) (add-file) (patch-file) (clear-attr) (set-attr)) cl-struct-type (vector nil) cl-struct-include nil cl-struct-print t xmtn--make-revision side-effect-free copy-xmtn--revision xmtn--revision-p error-free xmtn--revision-set-attr xmtn--revision-clear-attr xmtn--revision-patch-file xmtn--revision-add-file xmtn--revision-add-dir xmtn--revision-rename xmtn--revision-delete xmtn--revision-old-revision-hash-ids xmtn--revision-new-manifest-hash-id] 4) (defalias 'xmtn--get-revision #[(root backend-id) "\306!\307 !\310\n \"A\311\f\203 \2025\312\216\313 \n\"\n\f \f \211 B\f+B *,\207" [root #1=#:G39276 #2=#:G39277 xmtn-automate--*sessions* #3=#:G39274 #4=#:G39278 file-name-as-directory file-truename assoc #[nil "\306\n \"\n\307\f\310\311\215)B\312\313!\314!\315\"A\316\203: \202^\317\216\320\"\211B+B *. \207" [#3# #5=#:G39275 root backend-id resolved-id #6=#:object-39285 xmtn--resolve-backend-id "get_revision" --cl-block-match-form-39286-- (byte-code "\306 :\203> @\307=\203> A\211:\205\n@\nA\306=)\203>\310\311\312 \"\2040\313\314\315C\"\210\316 ! \204;\317\320!\210\306\"\210)\306 :\203f @\321=\203f A\211:\205\\ @ A\306=)\203f\310\311\fC\"\210)\317\322\323 #\207" [path #6# #7=#:G39288 root hash-id #8=#:G39290 nil local-tree throw --cl-block-match-form-39286-- xmtn--same-tree-p signal cl-assertion-failed (xmtn--same-tree-p root path) xmtn--tree-consistent-p-future error "Tree is inconsistent, unable to compute revision" revision #9="Fell through %S: %S" xmtn-match] 6) nil file-name-as-directory file-truename assoc #[nil "\211\n \306\307\216\310 #\211\311!\210\312!\210\313!rq\210\314!\210eb\210)\315\211 \316\232\204G\317\320\321C\"\210 \322\323\215) \324!\211!\325H\">\204e\326\327!\210!\330 I\210!. \207" [#10=#:G39291 #11=#:G39283 #12=#:G39281 #13=#:G39282 #14=#:G39298 #15=#:G39297 nil ((byte-code "\203\301!\210\301\207" [#14# xmtn-automate--cleanup-command] 2)) xmtn-automate--new-command xmtn-automate-command-check-for-and-report-error xmtn-automate-command-wait-until-finished xmtn-automate-command-buffer set-syntax-table #[nil "rq\210\301 )\207" [#16=#:G39299 xmtn-basic-io--next-stanza] 1] #17=(("format_version" (string "1"))) signal cl-assertion-failed (equal (funcall parser) '#17#) --cl-block-match-form-39301-- (byte-code "\306 :\203V @\211:\205F\n@\307\232\205F\nA\211:\205E @\211:\205=\f@\310=\205=\fA\211:\205< @ A\306=))\205E A\306=))\203V A\306=\203V\311\312\"\210)\313\314\315 #\207" [hash-id #18=#:object-39300 #19=#:G39303 #20=#:G39304 #21=#:G39305 #22=#:G39306 nil "new_manifest" id throw --cl-block-match-form-39301-- error #9# xmtn-match] 5) xmtn--parse-partial-revision 0 error "xmtn--revision-new-manifest-hash-id storing a non-xmtn--revision" 1 #23=#:G39296 #24=#:G39295 #25=#:G39284 #16# xmtn-basic-io--*syntax-table* parser #18# new-manifest-hash-id proto-revision cl-struct-xmtn--revision-tags] 5] ((byte-code "\203\301!\210\301\207" [#10# xmtn-automate--close-session] 2)) xmtn-automate--make-session #13# #12# #26=#:G39280 #27=#:G39292 #28=#:G39293 xmtn-automate--*sessions* #10# #29=#:G39294 alist value key] 5] ((byte-code "\203\301!\210\301\207" [#3# xmtn-automate--close-session] 2)) xmtn-automate--make-session alist value key] 4]) #@82 Parse basic_io output from get_revision, starting with the old_revision stanzas. (defalias 'xmtn--parse-partial-revision #[(parser) "\306\211\211\211\211\211\211\211\307\310!\211\205\310K\311\216\310\312M\210\306 \211\203=\313\314\215\210)\202(,\237\237 \237\f\237 \237\n\237 \237\237\315\316\306 \f \n &\n.\207" [set-attr clear-attr patch-file add-file add-dir rename nil fboundp decode-path ((byte-code "\203 \302 M\210\202\303\302!\210\302\207" [#1=#:--cl-letf-bound-- #2=#:--cl-letf-save-- decode-path fmakunbound] 2)) #[(path) "\301\302\"\207" [path decode-coding-string xmtn--monotone-normal-form] 3] --cl-block-match-form-39308-- (byte-code "\306\211\211 :\203! @\211:\205P\f@\307\232\205P\fA\211:\205O @\211:\205G@\310=\205GA\211:\205F@A\306=))\205O A\306=))\203! A\211:\205 @\211 :\205\251 @\311\232\205\251 A\211!:\205\250!@\211\":\205\237\"@\312=\205\237\"A\211#:\205\236#@#A\306=))\205\250!A\306=))\205 A\211$:\205\f$@\211%:\205%@\313\232\205%A\211&:\205&@\211':\205\371'@\312=\205\371'A\211(:\205\370(@(A\306=))\205&A\306=))\205\f$A\306=))\203!\314\315\316\n! E)B\211)\"\210+ \317\232\203-\314\315\306\"\210\306* :\203\230 @\211+:\205\201+@\320\232\205\201+A\211,:\205\200,@\211-:\205w-@\312=\205w-A\211.:\205v.@*.A\306=))\205\200,A\306=))\203\230 A\306=\203\230\314\315*/B\211/\"\210)\3060 :\203 @\2111:\205\3551@\321\232\205\3551A\2112:\205\3542@\2113:\205\3433@\310=\205\3433A\2114:\205\3424@04A\306=))\205\3542A\306=))\203 A\306=\203\314\315\3160!C5B\2115\"\210)\306\21167 :\203\331 @\2118:\205_8@\322\232\205_8A\2119:\205^9@\211::\205U:@\310=\205U:A\211;:\205T;@7;A\306=))\205^9A\306=))\203\331 A\211<:\205\302<@\211=:\205\271=@\313\232\205\271=A\211>:\205\270>@\211?:\205\257?@\310=\205\257?A\211@:\205\256@@6@A\306=))\205\270>A\306=))\205\302