Allow excluding paths from package
Summary: Resolves T2149.
Test Plan:
$ bin/storage upgrade
# /owners/ - saw +
# /owners/package/1/ - saw +
# /owners/edit/1/ - added exclude paths, saw correct e-mail
# /rPabc123 - included paths are still highlighted and excluded not
# /owners/view/search/?path=/included/ - found
# /owners/view/search/?path=/excluded/ - not found
# owners.query - path: /included/
# owners.query - path: /excluded/
# new unit test
PhabricatorOwnersPackage::loadAffectedPackages(
$repository,
array('/excluded/b.php'));
PhabricatorOwnersPackage::loadAffectedPackages(
$repository,
array('/included/a.php'));
Reviewers: epriestley
Reviewed By: epriestley
CC: aran, Korvin
Maniphest Tasks: T2149
Differential Revision: https://secure.phabricator.com/D4102
This commit is contained in:
@@ -193,11 +193,16 @@ final class DiffusionLintController extends DiffusionController {
|
||||
foreach ($paths as $path) {
|
||||
$branch = idx($branches, $repositories[$path->getRepositoryPHID()]);
|
||||
if ($branch) {
|
||||
$or[] = qsprintf(
|
||||
$condition = qsprintf(
|
||||
$conn,
|
||||
'(branchID IN (%Ld) AND path LIKE %>)',
|
||||
array_keys($branch),
|
||||
$path->getPath());
|
||||
if ($path->getExcluded()) {
|
||||
$where[] = 'NOT '.$condition;
|
||||
} else {
|
||||
$or[] = $condition;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!$or) {
|
||||
|
||||
Reference in New Issue
Block a user