Jump to content

Phabricator/Upstream Rebase

From Wikitech
  • Have a checkout of the Wikimedia Phabricator codebase
  • git checkout wmf/stable
  • git pull
  • git remote -v
  • git fetch phorge
  • git checkout phorge/master
  • Check out a new branch of Wikimedia Phabricator to merge onto, from wmf/stable:
    git checkout -b work/2026-06-01-merge-phorge
  • FYI:
    git branch -a
  • git fetch from upstream and merge upstream into our branch:
    • git merge phorge/master
  • Usually there are some files with conflicts to resolve; within MERGING mode:
    • git status
    • edit a file to resolve the conflict (Note that "HEAD" in conflicting files is the Wikimedia instance)
    • FYI:
      To reset to upstream's file:
      git checkout --theirs /foo/bar/file.php
    • git add filename
  • Treat the list of merge conflicts as a checklist and copy them into the commit message
  • ./bin/celerity map
  • ../arcanist/bin/arc liberate
  • git commit
  • git push origin work/2026-06-01-merge-phorge
  • Now repeat the same dance for arcanist
  • Later when deploying:
    • ./bin/storage upgrade for database changes
    • ./bin/celerity map if things go wrong
    • The deployment finalize script already runs ./bin/storage upgrade to adjust the database scheme