
Hello, on Mittwoch, 22. September 2010, Matthew Ehle wrote:
Christian Boltz <opensuse@cboltz.de> 9/21/2010 12:27 PM >>>
BOFH answer: you are using the wrong version control system for the wiki.
The easiest way is to use a SVN checkout directly from the svn.mediawiki.org server (branches/REL1_16/phase3 aka 1.16 branch). You can then just run a "svn diff" and see what was changed in the local copy. The same works for the extensions - check them out from svn.mediawiki.org and later just run a "svn diff". ... Of course this means that you can't put everything in the openSUSE SVN because that conflicts with the SVN informations from svn.mediawiki.org. You could instead use something else (for example git) and check in the whole SVN tree including the .svn directories. ... Hmmm, this is really not a bad idea at all. We would just keep the themes and custom plugins in berlios and use the MediaWiki SVN for the rest. Can anyone think of a reason this would not work for our situation?
It isn't that easy. You are missing a small, but important detail when you compare the openSUSE wiki to what I do on my server ;-) On my server, I checkout the code _directly to the document root_. One part of the checkout is the Mediawiki core, the other parts are several extensions. That's the easy part. The difference: I have no other level of version control on top of this. Well, except the nightly backup ;-) You have to do the same checkouts for the openSUSE wiki, but additionally the code of the openSUSE wiki is managed in a central version control system and deployed from there (to stage and later to the live site). This means you have two "levels" of version control - one upstream and one for openSUSE including upstream code. I'm quite sure that having everything (Mediawiki core, extensions, openSUSE-related modifications and additions) in one version control system is very important. The alternative would be to have a very difficult to maintain mix of two different SVN checkouts (+ one for every extension) on the servers. I doubt that you want to keep such a chaos in sync between staging and production servers - and some "external" people like Rajko who run an own instance of the wiki for testing purposes would also have a very hard time. You also do not want to use svn:externals because they aren't perfectly reliable - AFAIK you'll always get the latest version of the core and the extensions whenever you do a deployment/svn up. This means versions could differ between stage and production servers... If you want to use only SVN, I'd recommend vendor branches for the Mediawiki core and the extensions. However, putting the whole wiki code in another version control system (git?) would have the advantage that "svn diff" works and that you can avoid all the branch handling. Don't get me wrong - I really don't want to stop you. I'm just saying that it's a bit more difficult than it might sound at the first look ;-)
Really, the only core file we should have to worry about is index.php, and changes on that part of the file aren't likely.
Never say never ;-) The best way is to ask for a hook upstream, so that the openSUSE wiki could use an unmodified index.php in future versions. Regards, Christian Boltz -- Der Vergleich hinkt wie eine Schnecke mit Holzbein ;) [David Haller] -- To unsubscribe, e-mail: opensuse-wiki+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-wiki+help@opensuse.org