- Separate stuff into subdirectories
- login/ for the login-server's configuration and savefiles. (Eventually, this is planned to be moved out of this repository entirely, and placed in the server repository, but with the state of my rewrite, it is not feasible to make changes to the exist server repository)
- world/ for the char-server's stuff
- world/map/ for the map-server's stuff
- This will greatly reduce stress when we implement multiple worlds, e.g. tmwa-adventures
- Make the client-data a git submodule. After the next update, the +tmw-admins/tmw/tmwa-client-test will become obselete, because every commit of the server data will indicate exactly which commit in tmwa-client-data corresponds, be it 'stable' or not.
- This means that all commits of client data must be pushed to tmwa-client-data
- While this is only in testing, the submodule points to tmwa-client-testing. When it's time to push this to the stable server data repository, the submodule URL will change, and you'll have to run 'git submodule sync'.
- Use: git submodule update [--rebase | --merge] from the server data repository instead of git pull [--rebase] from the client-data repository. There is a git hook that does this when you 'git pull' the server-data repository, which you must copy into .git/hooks manually.
- Some changes to the map converter.
- The symlinks are no longer necessary. Instead, command-line arguments are given.
- The 'Converter' helper class has been obseleted and removed.
- There is a makefile at the root of the repository which does this automatically. Among other things, this means you will no longer have the problem of running an outdated version of the converter because you forgot to run 'ant' again.
Changes for people running servers:
- You must run ./move-stuff.sh after updating, in order to move non-git data to the correct location
- The server binaries (login-server, char-server, map-server) need to be put on your PATH, e.g. /usr/local/bin or possibly ~/bin
- You should install the post-merge git hook. A symlink is recommended, so that you get (potential) updates automatically.
- If you are tracking testing rather than stable, you will have to run git submodule sync to update the URL once this gets pushed to stable.
- You must run git submodule update --init after cloning. (to save download time, you can copy an existing .git/ directory of a clone of the client-data git repository first)
- The submodule is initially branchless, you'll want to run 'git checkout master'
- You must push to client-data before pushing to any server-data repository
- If there is a clone for a project, clone only the server data, your client-data changes should be put straight into tmwa-client-data if possible
- Instead of cloning the ssh urls (firstname.lastname@example.org: ...), clone the git:// urls, and run:
git config --global email@example.com:.pushInsteadOf git://gitorious.org
Besides being necessary for the submodules to work, this will mean faster downloads.