From b10428fe60da9f0f0ca0815a7a37e2d7e50d290d Mon Sep 17 00:00:00 2001 From: vrana Date: Thu, 28 Jun 2012 16:08:06 -0700 Subject: [PATCH] Link to a specific Phabricator version from stack trace Summary: Line numbers and file paths may be different in current version. Test Plan: Disabled editor, issued exception, clicked on the link. Reviewers: epriestley Reviewed By: epriestley CC: aran, Korvin Differential Revision: https://secure.phabricator.com/D2886 --- .../AphrontDefaultApplicationConfiguration.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/aphront/configuration/AphrontDefaultApplicationConfiguration.php b/src/aphront/configuration/AphrontDefaultApplicationConfiguration.php index e3227901aa..300dcdd3eb 100644 --- a/src/aphront/configuration/AphrontDefaultApplicationConfiguration.php +++ b/src/aphront/configuration/AphrontDefaultApplicationConfiguration.php @@ -630,6 +630,11 @@ class AphrontDefaultApplicationConfiguration $libraries = PhutilBootloader::getInstance()->getAllLibraries(); + $version = PhabricatorEnv::getEnvConfig('phabricator.version'); + if (preg_match('/[^a-f0-9]/i', $version)) { + $version = ''; + } + // TODO: Make this configurable? $path = 'https://secure.phabricator.com/diffusion/%s/browse/master/src/'; @@ -676,6 +681,7 @@ class AphrontDefaultApplicationConfiguration if (empty($attrs['href'])) { $attrs['href'] = sprintf($path, $callsigns[$lib]). str_replace(DIRECTORY_SEPARATOR, '/', $relative). + ($version && $lib == 'phabricator' ? ';'.$version : ''). '$'.$part['line']; $attrs['target'] = '_blank'; }