All guardian code is archived in individual git repositories for each node. The code is committed to the archive every time a node is restarted, or when the LOAD button is pressed.
The guardutil archive-clone command can be used to clone the code repositories, to inspect the guardian user code that was running at any point in time.
If no directory is provided a gui interface will be displayed for visual inspection of each commit in the repository. If a directory is provided the full archive will be cloned:
jameson.rollins@opsportal:~ 0$ guardutil archive-clone ISC_LOCK tmp/jameson.rollins@opsportal:~ 0$ cd tmp/ISC_LOCK/jameson.rollins@opsportal:~/tmp/ISC_LOCK 0$ git log --after="2018-10-10 23:55"--before="2018-10-10 23:56"commit a095a75b9de6a49bd52f290e9539be7b55b0893eAuthor: guardian <guardian@l1guardian1>Date: Wed Oct 10 23:55:56 2018 -0500 DAEMON RELOAD guardian version: 1.2.1jameson.rollins@opsportal:~/tmp/ISC_LOCK 0$ git checkout a095a75b9de6a49bd52f290e9539be7b55b0893eNote: checking out 'a095a75b9de6a49bd52f290e9539be7b55b0893e'.You are in'detached HEAD' state. You can look around, make experimentalchanges and commit them, and you can discard any commits you make in thisstate without impacting any branches by performing another checkout.If you want to create a new branch to retain commits you create, you maydo so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_nameHEAD is now at a095a75... DAEMON RELOADjameson.rollins@opsportal:~/tmp/ISC_LOCK 0$ less opt/rtcds/userapps/release/isc/l1/guardian/ISC_LOCK.py