--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.ffignore Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,1 @@
+docs/build
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,5 @@
+syntax: glob
+
+scratch.lisp
+*.png
+docs/build
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/LICENSE.markdown Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,19 @@
+Copyright (c) 2024 Steve Losh and contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,40 @@
+.PHONY: test test-sbcl test-ccl test-ecl test-abcl pubdocs
+
+heading_printer = $(shell which heading || echo 'true')
+sourcefiles = $(shell ffind --full-path --literal .lisp)
+docfiles = $(shell ls docs/*.markdown)
+apidocs = $(shell ls docs/*reference*.markdown)
+
+# Testing ---------------------------------------------------------------------
+test: test-sbcl test-ccl test-ecl test-abcl
+
+test-sbcl:
+ $(heading_printer) computer 'SBCL'
+ time sbcl --load test/run.lisp
+
+test-ccl:
+ $(heading_printer) slant 'CCL'
+ time ccl --load test/run.lisp
+
+test-ecl:
+ $(heading_printer) roman 'ECL'
+ time ecl -load test/run.lisp
+
+test-abcl:
+ $(heading_printer) broadway 'ABCL'
+ time abcl --load test/run.lisp
+
+# Documentation ---------------------------------------------------------------
+$(apidocs): $(sourcefiles)
+ sbcl --noinform --load docs/api.lisp --eval '(quit)'
+
+docs/build/index.html: $(docfiles) $(apidocs) docs/title
+ cd docs && ~/bin/venvs/tools/bin/d
+
+docs: docs/build/index.html
+
+pubdocs: docs
+ hg -R ~/src/docs.stevelosh.com pull -u
+ rsync --delete -a ./docs/build/ ~/src/docs.stevelosh.com/dbvolvet
+ hg -R ~/src/docs.stevelosh.com commit -Am 'dbvolvet: Update site.'
+ hg -R ~/src/docs.stevelosh.com push
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/README.markdown Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,12 @@
+DBvolve
+======
+
+DBvolve is a library for evolving your database schema over time.
+
+It's not named "migrate" because migration has to be round-trip, and DBvolve
+intentionally does not support backwards migrations.
+
+* **License:** MIT
+* **Documentation:** <https://docs.stevelosh.com/dbvolve/>
+* **Mercurial:** <https://hg.stevelosh.com/dbvolve/>
+* **Git:** <https://github.com/sjl/dbvolve/>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dbvolve.asd Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,14 @@
+(asdf:defsystem :dbvolve
+ :description "Database schema evolution."
+ :author "Steve Losh <steve@stevelosh.com>"
+ :homepage "https://docs.stevelosh.com/dbvolve/"
+
+ :license "MIT"
+ :version "0.0.1"
+
+ :depends-on ()
+
+ :serial t
+ :components ((:module "src" :serial t
+ :components ((:file "package")
+ (:file "main")))))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/01-usage.markdown Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,9 @@
+Usage
+=====
+
+DBvolve is a lightweight library for evolving a database schema over time. It
+might be called a "database migration library" except that "migrations" are
+round-trip, and DBvolve explicitly and intentionally does not support backwards
+migrations.
+
+[TOC]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/02-reference.markdown Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,14 @@
+# API Reference
+
+The following is a list of all user-facing parts of DBvolve.
+
+If there are backwards-incompatible changes to anything listed here, they will
+be noted in the changelog and the author will feel bad.
+
+Anything not listed here is subject to change at any time with no warning, so
+don't touch it.
+
+[TOC]
+
+## Package `DBVOLVE`
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/03-changelog.markdown Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,7 @@
+Changelog
+=========
+
+Here's the list of changes in each released version.
+
+[TOC]
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/api.lisp Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,20 @@
+(ql:quickload "cl-d-api")
+
+(defparameter *header*
+ "The following is a list of all user-facing parts of DBvolve.
+
+If there are backwards-incompatible changes to anything listed here, they will
+be noted in the changelog and the author will feel bad.
+
+Anything not listed here is subject to change at any time with no warning, so
+don't touch it.
+
+")
+
+(d-api:generate-documentation
+ :dbvolve
+ #p"docs/02-reference.markdown"
+ (list "DBVOLVE")
+ *header*
+ :title "API Reference")
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/footer.markdown Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,3 @@
+<i>Made with Lisp and love by [Steve Losh][].</i>
+
+[Steve Losh]: http://stevelosh.com/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/index.markdown Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,9 @@
+DBvolve is a library for evolving your database schema over time.
+
+It's not named "migrate" because migration has to be round-trip, and DBvolve
+intentionally does not support backwards migrations.
+
+* **License:** MIT
+* **Documentation:** <https://docs.stevelosh.com/dbvolve/>
+* **Mercurial:** <https://hg.stevelosh.com/dbvolve/>
+* **Git:** <https://github.com/sjl/dbvolve/>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/title Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,1 @@
+DBvolve
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main.lisp Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,1 @@
+(in-package :dbvolve)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/package.lisp Thu Mar 28 10:41:20 2024 -0400
@@ -0,0 +1,4 @@
+(defpackage :dbvolve
+ (:use :cl)
+ (:export
+ ))