Dave Jarvis' Repositories

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

Fixes broken images

AuthorDave Jarvis <email>
Date2026-02-21 22:20:43 GMT-0800
Commitf7e9ae9bac618b9b3661075721b8681735db5b74
Parent20d464e
Delta20 lines added, 57 lines removed, 37-line decrease
git/BufferedReader.php
public static function createTemp(): self {
- return new self( @fopen( 'php://temp/maxmemory:8388608', 'w+b' ), true );
+ return new self( @fopen( 'php://temp/maxmemory:65536', 'w+b' ), true );
}
git/PackEntryReader.php
$cur = $stream->tell();
$baseCtx = $context->deriveOffsetContext( $neg );
- $baseSz = $this->getSize( $baseCtx );
-
- if( $baseSz > self::MAX_BASE_RAM ) {
- $tmp = BufferedReader::createTemp();
-
- foreach( $this->streamEntryGenerator( $baseCtx ) as $chunk ) {
- $tmp->write( $chunk );
- }
-
- $tmp->rewind();
- $stream->seek( $cur );
+ $tmp = BufferedReader::createTemp();
- yield from $this->decoder->applyStreamGenerator( $stream, $tmp );
- } else {
- $base = $this->read(
- $baseCtx,
- 0,
- function( string $sha, int $cap ) use ( $context ): string {
- return $this->resolveBaseSha( $sha, $cap, $context );
- }
- );
+ foreach( $this->streamEntryGenerator( $baseCtx ) as $chunk ) {
+ $tmp->write( $chunk );
+ }
- $stream->seek( $cur );
+ $tmp->rewind();
+ $stream->seek( $cur );
- yield from $this->decoder->applyStreamGenerator( $stream, $base );
- }
+ yield from $this->decoder->applyStreamGenerator( $stream, $tmp );
}
private function processRefDelta(
StreamReader $stream,
PackContext $context
): Generator {
- $baseSha = bin2hex( $stream->read( 20 ) );
- $cur = $stream->tell();
- $baseSize = $context->resolveBaseSize( $baseSha );
-
- if( $baseSize > self::MAX_BASE_RAM ) {
- $tmp = BufferedReader::createTemp();
- $add = false;
-
- foreach( $context->resolveBaseStream( $baseSha ) as $chunk ) {
- $tmp->write( $chunk );
-
- $add = true;
- }
-
- if( $add ) {
- $tmp->rewind();
- $stream->seek( $cur );
-
- yield from $this->decoder->applyStreamGenerator( $stream, $tmp );
- }
- } else {
- $chunks = [];
- $add = false;
-
- foreach( $context->resolveBaseStream( $baseSha ) as $chunk ) {
- $chunks[] = $chunk;
+ $baseSha = bin2hex( $stream->read( 20 ) );
+ $cur = $stream->tell();
+ $tmp = BufferedReader::createTemp();
+ $add = false;
- $add = true;
- }
+ foreach( $context->resolveBaseStream( $baseSha ) as $chunk ) {
+ $tmp->write( $chunk );
- if( $add ) {
- $base = implode( '', $chunks );
+ $add = true;
+ }
- $stream->seek( $cur );
+ if( $add ) {
+ $tmp->rewind();
+ $stream->seek( $cur );
- yield from $this->decoder->applyStreamGenerator( $stream, $base );
- }
+ yield from $this->decoder->applyStreamGenerator( $stream, $tmp );
}
}