Page MenuHomePhabricator

Permanent Refs Errata
Open, NormalPublic

Description

Ideally, publish operations should act like this:

  • The "Acting As" PHID is the identity PHID associated with the commit. If one does not exist, the acting as PHID is the Diffusion application.
  • When we want to respect policies (Fixes Txxx), the acting user is the user associated with the identity, if one exists, or the omnipotent user if one does not.
  • The "Acting User" in Herald is the acting user associated with the identity, if one exists, or the Diffusion application, if one does not.

Boneyard

  • The git fetch change in D20421 may require an adjacent change to the two places where we call isWorkingCopyBare() before listing refs. I suspect we can now remove the special casing.
  • From D20436, we should go dig up the actual wire-proto.c in Git and verify the discovered protocol matches the implemented protocol.

Revisions and Commits

Restricted Differential Revision

Event Timeline

epriestley created this task.

The git fetch change in D20421 does actually affect non-bare repositories:

[2019-04-18 06:43:37] EXCEPTION: (CommandException) Command failed with error #128!
COMMAND
git fetch --prune -- '********' '+refs/heads/*:refs/heads/*' '+refs/tags/*:refs/tags/*'

STDOUT
(empty)

STDERR
fatal: Refusing to fetch into current branch refs/heads/master of non-bare repository

I'd like to get everyone off non-bare repositories, but it looks like we can cheat our way through this with --update-head-ok for now, and the other cases are also easy to resolve.

epriestley added a revision: Restricted Differential Revision.Apr 18 2019, 1:58 PM
epriestley added a commit: Restricted Diffusion Commit.Apr 19 2019, 2:06 PM