Skip to content

Commit 9dcad76

Browse files
committed
Gitblame: fix fatal error on chdir() when basepath is set and phpcs is run from subdir
The `Reporter::prepareFileReport()` method strips the `basepath` off the file name for the `$report['filename']`. https://github.com/squizlabs/PHP_CodeSniffer/blob/276f68cc74a3e4e1855bab6d01f0089337d00ae0/src/Reporter.php#L337 While this is fine in most cases, for "blame" reports, the full path is needed. This changes the path passed to the `getBlameContent()` method in subclasses of the `VersionControl` class to the full path, which fixes the fatal error for the `Gitblame` report (and probably similar/related errors in the `Hgblame` and the `Svnblame` reports, but I don't have any repos to test this on). Fixes 3854
1 parent b0d171b commit 9dcad76

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/Reports/VersionControl.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ abstract class VersionControl implements Report
4040
*/
4141
public function generateFileReport($report, File $phpcsFile, $showSources=false, $width=80)
4242
{
43-
$blames = $this->getBlameContent($report['filename']);
43+
$blames = $this->getBlameContent($phpcsFile->getFilename());
4444

4545
$authorCache = [];
4646
$praiseCache = [];

0 commit comments

Comments
 (0)