I am writing a package with example code for a book, and I anticipate code enhancements and code changes in future editions of this book. At the same time, I want to make sure that future readers of older editions can run the code with then current Julia versions. My current solution is as follows: For each edition I create a branch in my github repository and then update each branch when newer 0.x versions of Julia come out. The master branch would always reflect the most recent edition of the book. The reader is asked to clone the repository and then check out the branch and appropriate commit for her/his combination of book edition and Julia version. I fear that this approach may be a bit cumbersome for my target group.
In this context I have the following questions: 1. Would this approach require the users to install git separately or could one somehow use the git bundled with the Julia binaries? 2. Are there better alternatives using the package manager? I was able to publish my package and I know that one could pin a version in the master branch. But I do not know how to provide different published branches and versions on on these branches branches to which the user could pin the package. 3. Is there anything else I have overlooked to solve my problem? Regards, Marcus