;ELC ;;; Compiled by mwolson@grepfind.mwolson.org on Thu Jan 24 00:15:33 2008 ;;; from file /stuff/proj/emacs/dvc/mwolson/lisp/xmtn-ids.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-ids.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\207" [require cl xmtn-automate xmtn-match] 2) #@81 Resolve REVISION-ID to a RESOLVED-BACKEND-ID. See file commentary for details. (defalias 'xmtn--resolve-revision-id #[(root revision-id) "\204\303  \304\305\215)\207" [root revision-id #1=#:object-70944 dvc-tree-root --cl-block-match-form-70945-- (byte-code "\304 :\203) @\305=\203) A\211:\205\n@\nA\304=)\203)\306\307\310 \"\"\210)\311\312\313 #\207" [backend-id #1# #2=#:G70947 root nil xmtn throw --cl-block-match-form-70945-- xmtn--resolve-backend-id error "Fell through %S: %S" xmtn-match] 6)] 2 (#$ . 688)]) #@80 Resolve BACKEND-ID to a RESOLVED-BACKEND-ID. See file commentary for details. (defalias 'xmtn--resolve-backend-id #[(root backend-id) "\306!\307 !\310\n \"A\311\f\203 \2025\312\216\313 \n\"\n\f \211B+B *,\211\314\315\215\210))\207" [root #1=#:G70950 #2=#:G70951 xmtn-automate--*sessions* #3=#:G70948 #4=#:G70952 file-name-as-directory file-truename assoc #[nil "\n;\203\305\n!\203\306 \n\"\202+\n<\203\"\n\307\310\215)\202+\311\312\n\313#\205+\314)\207" [#3# #5=#:G70949 backend-id root #6=#:object-70959 xmtn--hash-id-p xmtn--resolve--revision --cl-block-match-form-70960-- (byte-code "\306 :\203) @\307=\203) A\211:\205\n@\nA\306=)\203)\310\311\312 \"\"\210)\306 :\203S @\313=\203S A\211:\205G @ A\306=)\203S\310\311\314 \f\"\"\210)\306\211 :\203\225 @\315=\203\225 A\211:\205\207@A\211:\205\206@A\306=))\203\225\310\311\316 \f#\"\210*\306\211 :\203\357 @\317=\203\357 A\211:\205\274@A\320)\203\357\310\311\211\211A@\203\335\321\322\306GTD\"\210\204\345\323\324 #*\"\210*\325\326\327 #\207" [backend-revision #6# #7=#:G70962 root path #8=#:G70964 nil revision throw --cl-block-match-form-70960-- xmtn--resolve--revision local-tree xmtn--resolve--local-tree last-revision xmtn--resolve--last-revision previous-revision t signal wrong-number-of-arguments 1 xmtn--resolve--previous-revision error #9="Fell through %S: %S" xmtn-match num #10=#:G70966 #11=#:G70967 optional-num base-backend-id #12=#:G70969 #13=#:--cl-rest--] 7) error "etypecase failed: %s, %s" (xmtn--hash-id list) nil] 4] ((byte-code "\203\301!\210\301\207" [#3# xmtn-automate--close-session] 2)) xmtn-automate--make-session --cl-block-match-form-70954-- (byte-code "\305 :\2037 @\306=\2037 A\211:\205\n@\nA\305=)\2037\307\310;\203.\311!\2044\312\313\314C\"\210\305\"\210)\305 :\203i @\315=\203i A\211:\205U\f@\fA\305=)\203i\307\310 ;\204f\312\313\316C\"\210\305\"\210)\317\320\321 #\207" [hash-id #14=#:object-70953 #15=#:G70956 string #16=#:G70958 nil revision throw --cl-block-match-form-70954-- xmtn--hash-id-p signal cl-assertion-failed (typep hash-id 'xmtn--hash-id) local-tree (typep string 'string) error #9# xmtn-match] 6) alist value key resolved-backend-id #14#] 4 (#$ . 1223)]) (defalias 'xmtn--resolve--revision #[(root hash-id) ";\203 \302!\204\303\304\305\300E\"\210\306 \"\210\307D\207" [hash-id root xmtn--hash-id-p signal wrong-type-argument xmtn--hash-id xmtn--error-unless-revision-exists revision] 5]) (defalias 'xmtn--resolve--local-tree #[(root path) ";\204 \302\303\304\300E\"\210\305\306\"\211\203 \307 !\307!\232\204'\310\311\312D\"\210)\312D\207" [path path-root signal wrong-type-argument string xmtn-tree-root t file-truename error "Path is not the root of a monotone tree: %S" local-tree] 6]) (defalias 'xmtn--resolve--last-revision #[(root path num) ";\204 \304\305\306\300E\"\210 \250\203 \307Y\204 \304\305\310 \301E\"\210\311\312\"\211\2041\313\314\315 E\"\210\316\n!\317\n\320 SE\"*\207" [path num path-root base-revision-hash-id signal wrong-type-argument string 1 (integer 1 *) xmtn-tree-root t error "Path is not in a monotone tree: %S" last-revision xmtn--get-base-revision-hash-id xmtn--resolve-backend-id previous-revision] 6]) (defalias 'xmtn--resolve--previous-revision #[(root backend-id num) "\250\203 \306Y\204\307\310\311\300E\"\210\312 \n\"\313!\203\" \202\215 @\314=\203> \211A@)\312 \315\316 !SE\")\202\215 @\317=\203\203 \211A@)\211;\203Y\320!\204b\307\310\321\322E\"\210S\211\306Y\203z\323 \"\202e)\317)D\202\215\324\325 @\326#\205\215\327)\207" [num root backend-id resolved-id x other-root 0 signal wrong-type-argument (integer 0 *) xmtn--resolve-backend-id zerop local-tree previous-revision xmtn--get-base-revision-hash-id revision xmtn--hash-id-p xmtn--hash-id hash-id xmtn--get-parent-revision-hash-id error "ecase failed: %s, %s" (local-tree revision) nil #1=#:--cl-var--] 6]) (defalias 'xmtn--error-unless-revision-exists #[(root hash-id) "\304\305 P\"\211\204\306\307 #\210\nG\310=\204\311\312\313C\"\210\n@\211 \232\204-\311\312\314C\"\210*\315\207" [root hash-id lines db-hash xmtn--expand-selector "i:" error "Revision %s unknown in workspace %s" 1 signal cl-assertion-failed (eql (length lines) 1) (equal db-hash hash-id) nil] 5]) (defalias 'xmtn--expand-selector #[(root selector) "\302\303 D\"\207" [root selector xmtn-automate-simple-command-output-lines "select"] 4]) (defalias 'xmtn--get-parent-revision-hash-id #[(root hash-id) ";\203 \304!\204\305\306\307\300E\"\210\310 \311D\"\211G\312=\203(\313\314\"\202N\nG\315=\203H\n@\211;\203=\304 !\204C\305\316\317C\"\210 )\202N\313\320\nG#)\207" [hash-id root parents parent xmtn--hash-id-p signal wrong-type-argument xmtn--hash-id xmtn-automate-simple-command-output-lines "parents" 0 error "Revision has no parents: %s" 1 cl-assertion-failed (typep parent 'xmtn--hash-id) "Revision has more than one parent (%s): %s"] 6]) (defalias 'xmtn--get-base-revision-hash-id-or-null #[(root) "\302\303\"\211\304\232\203 \305 ;\203\306 !\204\" \203\"\307\310\311C\"\210 )\207" [root hash-id xmtn-automate-simple-command-output-line ("get_base_revision_id") "" nil xmtn--hash-id-p signal cl-assertion-failed (typep hash-id '(or xmtn--hash-id null))] 4]) (defalias 'xmtn--get-base-revision-hash-id #[(root) "\302!\211\204 \303\304\"\210 )\207" [root hash-id-or-null xmtn--get-base-revision-hash-id-or-null error "Tree has no base revision: %S"] 4]) (provide 'xmtn-ids)