mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-22 14:52:40 +01:00
Allow amending revisions without commandeering first
Summary: It is common practice in Wikimedia's projects to amend a contributor's change without taking over authorship of the change. We found that the only enforcement of commandeering before amending is in arcanist, not validated server-side. While it would be fairly straightforward to maintain this as a patch to arcanist, I thought I would see if upstream is willing to support making this optional. With this change, amending without commandeering is enabled by a flag in `.arcconfig` and it defaults to the old behavior. For background see [wmf T121751](https://phabricator.wikimedia.org/T121751) Test Plan: * ran `arc patch D146` to locally apply a revision that I did not author, * made a trivial change and amended the commit. * ran `arc diff --update D146 HEAD^` to send the update to differential * Saw that https://phabricator.wikimedia.org/D146 updated as it should. Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: greggrossmeier, aklapper, Luke081515.2, Korvin, dereckson Maniphest Tasks: T10584 Differential Revision: https://secure.phabricator.com/D15468
This commit is contained in:
parent
8701e6c1f3
commit
737f5c0df9
1 changed files with 13 additions and 7 deletions
|
@ -2529,13 +2529,19 @@ EOTEXT
|
||||||
$id = $revision['id'];
|
$id = $revision['id'];
|
||||||
$title = $revision['title'];
|
$title = $revision['title'];
|
||||||
|
|
||||||
throw new ArcanistUsageException(
|
$prompt = pht(
|
||||||
pht(
|
"You don't own revision %s: \"%s\". Normally, you should ".
|
||||||
"You don't own revision %s '%s'. You can only update revisions ".
|
"only update revisions you own. You can \"Commandeer\" this revision ".
|
||||||
"you own. You can 'Commandeer' this revision from the web ".
|
"from the web interface if you want to become the owner.\n\n".
|
||||||
"interface if you want to become the owner.",
|
"Update this revision anyway? [y/N]",
|
||||||
"D{$id}",
|
"D{$id}",
|
||||||
$title));
|
$title);
|
||||||
|
|
||||||
|
$ok = phutil_console_confirm($prompt, $default_no = true);
|
||||||
|
if (!$ok) {
|
||||||
|
throw new ArcanistUsageException(
|
||||||
|
pht('Aborted update of revision: You are not the owner.'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue