Documentation
¶
Overview ¶
Package filecopy puts one file somewhere else, as a real file.
It is one function in its own package because two callers need exactly it and for the same reason. A sandbox is only a sandbox if what it holds is a copy: a symlink is a reference that `go:embed` refuses and a write follows through to the original, and a hard link shares the inode so a write reaches it too. See docs/experiments/the-sandbox-is-a-reference.md.
fsrepository materialises the index this way, and staged fills in what git does not carry the same way. Written twice, the two would drift.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func File ¶
File puts source at destination as what it is: a copy for a regular file, and the same link again for a symlink.
The entry is taken rather than looked up because both callers are already walking a tree and have it, and a stat per file is a cost this package exists inside the hot path of.
Types ¶
This section is empty.