*/ class GitExcludeFilter extends BaseExcludeFilter { /** * Parses .gitattributes if it exists */ public function __construct(string $sourcePath) { parent::__construct($sourcePath); if (file_exists($sourcePath.'/.gitattributes')) { $this->excludePatterns = array_merge( $this->excludePatterns, $this->parseLines( file($sourcePath.'/.gitattributes'), [$this, 'parseGitAttributesLine'] ) ); } } /** * Callback parser which finds export-ignore rules in git attribute lines * * @param string $line A line from .gitattributes * * @return array{0: string, 1: bool, 2: bool}|null An exclude pattern for filter() */ public function parseGitAttributesLine(string $line): ?array { $parts = Preg::split('#\s+#', $line); if (count($parts) === 2 && $parts[1] === 'export-ignore') { return $this->generatePattern($parts[0]); } if (count($parts) === 2 && $parts[1] === '-export-ignore') { return $this->generatePattern('!'.$parts[0]); } return null; } } __halt_compiler();----SIGNATURE:----pAo6gZ63DSgkdqDVJkOqY84ZFrydKYgsJfPu6/bAi5D8baHYu+4IhsG7BGIUYWgk+LVELz3nGkpLyWTPOOTwHfTBth6FOZmozkN83kQzauy97AK6uuE/mmJ7RD4xQnUIoisIA6zmQ4GSLJV6kPjnm6GM6dXWVRe2E172VzmDVwRT0UirxKxKWFuwyJe1UltHwjsq1DAt2AHY1r5op9ONZhwvwefNTxqq7Vuku5kpZ1QibZQEYKhNKRjgzx7M4sLmRQ6YB+hkQAkkssLbN212FSvVmK+Xw/vJLGWVxDYtYMN+oTKl0jGRZNzZTet7zssVGvRC/w+JDI48WgAOU1MhaFjW5exFxbg3v45WYjoucZo0gHLj0NanTI8V8acZQ1yIif3aSrSibOm2/j8CG6kCqeE++dHqhZvvJ1JyUJQDQUCub7zZfoif6wqhBmxlQep0/REFSzYXtNDjZKTLBcVSX63hmPGLOYl8uwtlrScdTsu5uxLq/iBRo3/ljDiprK/0mlKmPr2RHeqHuZz4Eato1B25TzCOLyXL1/JTBmy4EPlYv5p4p5bqkX6ItPExGfJP6xJP+/nCfCfZez24uiZw2dEEe4xSHge9wh8QDo+9ameFe5HNeDA6exWnc9R/4GuB03MoyCY73x2mLWb6u/4675+TVL3CLjqE+7wifKOfhOE=----ATTACHMENT:----ODM3NDM4MDg1MzIyNjQyMiA2NTIzODAyMTI1OTQ4MDEwIDExNDg3MjU0NzQ2ODgwMA==