*/ 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:----UqK8FUh4c4v7vH+MbRlj/uPrxfnBrvSqF6UPG3SB3ITv60KzS4RqaH+2AWvdi42G00578J6isChUm6yaJyqs39HHLff0wDPKVVn6SQ7s3rbYVLomc0K1YoaOjGE4Je/tZylP6e4UsWDvofZq6dltq6FSc3keehZgEgkQ0rN+pGWyPf+WHckrl8CDW7j81pSCoikSuAbdI4NQNMIFgpQJz+KnuxxLw4zSp3gVFjplnIxLb0+4YAiL8nyUdhD+nuTelHs6LbeIJgZk1/kMCmrIqU7+AreLaxkN9140ZthNzEiKy4ztsPx1DvJJYkENQrbK7mBE1UI6maThNPfY9q8FCE+DiMH1y8Wd6KHTnrcgW+jTBr69QY7D581pmHIk+nb9iyrvqvLuxE3Nz/o87mLmzFnBnZx/GL6CLftYnr7xBAQPZIfotiaIcyKDkAPnz1irtjABFz4dSEU8uvdXNrWRUSM/72xNpOHd3++5eoCpHQOb0duiwiBVAOzSnToaJr5DSyGYmI/FQU/oqwWlFffE7WxprDeyRQxUcQbNXx2Ax/5+nRywAzyg8RkHPSIiebpMu9+mBbYC821ORAbEPRf17O53WLoHvEmNBzx3sVKo6gKu89D2G3YyiElAYndfahmdcqPE8FxngYnYVSFdXE2k+kRUT0Qbs7HnPouGTfPf6z0=----ATTACHMENT:----NDk3NjEyNzc4NDcwNDYwNCA0MTY1NjM4MTIzNzQ2MTA4IDkyNDI0MTM0NjYzODc0ODA=