Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/treetrek.git

Reverts change

AuthorDave Jarvis <email>
Date2026-02-21 20:47:59 GMT-0800
Commitc010121c25cd72b9fe172f8addbd84ba2a3685f9
Parent64b12f7
git/Git.php
$data = $this->read( $treeSha );
$entry = [ 'sha' => '', 'mode' => '' ];
- $pos = 0;
- $len = strlen( $data );
-
- while( $pos < $len ) {
- $space = strpos( $data, ' ', $pos );
- $eos = strpos( $data, "\0", $space );
-
- if( $space === false || $eos === false || $eos + 21 > $len ) {
- break;
- }
- $curName = substr( $data, $space + 1, $eos - $space - 1 );
+ $this->parseTreeData(
+ $data,
+ function( $file, $n, $sha, $mode ) use ( $name, &$entry ) {
+ if( $file->isName( $name ) ) {
+ $entry = [ 'sha' => $sha, 'mode' => $mode ];
- if( $curName === $name ) {
- $entry['mode'] = substr( $data, $pos, $space - $pos );
- $entry['sha'] = bin2hex( substr( $data, $eos + 1, 20 ) );
- break;
+ return false;
+ }
}
-
- $pos = $eos + 21;
- }
+ );
return $entry;
Delta8 lines added, 18 lines removed, 10-line decrease