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