Up to Main Index Up to Journal for May, 2015 JOURNAL FOR SUNDAY 31ST MAY, 2015 ______________________________________________________________________________ SUBJECT: The bringing together of two WolfMUDs DATE: Sun 31 May 22:40:33 BST 2015 With great reluctance I've put aside my other project[1] and have been working on WolfMUD mini again. Yay! :) I think I've finished the main code documentation for WolfMUD mini - there is more to do, but what to do next? I could add the networking, multiplayer and player account code. I could add the flat file loader to replace the statically coded locations and items. Or all of it. Maybe none of, it and push out WolfMUD mini as it is. I think after the long wait I'd like to push it out for people to look at and play with. Even in it's current statically defined data, single user only state. Question is how? and that's what I'm currently mulling over as I have several options. I could just blow away the current WolfMUD repository and start again with the WolfMUD mini repository. However, I know there are some people going through the commit history and seeing how the codebase develops and evolves. I could start an orphaned branch in Git for WolfMUD mini and rename a few branches so that becomes the main line of development. The old prototypes would be there for the finding for those interested. Actually what I think I will do is a combination of the two. Add an orphan WolfMUD mini branch, possibly just called 'mini'. Then add a commit to the dev branch which removes all of the current files. Lastly merge the 'mini' branch into the dev branch. Something like this: | | (d) * | Merge branch 'dev' into 'go1' |\| (c) | * Merge branch 'mini' into 'dev' | |\ (b) | * | Clear down current WolfMUD files on 'dev' | * | Current WolfMUD development on 'dev' (a) | | * WolfMUD-mini rewrite on 'mini' | | * Initial WolfMUD-mini commit | | : : | | * | Merge branch 'dev' into 'go1' \| * Prototypes 1,2 & 3 development : * Initial WolfMUD commit This is vastly simplified but I think it demonstrates what I hope to do. First thing at (a) we introduce the dev branch from the WolfMUD-mini repository into the WolfMUD repository as an orphan branch called 'mini'. This preserves all of the WolfMUD mini development history so far. Next at (b) all of the current files on the main WolfMUD 'dev' branch are removed. This preserves the WolfMUD dev branch history so far. Then at (c) we merge the orphan 'mini' branch into the now cleared 'dev' branch. At this point the 'dev' branch now contains the WolfMUD mini code. At (d) the dev branch is merged into the public 'go1' branch and push out for people to look at and play with. All of our commits are preserved and available in the one repository which is important. It means anyone can see how the project developed and everything can be audited if needed. It also shows all of the false starts and change of direction as well. It also means that I can cherry-pick useful code from the previous prototypes if needed. I know from a functional point if view this is a step backwards. A necessary step backwards that addresses a lot of the mistakes in the early development of WolfMUD when I was just learning Go. Hopefully a lot of this will be done over next Wednesday and Thursday evening but we shall have to wait and see. -- Diddymus [1] See "Sidetracked for a while" /journal/2015/5/19.html Up to Main Index Up to Journal for May, 2015