From fe04869cb341f5eb5062a94d8c79cd01d545f70c Mon Sep 17 00:00:00 2001 From: Matt Heffron Date: Mon, 7 Oct 2024 10:22:48 -0700 Subject: [PATCH] Add git commit ID to beginning of loadups .dribble files. (#1778) * Add git commit ID to beginning of loadups .dribble files. The commit ID is put into the .dribble file in the .sh scripts. (using echo ... > name.dribble) The changes to MEDLEY-UTILS, LOADUP-FULL, and LOADUP-LISP are to enable the passing of APPENDFLG to (DRIBBLE ... APPENDFLG). * I hadn't saved file before previous commit. * Add to IL:SYSOUTCOMMITS instead of to the .dribble files. * Initialize SYSOUTCOMMITS so PUTASSOC has somewhere to put value(s) --- scripts/loadup-apps-from-full.sh | 15 ++++++++---- scripts/loadup-aux.sh | 2 ++ scripts/loadup-db-from-full.sh | 1 + scripts/loadup-full-from-lisp.sh | 1 + scripts/loadup-init.sh | 6 ++++- scripts/loadup-lisp-from-mid.sh | 3 ++- scripts/loadup-setup.sh | 12 ++++++++++ sources/MEDLEYDIR | 39 +++++++++++++++++++++---------- sources/MEDLEYDIR.LCOM | Bin 4956 -> 5508 bytes 9 files changed, 60 insertions(+), 19 deletions(-) diff --git a/scripts/loadup-apps-from-full.sh b/scripts/loadup-apps-from-full.sh index ea29da90..e698aa86 100755 --- a/scripts/loadup-apps-from-full.sh +++ b/scripts/loadup-apps-from-full.sh @@ -32,20 +32,25 @@ main() { exit 1 fi + git_commit_ID "${NOTECARDSDIR}" + NOTECARDS_COMMIT_ID="${COMMIT_ID}" + export NOTECARDS_COMMIT_ID + cat >"${cmfile}" <<-"EOF" " (PROGN (IL:MEDLEY-INIT-VARS 'IL:GREET) - (IL:DRIBBLE (IL:CONCAT (QUOTE {DSK})(IL:UNIX-GETENV(QUOTE LOADUP_WORKDIR))(IL:L-CASE (QUOTE /apps.dribble)))) + (IL:DRIBBLE (IL:CONCAT (QUOTE {DSK})(IL:UNIX-GETENV (QUOTE LOADUP_WORKDIR))(IL:L-CASE (QUOTE /apps.dribble)))) (IL:LOAD (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV(QUOTE ROOMSDIR))(QUOTE /ROOMS)) 'IL:SYSLOAD) (IL:LOAD (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV(QUOTE NOTECARDSDIR))(QUOTE |/system/NOTECARDS.LCOM|)) 'IL:SYSLOAD) (IL:LOAD (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV(QUOTE CLOSDIR))(QUOTE /DEFSYS.DFASL)) 'IL:SYSLOAD) (IL:LOAD (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV(QUOTE MEDLEYDIR))(QUOTE |lispusers/BUTTONS.LCOM|)) 'IL:SYSLOAD) - (IL:LOAD - (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV (QUOTE LOADUP_SOURCEDIR)) (QUOTE /LOADUP-APPS.LCOM)) - 'IL:SYSLOAD - ) + (IL:LOAD (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV (QUOTE LOADUP_SOURCEDIR)) (QUOTE /LOADUP-APPS.LCOM)) 'IL:SYSLOAD) + (IL:PRINT (IL:UNIX-GETENV (QUOTE NOTECARDS_COMMIT_ID))) + (IL:PUTASSOC (QUOTE IL:MEDLEY) (LIST (IL:UNIX-GETENV (QUOTE LOADUP_COMMIT_ID))) IL:SYSOUTCOMMITS) + (IL:PUTASSOC (QUOTE IL:NOTECARDS) (LIST (IL:UNIX-GETENV (QUOTE NOTECARDS_COMMIT_ID))) IL:SYSOUTCOMMITS) + (IL:PRINT IL:SYSOUTCOMMITS) (IL:HARDRESET) ) SHH diff --git a/scripts/loadup-aux.sh b/scripts/loadup-aux.sh index 1a613abb..91c3b6ca 100755 --- a/scripts/loadup-aux.sh +++ b/scripts/loadup-aux.sh @@ -17,10 +17,12 @@ main() { (DRIBBLE (QUOTE {DSK}FOOBAR)) (IL:MAKE-EXPORTS-ALL (IL:CONCAT WORKDIR (IL:L-CASE (QUOTE exports.all)))) (DRIBBLE) + (IL:PUTASSOC (QUOTE IL:MEDLEY) (LIST (IL:UNIX-GETENV (QUOTE LOADUP_COMMIT_ID))) IL:SYSOUTCOMMITS) (IL:MAKE-WHEREIS-HASH (IL:CONCAT WORKDIR (IL:L-CASE (QUOTE whereis.dribble))) (IL:CONCAT WORKDIR (IL:L-CASE (QUOTE whereis.hash-tmp))) (IL:CONCAT WORKDIR (IL:L-CASE (QUOTE whereis.hash))) + NIL NIL ) (IL:LOGOUT T) ) diff --git a/scripts/loadup-db-from-full.sh b/scripts/loadup-db-from-full.sh index 5498c108..55ab287b 100755 --- a/scripts/loadup-db-from-full.sh +++ b/scripts/loadup-db-from-full.sh @@ -18,6 +18,7 @@ main() { (PROG ((WORKDIR (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV (QUOTE LOADUP_WORKDIR)) (QUOTE /)))) + (SETQ IL:SYSOUTCOMMITS (LIST (LIST (QUOTE IL:MEDLEY) (IL:UNIX-GETENV (QUOTE LOADUP_COMMIT_ID))))) (IL:MEDLEY-INIT-VARS) (IL:FILESLOAD MEDLEY-UTILS) (SETQ IL:DIRECTORIES (CONS (IL:UNIX-GETENV (QUOTE LOADUP_SOURCEDIR)) IL:DIRECTORIES)) diff --git a/scripts/loadup-full-from-lisp.sh b/scripts/loadup-full-from-lisp.sh index e3c036ca..34b3ae46 100755 --- a/scripts/loadup-full-from-lisp.sh +++ b/scripts/loadup-full-from-lisp.sh @@ -12,6 +12,7 @@ main() { (PROGN (IL:LOAD (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV (QUOTE LOADUP_SOURCEDIR))(QUOTE /LOADUP-FULL.LCOM))) (IL:LOADUP-FULL (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV(QUOTE LOADUP_WORKDIR))(IL:L-CASE (QUOTE /full.dribble)))) + (IL:PUTASSOC (QUOTE IL:MEDLEY) (LIST (IL:UNIX-GETENV (QUOTE LOADUP_COMMIT_ID))) IL:SYSOUTCOMMITS) (IL:HARDRESET) ) SHH diff --git a/scripts/loadup-init.sh b/scripts/loadup-init.sh index c8257fbe..737f32f9 100755 --- a/scripts/loadup-init.sh +++ b/scripts/loadup-init.sh @@ -12,6 +12,7 @@ main() { (SETQ MEDLEYDIR NIL) (LOAD (CONCAT (UNIX-GETENV "MEDLEYDIR") "/sources/MEDLEYDIR.LCOM")) (MEDLEY-INIT-VARS) + (PUTASSOC (QUOTE MEDLEY) (LIST (UNIX-GETENV (QUOTE LOADUP_COMMIT_ID))) SYSOUTCOMMITS) (CNDIR (UNIX-GETENV "LOADUP_WORKDIR")) (DRIBBLE "init.dribble") @@ -28,15 +29,18 @@ main() { (LOADUP-SOURCE-DIR (CONCAT "{DSK}" (UNIX-GETENV "LOADUP_SOURCEDIR") "/")) ) (SETQ DIRECTORIES (CONS LOADUP-SOURCE-DIR DIRECTORIES)) + (PRINT (DATE)) + (PRINT (SETQ SYSOUTCOMMITS (LIST (LIST (QUOTE MEDLEY) (UNIX-GETENV (QUOTE LOADUP_COMMIT_ID)))))) (RESETLST (RESETSAVE OK.TO.MODIFY.FNS T) (MAKEINITGREET (CONCAT WORKDIR "init.sysout") (CONCAT WORKDIR "init.dlinit")) ) ) + (DRIBBLE) (LOGOUT T) STOP EOF - + run_medley "${LOADUP_SOURCEDIR}/starter.sysout" loadup_finish "init.dlinit" "init.*" "RDSYS*" "I-NEW*" diff --git a/scripts/loadup-lisp-from-mid.sh b/scripts/loadup-lisp-from-mid.sh index f640b796..f7b679b0 100755 --- a/scripts/loadup-lisp-from-mid.sh +++ b/scripts/loadup-lisp-from-mid.sh @@ -5,7 +5,7 @@ main() { . "${LOADUP_SCRIPTDIR}/loadup-setup.sh" loadup_start - + cat >"${cmfile}" <<-"EOF" " @@ -14,6 +14,7 @@ main() { (MEDLEY-INIT-VARS) (LOAD (CONCAT (QUOTE {DSK}) (UNIX-GETENV (QUOTE LOADUP_SOURCEDIR)) (QUOTE /LOADUP-LISP.LCOM))) (LOADUP-LISP (CONCAT (QUOTE {DSK}) (UNIX-GETENV (QUOTE LOADUP_WORKDIR)) (QUOTE /lisp.dribble))) + (PUTASSOC (QUOTE MEDLEY) (LIST (UNIX-GETENV (QUOTE LOADUP_COMMIT_ID))) SYSOUTCOMMITS) (HARDRESET) ) SHH diff --git a/scripts/loadup-setup.sh b/scripts/loadup-setup.sh index e764844c..be7305b2 100644 --- a/scripts/loadup-setup.sh +++ b/scripts/loadup-setup.sh @@ -50,8 +50,20 @@ then fi fi +HAS_GIT= [ -f $(which git) ] && [ -x $(which git) ] +export HAS_GIT +git_commit_ID () { + if ${HAS_GIT}; + then + # This does NOT indicate if there are any modified files! + COMMIT_ID=$(git -C "$1" rev-parse --short HEAD) + fi +} +git_commit_ID "${LOADUP_SOURCEDIR}" +LOADUP_COMMIT_ID="${COMMIT_ID}" +export LOADUP_COMMIT_ID scr="-sc 1024x768 -g 1042x790" geometry=1024x768 diff --git a/sources/MEDLEYDIR b/sources/MEDLEYDIR index 226dc83b..98775b39 100644 --- a/sources/MEDLEYDIR +++ b/sources/MEDLEYDIR @@ -1,12 +1,13 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "19-Jul-2023 08:57:43" {WMEDLEY}MEDLEYDIR.;22 10362 +(FILECREATED "26-Aug-2024 22:11:48" {DSK}matt>Interlisp>medley>sources>MEDLEYDIR.;4 11113 - :EDIT-BY rmk + :EDIT-BY "mth" - :CHANGES-TO (FNS MEDLEYDIR) + :CHANGES-TO (VARS MEDLEYDIRCOMS MEDLEY-INIT-VARS) + (FNS SET-SYSOUT-COMMIT) - :PREVIOUS-DATE "17-Jul-2023 16:13:10" {WMEDLEY}MEDLEYDIR.;21) + :PREVIOUS-DATE " 8-Jul-2024 22:49:43" {DSK}matt>Interlisp>medley>sources>MEDLEYDIR.;3) (PRETTYCOMPRINT MEDLEYDIRCOMS) @@ -15,16 +16,19 @@ [ (* ;; "set up initialization for file paths relative to where Medley is installed. This assumes that the environment variable MEDLEYDIR is set (usually by the ./run-medley script) to the (unix path) and all of the other directories variables are set relative to that (by MEDLEY-INIT-VARS)") - (FNS MEDLEY-INIT-VARS MEDLEYDIR MEDLEYSUBSTDIR) - (INITVARS (MEDLEYDIR) - (\SAVE.MEDLEYDIR)) + (FNS MEDLEY-INIT-VARS MEDLEYDIR MEDLEYSUBSTDIR SET-SYSOUT-COMMIT) + [INITVARS (MEDLEYDIR) + (\SAVE.MEDLEYDIR) + (SYSOUTCOMMITS (OR (AND (BOUNDP 'SYSOUTCOMMITS) + SYSOUTCOMMITS) + (LIST (LIST 'MEDLEY NIL] (ADDVARS (AROUNDEXITFNS MEDLEY-INIT-VARS)) (* ;; "**WARNING** The EVALed expressions get run early in the lodup.") (VARS MEDLEY-INIT-VARS) (DECLARE%: EVAL@COMPILE DOCOPY (ADDVARS (GLOBALVARS MEDLEYDIR MEDLEY-INIT-VARS - \SAVE.MEDLEYDIR DIRECTORIES]) + \SAVE.MEDLEYDIR DIRECTORIES SYSOUTCOMMITS]) @@ -158,12 +162,21 @@ (EQ 1 (STRPOS OLD (U-CASE (MKSTRING BODY] THEN [PACK* NEW (SUBSTRING BODY (ADD1 (NCHARS OLD] ELSE BODY]) + +(SET-SYSOUT-COMMIT + [LAMBDA (REPO COMMIT-ID-ENV-VAR) (* ; "Edited 8-Jul-2024 23:31 by mth") + (PUTASSOC REPO (LIST (UNIX-GETENV COMMIT-ID-ENV-VAR)) + SYSOUTCOMMITS]) ) (RPAQ? MEDLEYDIR ) (RPAQ? \SAVE.MEDLEYDIR ) +(RPAQ? SYSOUTCOMMITS (OR (AND (BOUNDP 'SYSOUTCOMMITS) + SYSOUTCOMMITS) + (LIST (LIST 'MEDLEY NIL)))) + (ADDTOVAR AROUNDEXITFNS MEDLEY-INIT-VARS) @@ -172,7 +185,9 @@ (RPAQQ MEDLEY-INIT-VARS - ([LISPUSERSDIRECTORIES (MEDLEYDIR '("library" "lispusers" "internal" "greetfiles" "doctools"] + ((ShellBrowser) + (ShellOpener) + [LISPUSERSDIRECTORIES (MEDLEYDIR '("library" "lispusers" "internal" "greetfiles" "doctools"] [LISPSOURCEDIRECTORIES (MEDLEYDIR '("sources"] (LISPSOURCEDIRECTORY (CAR LISPSOURCEDIRECTORIES)) (IRM.HOST&DIR (MEDLEYDIR '"docs/dinfo")) @@ -203,9 +218,9 @@ NIL NIL T)))) (DECLARE%: EVAL@COMPILE DOCOPY -(ADDTOVAR GLOBALVARS MEDLEYDIR MEDLEY-INIT-VARS \SAVE.MEDLEYDIR DIRECTORIES) +(ADDTOVAR GLOBALVARS MEDLEYDIR MEDLEY-INIT-VARS \SAVE.MEDLEYDIR DIRECTORIES SYSOUTCOMMITS) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (1432 8288 (MEDLEY-INIT-VARS 1442 . 4920) (MEDLEYDIR 4922 . 7306) (MEDLEYSUBSTDIR 7308 - . 8286))))) + (FILEMAP (NIL (1749 8823 (MEDLEY-INIT-VARS 1759 . 5237) (MEDLEYDIR 5239 . 7623) (MEDLEYSUBSTDIR 7625 + . 8603) (SET-SYSOUT-COMMIT 8605 . 8821))))) STOP diff --git a/sources/MEDLEYDIR.LCOM b/sources/MEDLEYDIR.LCOM index b857b1da26c6a3d1e3373b10eaa7cb6a611c80a9..d0f8dd4d3c6033cc9d2ea73c57bcfe00de1d9f99 100644 GIT binary patch delta 1144 zcmbVKzi-n(6i!%BT$(s(k)Q(g)#8UuWs^8=2^LCm;%jS~+NsY8RO&!UOcRvERelH% zsYeRu)2%k# z$64||JkeJKTALAX^%{Qx(`qWCrsp`g*LDvOE49tmmfN|g0)vqw;&p7595HXLt{M*1 zX}iTzp#Z};k|c3Z-Rx32N8rz8IDz38je>^qHqsoV1NX12l&WMnIHn3n(UAs5MY`dL zxpm;0-5LjKepxe@5EdN^__AhWSVejPt?PzO$?s>PVbV+fu>ky{iQ$k&fg%@eR5q*< z7In&ZRMaee2Iab{q>srroZkBsMv?xZKA`FuhBqJufw!Wei^wed+`xb&*r;d;5IP+S zg-+bmB6JDWrtbR7m_M;0K9zxD$#h49H_%O_7^YX=#wGGDHbg1?z0z*lhXG#yqqoe5`@5!H zvK=VZSf$F!4gsC?v(esgHyuDW1_G~l9&tb9y*GEJ+5V)TPVX*iKZvc{wrzk!Xl+Gg zJFMa|r$XS_BwaG4ul6R>s|=Q-FdWZ-G&*4j|4&<%MPTssr4T=jwoHj3>5U-d^_Y8Y z?gKg9#2HHiEjjMY2FCrMZQk#}Wb^`9{ec&4@x*L5L6;g)vf9=FwjJ|s(Cj3pFLZ@$ zb!C~lj5>^#&bk#fq=kPoh=lA>>s)pHD3^P;<{F^Sp{^Gvpf7JE(8r0_<<<%jkmvi0 zJ_iA_n`;ujFK}5W|GthG;t6wjTxcm|koBiG z2gC96Y>v<2Ejht2Y70+f6>Y7%AwXYnhF-7HjM{jjZQ_Aa#!pI7Fn?F7m{+fh%vJB9 zp