Page MenuHomePhorge

Code Differences between Phabricator and Phorge
Updated 397 Days AgoPublic

This page can help to sum up the differences between Phabricator and Phorge to prevent conflicts or duplicate work.

If you need the philosophical differences, see this page instead: Why Migrate from Phabricator to Phorge

Normal users probably are not interested in this page. This page is internally useful since Phorge often introduces changes not developed by Phabricator. But, sometime Phabricator also introduces unique changes, that could be pulled in Phorge. Some times, we do the same thing but with different approaches.


In short

Phorge has many more bug fixes and features than Phabricator 😎

This page just shows:

  • commits that are only present in Phabricator (very few)
  • commits that are somehow present in both

So that we can eventually import them in Phorge if we like that (example: T15094).

Differences from upstream Phabricator

https://secure.phabricator.com/source/phabricator/history/master/

List of recent changes in Phabricator-only (most recent up):

Phab Topicin Phabricatorin PhorgeNotes
PHP840b272fa51eamixed
PHP8 Conduitdd94e2efcfb7mixed
PHP8 Dashboard60158470d04amixed
PHP8cf400694c717mixed
Fix HTTP Mercurial0b6e758978a9D25471
PHP8 Remarkupec9ebe532e52mixed
PHP8 Diffusion & Differentialce3d484b0ec7mixed
PHP8 refactor ProfileMenu58995268dd97mixed
PHP8 fixesf6214f060e78mixedBasically in Phab they reinvented the wheel after 3 months of day-by-day fixes in Phorge. They are probably missing things we already fixed and vice-versa.
Fix Figlet regressionbc6f4786a2e3rP71e4eee275f5Phab has just a fix for this ↓. Phorge does not need this.
Update Figlet in PHP8d5c63c86e7e4rP71e4eee275f5Phab introduced a regression in line 150. Phorge does not need that fix.
Fix Pholioa83cb99e856arPa8a38835e15ePhorge can take inspiration.
(no older differences)(no older differences)

As you can see, since ~2022, Phacility introduced ~12 commits while Phorge introduced 300+ commits so we indeed strongly suggest to propose patches in Phorge directly.

Differences from upstream Arcanist

https://secure.phabricator.com/diffusion/ARC/history/master/

List of recent changes in Arcanist-only (most recent up):

Phab Topicin Phabricatorin PhorgeNotes
PHP8e50d1bc4eabamixed
PHP834b20ec7d88dmixed
Fix for Mercurial 6.40fc22183e796rARC5cdafa4002d8C. Speck betrayed Phorge 🤨 than turned back ✨
Fix utf8_decode()d87d5f0e02e2rARC08dfffd5caf7The approach in Phorge is more efficient.
Fix Diff PHP8.1c39ab20eb371rARC0e32dbc1ac8f
(no older differences)(no older differences)

Unique features of Phorge

Apart from the lines in common mentioned above,

To discover how many bug fixes and features are Phorge-only, explore the Phorge's Change Log.

Last Author
valerio.bozzolan
Last Edited
Nov 20 2023, 10:10

Event Timeline

valerio.bozzolan edited the content of this document. (Show Details)
valerio.bozzolan created this object in space S1 Public.
valerio.bozzolan changed the title from Why Migrating from Phabricator to Phorge to Differences between Phabricator and Phorge.Mar 31 2023, 10:27
valerio.bozzolan edited the content of this document. (Show Details)

what's the point of this page? it's very easy to get a detailed difference between the code bases using git; Why create a manually-maintained list as well?

@avivey The problem is, I cannot annotate my git with comments and share them to folks in Wikimedia Foundation. Also, it's not simple to have a 1:1 match between our commits and theirs in secure.

Probably a way to automate that, is to add an additional fields in Diffusion commits like "upstream commit hash". But at the moment a manual wiki page solves some problems

valerio.bozzolan edited the content of this document. (Show Details)
valerio.bozzolan changed the title from Differences between Phabricator and Phorge to Code Differences between Phabricator and Phorge.Jul 26 2023, 10:44