When one marks an exercise as done, one gets the option to publish all iterations or to select just one to be published (or to publish none). As far as I could determine, it’s not currently possible to publish multiple but not all iterations for an exercise.
Have I missed something? If so, would it be done?
Or if publishing none, one or all are indeed the only three options now, would the ability to publish several but not all iterations be a worthwhile future feature?
I think this is a good idea. I have multiple iterations where many may have just minor tweaks. But some are significant refactorings. I would be more inclined to publish multiple iterations if I could pick the best representatives of each major “version” and not all of the sausage grinding.
By the way, this might go along with the idea of being able to compare iterations. That was first proposed for mentors to quickly see the differences between mentee iterations, but it might be applied to community solutions as well. Then, having many iterations wouldn’t be so bad, because you could quickly see a small difference between two relatively large solutions, instead of trying to find the small difference in a large amount of code that looks mostly the same.
Ah, yes, diffs would be nice. Even more useful would be if when viewing a solution one could choose which iterations to diff, rather than only subsequent ones.
In das-g's solution for Nucleotide Count in Haskell on Exercism after iteration 9 I went back to iteration 5, copied the code from there and improved further on it, disregarding my dabbling from iterations 6–9. It’d be nice to be able to do that without having to copy-paste code from the web interface and to make the fact that I went back to that iterations for making further ones visible to those viewing the published solution. Though if we any further would go down that road, I fear we’d be re-inventing version control systems like Git.
So … maybe “just” add Git integration for representing iterations and get branching, “time travel” (going back to old iterations and improve based on them), diffs etc. almost for free?