Question
Clones outside repos_dir, and workspaces from dl <path> or dl <git-url>: is leaving them still right?
--purge deliberately leaves three things it created, and names them before it asks: a config.toml that points repos_dir outside the cache puts clones where the purge does not remove them, and dl ./some/path and dl <git-url> open a source dl did not clone, so it cannot tell them from a workspace made by hand. The documented reasoning is that erring this way costs a command and the other kind of mistake costs work that cannot be got back, which is principle 1 stated in advance.
So this ticket probably confirms the status quo. It is a ticket anyway because principle 2 makes "we leave it and never mention it again" a thing that has to be chosen, and because the same reasoning has to be checked against --prune rather than only --purge:
--prune is scoped by repos_dir, so a config.toml moving repos_dir moves the scan with it. Confirm that is true of every new reclaim path this map adds, and that a scratch XDG_CACHE_HOME run still finds nothing.
- Are these left artifacts discoverable? Principle 2 is satisfied by "the user can see it and decide" far more cheaply than by reclaiming. If
dl --ls --size or the purge's own "leaving N" list already names them, the gap may be reporting rather than reclamation.
- A
dl <path> workspace still gets a devpod workspace, an image, and volumes. The clone is not ours to delete; the rest may be. Say which side of the line each artifact falls on, because "we did not clone the source" does not mean "we caused nothing".
How the answer gets tested: the existing purge tests already pin the "leaving" list; extend rather than replace them, and add one asserting a scratch-cache run of every new reclaim path removes nothing.
Question
Clones outside
repos_dir, and workspaces fromdl <path>ordl <git-url>: is leaving them still right?--purgedeliberately leaves three things it created, and names them before it asks: aconfig.tomlthat pointsrepos_diroutside the cache puts clones where the purge does not remove them, anddl ./some/pathanddl <git-url>open a sourcedldid not clone, so it cannot tell them from a workspace made by hand. The documented reasoning is that erring this way costs a command and the other kind of mistake costs work that cannot be got back, which is principle 1 stated in advance.So this ticket probably confirms the status quo. It is a ticket anyway because principle 2 makes "we leave it and never mention it again" a thing that has to be chosen, and because the same reasoning has to be checked against
--prunerather than only--purge:--pruneis scoped byrepos_dir, so aconfig.tomlmovingrepos_dirmoves the scan with it. Confirm that is true of every new reclaim path this map adds, and that a scratchXDG_CACHE_HOMErun still finds nothing.dl --ls --sizeor the purge's own "leaving N" list already names them, the gap may be reporting rather than reclamation.dl <path>workspace still gets a devpod workspace, an image, and volumes. The clone is not ours to delete; the rest may be. Say which side of the line each artifact falls on, because "we did not clone the source" does not mean "we caused nothing".How the answer gets tested: the existing purge tests already pin the "leaving" list; extend rather than replace them, and add one asserting a scratch-cache run of every new reclaim path removes nothing.