diff --git a/conf/default.conf.php b/conf/default.conf.php index ca1e094389..f9833dbb2d 100644 --- a/conf/default.conf.php +++ b/conf/default.conf.php @@ -597,9 +597,9 @@ return array( 'differential.field-selector' => 'DifferentialDefaultFieldSelector', - // Differential can show "Host" and "Path" fields on revisions, with - // information about the machine and working directory where the change - // came from. These fields are disabled by default because they may + // Differential can show "Host", "Path" and "Branch" fields on revisions, with + // information about the machine, working directory and branch where the + // change came from. These fields are disabled by default because they may // occasionally have sensitive information; you can set this to true to // enable them. 'differential.show-host-field' => false, diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 395297b957..aa63bbc9d2 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -180,6 +180,7 @@ phutil_register_library_map(array( 'DifferentialAuthorFieldSpecification' => 'applications/differential/field/specification/author', 'DifferentialAuxiliaryField' => 'applications/differential/storage/auxiliaryfield', 'DifferentialBlameRevisionFieldSpecification' => 'applications/differential/field/specification/blamerev', + 'DifferentialBranchFieldSpecification' => 'applications/differential/field/specification/branch', 'DifferentialCCWelcomeMail' => 'applications/differential/mail/ccwelcome', 'DifferentialCCsFieldSpecification' => 'applications/differential/field/specification/ccs', 'DifferentialChangeType' => 'applications/differential/constants/changetype', @@ -982,6 +983,7 @@ phutil_register_library_map(array( 'DifferentialAuthorFieldSpecification' => 'DifferentialFieldSpecification', 'DifferentialAuxiliaryField' => 'DifferentialDAO', 'DifferentialBlameRevisionFieldSpecification' => 'DifferentialFieldSpecification', + 'DifferentialBranchFieldSpecification' => 'DifferentialFieldSpecification', 'DifferentialCCWelcomeMail' => 'DifferentialReviewRequestMail', 'DifferentialCCsFieldSpecification' => 'DifferentialFieldSpecification', 'DifferentialChangeset' => 'DifferentialDAO', diff --git a/src/applications/differential/field/selector/default/DifferentialDefaultFieldSelector.php b/src/applications/differential/field/selector/default/DifferentialDefaultFieldSelector.php index 30a3d880ff..8f1ec75013 100644 --- a/src/applications/differential/field/selector/default/DifferentialDefaultFieldSelector.php +++ b/src/applications/differential/field/selector/default/DifferentialDefaultFieldSelector.php @@ -42,6 +42,7 @@ final class DifferentialDefaultFieldSelector array( new DifferentialHostFieldSpecification(), new DifferentialPathFieldSpecification(), + new DifferentialBranchFieldSpecification(), )); } diff --git a/src/applications/differential/field/selector/default/__init__.php b/src/applications/differential/field/selector/default/__init__.php index 1c987ebc6f..8551952e83 100644 --- a/src/applications/differential/field/selector/default/__init__.php +++ b/src/applications/differential/field/selector/default/__init__.php @@ -10,6 +10,7 @@ phutil_require_module('phabricator', 'applications/differential/field/selector/b phutil_require_module('phabricator', 'applications/differential/field/specification/applypatch'); phutil_require_module('phabricator', 'applications/differential/field/specification/arcanistproject'); phutil_require_module('phabricator', 'applications/differential/field/specification/author'); +phutil_require_module('phabricator', 'applications/differential/field/specification/branch'); phutil_require_module('phabricator', 'applications/differential/field/specification/ccs'); phutil_require_module('phabricator', 'applications/differential/field/specification/commits'); phutil_require_module('phabricator', 'applications/differential/field/specification/dependencies'); diff --git a/src/applications/differential/field/specification/branch/DifferentialBranchFieldSpecification.php b/src/applications/differential/field/specification/branch/DifferentialBranchFieldSpecification.php new file mode 100644 index 0000000000..ec8ceabc93 --- /dev/null +++ b/src/applications/differential/field/specification/branch/DifferentialBranchFieldSpecification.php @@ -0,0 +1,41 @@ +getDiff(); + + $branch = $diff->getBranch(); + if ($branch == '') { + return null; + } + + return phutil_escape_html($branch); + } + +} diff --git a/src/applications/differential/field/specification/branch/__init__.php b/src/applications/differential/field/specification/branch/__init__.php new file mode 100644 index 0000000000..4435afe65e --- /dev/null +++ b/src/applications/differential/field/specification/branch/__init__.php @@ -0,0 +1,14 @@ +getBranch(); - if ($branch) { - $branch = ' ('.$branch.')'; - } - - return phutil_escape_html($path.$branch); + return phutil_escape_html($path); } }