Which legacy versions of ASDF should we support?
Xach and/or one of his users had trouble with ASDF from SBCL 1.0.38. # git show sbcl_1_0_38:contrib/asdf/asdf.lisp > /tmp/asdf-from-sbcl-1.0.38.lisp # sha1sum /tmp/asdf-from-sbcl-1.0.38.lisp fd7eab8cd8e5eaeb34264896d62a8bb3847b4d00
We can identify which revision this came from with: # git log sbcl_1_0_38 -- contrib/asdf/asdf.lisp It was 1.0.29.50 by nikodemus which claims to have imported it from git. Of course, whichever revision is latest in asdf.git at that point was not in master when nikodemus pulled, and # for i in $(git rev-list HEAD -- asdf.lisp) ; do echo "$i $(git show "$i":asdf.lisp | sha1sum)" ; done | grep fd7eab8cd8e5eaeb34264896d62a8bb3847b4d00 replies nothing. How come we can't see the same version anywhere in the asdf git repo? Let's find the version with least differences... # for i in $(git rev-list HEAD -- asdf.lisp) ; do echo "$i $(git show "$i":asdf.lisp | diff -uab - /tmp/asdf-from-sbcl-1.0.38.lisp | grep '^[+-]' | wc -l)" ; done | sort -k2 | head -n 1 3ef18cd49ef82c6a2dd92034972019721458d22c 0 What, no difference? Yeah, it's SBCL whitespace canonicalization at work. So the good version was a commit by gwking on 2009-06-09.
I'm too lazy to do anything systematic about it right now, but I wanted to record that for posterity. Maybe at some point I'll scum around the SBCL sources and try to extract a few versions of ASDF that we may want to support. Are there any other implementations than SBCL, ECL and ABCL that used to distribute copies of ASDF? We may want to do something similar, and integrate that in our test suite.
Now to make sure that upgrades work from ALL these versions, before we release 2.009... soupirs (le sigh).
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Good girls are bad girls that never get caught.
On 9/30/10 Sep 30 -7:53 PM, Faré wrote:
Which legacy versions of ASDF should we support?
Xach and/or one of his users had trouble with ASDF from SBCL 1.0.38. # git show sbcl_1_0_38:contrib/asdf/asdf.lisp > /tmp/asdf-from-sbcl-1.0.38.lisp # sha1sum /tmp/asdf-from-sbcl-1.0.38.lisp fd7eab8cd8e5eaeb34264896d62a8bb3847b4d00
We can identify which revision this came from with: # git log sbcl_1_0_38 -- contrib/asdf/asdf.lisp It was 1.0.29.50 by nikodemus which claims to have imported it from git. Of course, whichever revision is latest in asdf.git at that point was not in master when nikodemus pulled, and # for i in $(git rev-list HEAD -- asdf.lisp) ; do echo "$i $(git show "$i":asdf.lisp | sha1sum)" ; done | grep fd7eab8cd8e5eaeb34264896d62a8bb3847b4d00 replies nothing. How come we can't see the same version anywhere in the asdf git repo? Let's find the version with least differences... # for i in $(git rev-list HEAD -- asdf.lisp) ; do echo "$i $(git show "$i":asdf.lisp | diff -uab - /tmp/asdf-from-sbcl-1.0.38.lisp | grep '^[+-]' | wc -l)" ; done | sort -k2 | head -n 1 3ef18cd49ef82c6a2dd92034972019721458d22c 0 What, no difference? Yeah, it's SBCL whitespace canonicalization at work. So the good version was a commit by gwking on 2009-06-09.
I'm too lazy to do anything systematic about it right now, but I wanted to record that for posterity. Maybe at some point I'll scum around the SBCL sources and try to extract a few versions of ASDF that we may want to support. Are there any other implementations than SBCL, ECL and ABCL that used to distribute copies of ASDF? We may want to do something similar, and integrate that in our test suite.
Now to make sure that upgrades work from ALL these versions, before we release 2.009... soupirs (le sigh).
What do we mean by "support"? I /think/ I understand: since all of our ASDF versions are intended to be compatible, what we mean by supported is that it should be possible to successfully upgrade all of these versions to the latest release. Is that correct?
I claim also that we only need to worry about supporting (in this sense) ASDF versions that have been bundled with an implementation. If you have a version of ASDF that's not bundled with your implementation, then you can simply replace it --- it doesn't need to be hot-patched.
Does this sound right?
Best, r