-
-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement a migration system #31
Conversation
…n always log even before init.
…ance is already running.
…me more information about what's going on.
…directory instead. See Shirakumo/radiance#31
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally seems like a very sane system! After reading up on some things that stood out to me and finding out I just had a wrong mental model of some standard CL functionality, the only comments left are about the documentation.
documentation.lisp
Outdated
See VERSION<=") | ||
|
||
(function version-bounds | ||
"Returns a subsequence of VERSIONS that is bounded by start and end. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the first description lines of version-region
and version-bounds
could use some work. If I understand correctly, version-region
returns essentially (<= start x end)
, and version-bounds
returns that same subsequence, but ensures it starts with start
and ends with end
?
Maybe something like this for version-region
:
Returns the versions in VERSIONS that are between START and END, inclusive.
And something like this for version-bounds
:
Returns the versions in VERSIONS that are between START and END, inclusive, ensuring the sequence starts with START and ends with END, if provided.
documentation.lisp
Outdated
T --- The system is migrated to its current system version. | ||
version --- The system is migrated to this specific version. | ||
|
||
When this function is called it determines the list of effective |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think "effective" should be replaced with "concrete", which is what it's called everywhere else.
defaults.lisp
Outdated
@@ -228,3 +228,29 @@ | |||
(T | |||
;; Other refer, no change. | |||
)))))) | |||
|
|||
;;; Default logger to make sure we can log even before the real impl is laoded. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mistyped word "loaded".
Went through the changes. It seems like a really solid and sensible system to have. If there were any issues, they escaped my eyes and I didn't catch anything wrong with the documentation either. All in all |
…ntation definitions. Should fix some upgrade weirdness, I hope.
…directory instead. See Shirakumo/radiance#31
…directory instead. See Shirakumo/radiance#31
This implements a relatively simple migration system for Radiance and its users that allows the migration of runtime data to accomodate for incompatible changes. This should fix #30.
Yet To Do: