Overview
Phorge is the community fork of Phabricator. WMF's plan is to migrate to using this as an upstream. (T302528)
Phorge has https://we.phorge.it/w/installation_and_setup/update_from_phabricator/ as documentation for this process.
In rough outline, the plan here is mostly:
- Switch upstream remotes in the deployment repos
- Pull in changes from the Phorge project
- Test both locally and in the devtools project
- Run a typical scap deploy to production.
Related stuff:
- At least some WMF changes have been merged by Phorge: T209743#8741200 · https://we.phorge.it/T15081
- Upstream Phorge tracks stuff useful to Wikimedia: https://we.phorge.it/tag/affects-wikimedia/
- Example upstream (Phorge) discussion about features wanted by WMF teams: https://we.phorge.it/T15100
Upstream changes
A list of commits for both Phorge's stable branch and master, where development is happening:
phorge commits on stable:
113b17ceca Promote 2022.37 to stable
377ac059d6 Update default wordmark and logo
dbf7cd2b4a Rebrand: Rename library and update "version" logic
c3f0c0b0f7 Merge Phacility/master into phorge
9426765a2c Flatten "RemarkupValue" objects when setting field defaults for custom forms
1fc04e238f Fix repository URI generation for SVN commit identifiers represented with integer types
944b257d5d Fix a policy issue where permissions were not properly checked when disabling global builtin queries
3052ed1484 Remove obsolete, policy-violating "owners.query" API method
835cd7f270 Improve remarkup metadata robustness against debris in the database
7d4357683a Hide the blurb of a user when that user is disabled
b293e6ffed Make Datepicker translatable
fd1922c763 Update Install and Update Scripts to the new Paths and Repository links
ce31289228 (PhabricatorENV) update doclinks to link to we.phorge.it instead of secure.phabricator.com
a4948ec800 Add conduit endpoints for querying legalpad
69cb760921 Updated .arclint in Phorge to exclude package-lock.json from Aphlict setup
e7740c8669 Add HarbormasterHookController as an entry point for all Harbormaster hooks
2258ba8535 Add package.json for aphlict
af36da4741 Rename example sshd files
1ddb953b9f Update Diviner documentation to reference Phorge instead of Phabricator.
7157dd96b3 T15006: Update .arcconfig to point to we.phorge.it
fda1a55450 Update Readme
arcanist commits on stable:
42a51e15 Promote 2022.37 to stable
0c0b9644 Rebrand: Change Server name
9b4bcc83 Merge Phacility/master into phorge
42302929 Fix incorrect quoting of author in 'arc patch'
5407e5e5 Fix PhutilLibraryMapBuilder to call the right function in log()
7498c102 Update arcanist readme to reference Phorge
737bd0d4 Update Diviner documentation to reference Phorge instead of Phabricator for Arcanist.
cf4b14fc Arcanist Update .arcconfig to point to we.phorge.it
-------
phorge commits on master:
1b9da964e9 Add setup check to avoid git version 2.5.0 and below (May 2015)
9c759fe23a Fix preamble-support
a7b472284b Mobile: show Homepage contents and avoid duplicate menus
0a82ccb8a4 AphrontFileResponse: avoid alien usages of setDownload()
d46aab8321 Add GitHub mirror to list of known mirrors
b587865ce7 People: add a permalink to list Administrators
dad1b15a9c User Badges: better integrate with Removed Comments
3a8ee271d9 Render all Removed Comments a little more docile
524579fe64 Diffusion: fix missing mobile "Actions" from Manage Repo
787a84969f Phriction: clarify its search results as "Wiki page"
306ce1c0b7 Fix "Search" Application description
96ae4ba13a PHP 8.1: fixes for strlen() not accepting NULL anymore, part 2
d25d630fe5 PHP 8.2: fixes for strlen() not accepting NULL anymore, part 1
fc9bbb9949 Workboard: fix regression caused by tags= prefiller
821df3364e Hide the "hidden" fields on custom form previews
6036079e88 PHP 8.2: fix deprecated use of "parent" in callables
5eac69b79d Ponder: strike code of resolved questions in query results
780e86acf8 Herald Rule Creation Page: fix Back button in some cases
f0618d54e8 Installation Guide: mention that git 2.5.0 (2015) is needed server-side
38e3692d7b Workboard: in some cases, increase menu opacity (accessibility)
5e2b367715 Workboard: improve the Create Task link to mention the Project slug
d98c47041f PHP 8.2: fix deprecated creation of dynamic properties
03c9bf575e PHP 8.2: fixes for deprecated use of ${var} in strings
42a8b73adb Feed Differential retitled: do not repeat the title twice
9bc3c16b6e Fix information page about Read-only status
c6f56b8221 Workboard: fix CTRL+click on "Create Task" and "Edit Task"
b33e373503 Drag & Drop: set a link as external
4f356838be FileUpload: show File page instead of binary file
5cba56182f Diviner: fix "Javascript" -> "JavaScript" and minor change
3487ee444a Fix regression in new confirmation Dialog
9623e66745 replace usage of each() with foreach() for smtp
66192a5b83 Fix "Undefined index: icon" when visiting Search Servers using MySQL
53c31b7b13 Fix middle-click, CTRL+click, right-click etc. on Typehead search results
36dba82224 Show the API summary on the top of each Conduit API page
20fb93d1a4 Add small documentation details
83672ba949 Allow to prefill name and description fields of a new Passphrase
6a563a68b5 Celerify
02a4f8b0c8 Fix editing a Calendar import ICS URI
d5040f9a8f updating twitch to latest api (Helix)
dc558b5538 Fix NULL pointer exception in some circumstances from Calendar's homepage
a8a38835e1 Fix broken file PHID extraction that causes Pholio uploads to crash
abb693962d Update sprite sheets
4aedc206c7 Update PassphraseCredential to support Mentions
f8ffa393c4 Added cross-platform default fonts
69b2710af9 Prevent Line Numbers in Diffusion being copied as Tabs
a16e8773f0 Show confirmation dialog when closing a modal if form contents have been changed
377ac059d6 Update default wordmark and logo
dbf7cd2b4a Rebrand: Rename library and update "version" logic
c3f0c0b0f7 Merge Phacility/master into phorge
9426765a2c Flatten "RemarkupValue" objects when setting field defaults for custom forms
1fc04e238f Fix repository URI generation for SVN commit identifiers represented with integer types
944b257d5d Fix a policy issue where permissions were not properly checked when disabling global builtin queries
3052ed1484 Remove obsolete, policy-violating "owners.query" API method
835cd7f270 Improve remarkup metadata robustness against debris in the database
7d4357683a Hide the blurb of a user when that user is disabled
b293e6ffed Make Datepicker translatable
fd1922c763 Update Install and Update Scripts to the new Paths and Repository links
ce31289228 (PhabricatorENV) update doclinks to link to we.phorge.it instead of secure.phabricator.com
a4948ec800 Add conduit endpoints for querying legalpad
69cb760921 Updated .arclint in Phorge to exclude package-lock.json from Aphlict setup
e7740c8669 Add HarbormasterHookController as an entry point for all Harbormaster hooks
2258ba8535 Add package.json for aphlict
af36da4741 Rename example sshd files
1ddb953b9f Update Diviner documentation to reference Phorge instead of Phabricator.
7157dd96b3 T15006: Update .arcconfig to point to we.phorge.it
fda1a55450 Update Readme
arcanist commits on master:
08dfffd5 Replace function utf8_decode() - deprecated since PHP 8.2
9e1bb955 updating twitch to latest api (Helix)
0c0b9644 Rebrand: Change Server name
9b4bcc83 Merge Phacility/master into phorge
42302929 Fix incorrect quoting of author in 'arc patch'
5407e5e5 Fix PhutilLibraryMapBuilder to call the right function in log()
7498c102 Update arcanist readme to reference Phorge
737bd0d4 Update Diviner documentation to reference Phorge instead of Phabricator for Arcanist.
cf4b14fc Arcanist Update .arcconfig to point to we.phorge.itThere are some conflicts for Phorge:
8:30:03 brennen@metaphor:~/code/wmf/phabricator/deployment/phabricator (wmf/migrate-phorge) ❦ git merge phorge/stable Removing webroot/rsrc/image/logo/light-eye.png Auto-merging src/view/form/control/AphrontFormDateControl.php Auto-merging src/infrastructure/env/PhabricatorEnv.php Removing src/docs/user/feedback.diviner Removing src/docs/flavor/about_flavor_text.diviner Removing src/docs/contributor/cla.diviner Removing src/applications/owners/conduit/OwnersQueryConduitAPIMethod.php Auto-merging src/applications/legalpad/storage/LegalpadDocumentSignature.php Auto-merging src/applications/legalpad/query/LegalpadDocumentSignatureSearchEngine.php Auto-merging src/applications/legalpad/query/LegalpadDocumentSignatureQuery.php CONFLICT (content): Merge conflict in src/applications/legalpad/query/LegalpadDocumentSignatureQuery.php CONFLICT (add/add): Merge conflict in src/applications/legalpad/conduit/LegalpadSignatureSearchConduitAPIMethod.php Auto-merging src/applications/legalpad/conduit/LegalpadSignatureSearchConduitAPIMethod.php Auto-merging src/__phutil_library_map__.php Auto-merging resources/celerity/map.php CONFLICT (content): Merge conflict in resources/celerity/map.php Auto-merging .arclint Auto-merging .arcconfig CONFLICT (content): Merge conflict in .arcconfig Automatic merge failed; fix conflicts and then commit the result. zsh: exit 1 git merge phorge/stable
So a first step is working through those.
T302528 - is where WMF originally considered this and made a decision
T335080 - is a subtask how to handle the database part of the migration
T334519 - is an (relatively unrelated) task to upgrade phabricator (or phorge) servers to bullseye
T328595 - is a previous task in which we created a test instance for phorge, running in the devtools project in cloud VPS