;;; -*- Mode:LISP; Package:USER; Readtable:CL; Base:10 -*- (defun compare-sources(source-dir &aux old-src new-src) (setq old-src (make-pathname :host "it" :directory (list "RELEASE-3" (string-upcase source-dir)) :name :wild :type :lisp :version :highest)) (setq new-src (make-pathname :defaults old-src :directory (list "L" (string-upcase source-dir)) :host "opus")) (let((oldfiles (directory old-src))) (do*((files oldfiles (cdr files))) ((null files)) (let*((old (car files)) (old-vers (pathname-version old)) (new (make-pathname :defaults old :version :newest)) (new-vers (pathname-version (truename new)))) (if (equal old-vers new-vers) (format t "~%Same versions for ~a:~a;~a" (pathname-host old) (send old :string-for-directory) (pathname-name old)) (srccom:source-compare old new)))))) (defun save-sourcelist(&optional (dir "it:release-3;") (outfile "it:keith.release-4;sources-rel3.text")) (let((spaces (make-string 50. :initial-element #\space)) (out-stream (if outfile (open outfile :direction :output) standard-output))) (with-open-stream (out out-stream) (loop for elt in (local:directoryr dir :include-dirnames t :default-version :highest) do (format out "~%~a~a" (substring spaces 0 (* 2 (length (let((dir (send elt :directory))) (if (atom dir) nil dir))))) (send elt :string-for-printing))))))