| Age | Commit message (Collapse) | Author |
|
Port the Symfony Filesystem branches this file had left out:
* copy() preserves the origin mtime via touch()
* exists() rejects paths longer than PHP_MAXPATHLEN - 2, so its return
type becomes anyhow::Result<bool>
* doRemove()'s symlink branch keeps the DIRECTORY_SEPARATOR disjunct,
which stops it from throwing on Unix where upstream never does
* symlink() normalizes separators and mirrors instead of linking when
copyOnWindows is set
* mirror() skips entries whose real path is the target directory or was
already created earlier in the same call
PHP_MAXPATHLEN is new in shirabe-php-shim.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
|
Audited every remaining method in the Symfony Filesystem port against
composer/vendor/symfony/filesystem/Filesystem.php and tagged each
divergence with a searchable TODO(phase-c): the missing self::$lastError
propagation, copy()'s collapsed fopen-failure messages and skipped mtime
preservation, exists()'s missing PHP_MAXPATHLEN guard, do_remove()'s
unported rename/rollback safety trick and its Unix short-circuit gap,
symlink()'s unported Windows path-normalization/copy_on_windows fallback,
link_exception()'s unported error-code-1314 message, read_link()'s
missing canonicalize=true overload and its Windows PHP<7.4 quirk, and
mirror()'s missing getRealPath()/filesCreatedWhileMirroring dedup.
Windows-only branches were previously left with plain comments claiming
they "never run on Unix" instead of the required TODO marker, which
understates them as permanently out of scope rather than unported work.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
|
|
|
|
|
Faithfully port the Symfony Filesystem component methods (copy, mkdir, exists,
touch, remove, chmod, rename, symlink, hard_link, read_link, make_path_relative,
mirror, is_absolute_path, dump_file, append_to_file, temp_nam) from the PHP
source, using existing php-shim functions and std where no shim exists.
chown/chgrp need chown(2) (no std/shim equivalent) and the mirror filter-iterator
branch is unmodeled; both left as todo!() with documented reasons. The four
Composer\Util\Filesystem helpers mistakenly stubbed here stay todo!().
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
|
|
Align the Symfony namespace mapping with the documented convention
(symfony::component::X -> symfony::X) and remove now-unused console
stub files. Update all import paths across the workspace.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|