Mailinglist Archive: opensuse-wiki (90 mails)

< Previous Next >
Re: [opensuse-wiki] Update to 1.16
  • From: Christian Boltz <opensuse@xxxxxxxxx>
  • Date: Fri, 24 Sep 2010 01:23:01 +0200
  • Message-id: <201009240123.02579@xxxxxxxxxxxxxxx>
Hello,

on Mittwoch, 22. September 2010, Matthew Ehle wrote:
Christian Boltz <opensuse@xxxxxxxxx> 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@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-wiki+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups