Today I updated my gentoo server’s eselected PHP from 5.6 to 7.2 and wordpress phabricator and mediawiki didn’t even hiccup. WordPress went from a steaming pile of stubborn version upgrade refusal right back into line. I used mysqldump to back up all my databases, less than a GB. I git pulled phabricator’s stable branch (updated weekly from master) and ran a boatload of database patches that went smooth as coconut milkfat. I git-skipped the .arcconfig files so i could just update them in place. OK… why did that all just work?

Update: I went ahead and made the phabricator-recommended changes to mysql and PHP, including installing a PHP memory-based cache:

emerge -DavuN dev-php/pecl-apcu

And that, of course, cascaded me into a gentoo server update.

  • first I had to [emerge -av glibc] as it was ancient
  • do not put comments in [/etc/portage/package.use/zzz_autounmask]
  • used advice from gentoo perl docs:
emerge -uDNav --with-bdeps=y --backtrack=100 --autounmask-keep-masks=y @world

And away we go…

UPDATE: ok these are a few more of my “favorite” things…

  • mediawiki required an update, I had to manually tweak my multi-site LocalSettings overrides since some themes were removed, and some were added.
  • I decided to go through all the phabricator tweaks that it complains about.
  • I fell into an update of my fork of Simple Web Server, not really related except that it was YA deep rabbit hole.
  • Files served up were made real pretty with this; I had to tweak the .htaccess to make it correctly mo safe.
  • Moving to boost 1_69_0 was actually a lot of (CPU) work.
  • While I was moving things around, I set up a nice git flow for my stock app, with branches:
    • develop
      • feature/postgress-archive
      • refactor/use-archive-db
    • master
      • release/1.55.41-pre-archive-database

Read the title.  Believe it.

Cygwin can do the backflips to get sshd running properly and enable you to treat a Windoze shitbox as an actual ssh-able shell.  Just do it and don’t look back.

Why would [git push] fail to push annotated tags as well?  That just results in another disruptive layer of potential synchronization issues.  They finally added sane behavior, but you have to turn it on with:

git config --global push.followTags true

Or, use rad-scripts!  Which has [git-sync], and, as of today, always uses –follow-tags.  I’m loving my Node.js lifestyle.  😛

Why do people use Github?  Oh, because they are lazy.

Rant is on the wiki about typical problems.

I played around enough with different git repository structures to know what works best for my uses (a central repo that I can pull and work on anywhere, that may or may not need to actually be updated live on the central server).  The “git central shared repository” pattern on the wiki has the details.