diff --git a/src/applications/differential/controller/revisionlist/DifferentialRevisionListController.php b/src/applications/differential/controller/revisionlist/DifferentialRevisionListController.php index 365eca9811..5763562e08 100644 --- a/src/applications/differential/controller/revisionlist/DifferentialRevisionListController.php +++ b/src/applications/differential/controller/revisionlist/DifferentialRevisionListController.php @@ -316,6 +316,7 @@ class DifferentialRevisionListController extends DifferentialController { array( 'all' => 'All', 'open' => 'Open', + 'committed' => 'Committed', ), $params['status'], $uri, @@ -348,6 +349,8 @@ class DifferentialRevisionListController extends DifferentialController { case 'status': if ($params['status'] == 'open') { $query->withStatus(DifferentialRevisionQuery::STATUS_OPEN); + } elseif ($params['status'] == 'committed') { + $query->withStatus(DifferentialRevisionQuery::STATUS_COMMITTED); } break; case 'order': diff --git a/src/applications/differential/query/revision/DifferentialRevisionQuery.php b/src/applications/differential/query/revision/DifferentialRevisionQuery.php index 7515ee6086..85f3f5fc03 100644 --- a/src/applications/differential/query/revision/DifferentialRevisionQuery.php +++ b/src/applications/differential/query/revision/DifferentialRevisionQuery.php @@ -37,6 +37,7 @@ final class DifferentialRevisionQuery { private $status = 'status-any'; const STATUS_ANY = 'status-any'; const STATUS_OPEN = 'status-open'; + const STATUS_COMMITTED = 'status-committed'; private $authors = array(); private $ccs = array(); @@ -593,6 +594,14 @@ final class DifferentialRevisionQuery { ArcanistDifferentialRevisionStatus::ACCEPTED, )); break; + case self::STATUS_COMMITTED: + $where[] = qsprintf( + $conn_r, + 'status IN (%Ld)', + array( + ArcanistDifferentialRevisionStatus::COMMITTED, + )); + break; default: throw new Exception( "Unknown revision status filter constant '{$this->status}'!");