https://bugzilla.wikimedia.org/show_bug.cgi?id=37946

Krinkle <krinklem...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |krinklem...@gmail.com,
                   |                            |s...@reedyboy.net,
                   |                            |tstarl...@wikimedia.org

--- Comment #1 from Krinkle <krinklem...@gmail.com> 2012-06-26 02:42:57 UTC ---
Here's an idea, let me know what you think:

array(
    'Cite' => array(
        'dir' => '/var/extdist-workingcopies/gerrit/mediawiki/extensions/Cite',
        'branches' => true,
    ),
    'CreateAPage' array(
        'branchDirs' => array(
            'trunk' => '/var/mw-snapshot/wikimedia-svn/trunk/extensions/Cite',
            'REL1_18' =>
'/var/mw-snapshot/wikimedia-svn/branches/REL1_18/extensions/Cite',
    ),  
);

* Adapters each have their own validator. Git supports any of the three
properties, but requires at least one of 'dir' or 'branchDir' to be set. SVN
only supports only 'dir' (as short cut to `'branchDir' => { trunk: dir }`) and
'branchDir'.

Where 'branches' can be either:
* - true (default): all branches it can automatically "find"
* - array: whitelist of branches from the auto-find

And 'branchDirs' for using different directories for branches (mostly svn,
though a git extension could use this too, e.g.  branches from a fork in
another repository clone directory).

Since this array would be huge and unlikely to be maintained manually, perhaps
do this from a Hook (that would also save memory when viewing unrelated pages).
For the Wikimedia install we'd have the working copy organized the same as now
(with the addition of git):

/var/mw-snapshot/
- wikimedia-svn/
  - trunk/
    - extensions/*
  - branches/
    - RELx_yy/
      - extensions/*
- wikimedia-gerrit/
  - mediawiki/extensions/*

The hook would traverse these directories and format return array (which the
hook caller should at least cache within the request). This would basically
move the logic we currently have inside ExtensionDistributor to wmf-config.

Aside from that, something that the Git adapter still needs (either way) is to
switch branches before making the tarball (and properly git-clean/git-reset as
well, since switching branches has the tendency of leaving loose ends in Git).

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to