Hey,
I'm trying to figure out a way to version control any configuration changes we make to our wiki installation so it's easy to a) upgrade versions, b) revert if we need to undo something, c) maybe one day have a development site to verify functionality when upgrading, etc. The problem is, it seems impossible to track it all in an elegant, simple manner.
The first and main issue is with LocalSettings.php. This is not tracked in the main git repository, which I totally understand and am not here to start an argument over that. Rather, I'd like a way to track changes to that, perhaps in its own repository and not have it accidentally disappear if I try to checkout a different branch of the main repository. Currently, it's in its own private git repository ".gitlocal", which means to handle it, all my commands are "git --git-dir=.gitlocal ...". This works, I guess, but it's not ideal.
Anyway, I've looked into a lot of options (submodules, subtrees, you name it), but everything appears to only work with subdirectories, and mediawiki clearly states that the LocalSettings.php file MUST be in the same directory as everything else. Also, trying to handle the main mediawiki repository as a subtree or otherwise trying to merge a branch just simply doesn't work.
TL;DR Basically what I want is to be able to open up a bash shell in the wiki directory and say "hey, Git, mind grabbing me this version of mediawiki, and also this version of my LocalSettings file, and these versions of my extensions?" and have it reply "sure, buddy, here ya go!"
Sorry for the life story, hopefully someone has some thoughts, or at least questions I can answer that might make this make a little more sense :)
Cheers, Kevin