morluto and Phon
3fb17d72a9
fix(desktop): admit build export folders before running the in-computer export ( #11307 )
...
* fix(desktop): output-directory admission agrees with SafeOutputTree for #9291
* fix(desktop): admit build export and witness folders through planOutputTree
Main now owns new-or-empty folder admission in planOutputTree, so the
separate admitNewOrEmptyOutputDirectory check is superseded. Keep the
remaining parts of #9291 on that owner:
- export_build_environment plans the caller's directory before running
export-desktop-application in the build computer.
- planOutputTree refuses a folder, or the nearest existing ancestor of an
absent one, that the host cannot write, so check_build_task refuses it at
the seed instead of after the recording ends.
- writeOutputTree creates missing parents through SafeOutputTree's
createParents, which maps a file or denied parent to a destination
refusal, instead of a raw mkdir before admission.
Restore main's withheld-copy test, which this design leaves unchanged.
* fix(desktop): require a readable parent where publication syncs it
SafeOutputTree.commit opens the output folder's parent read-only to sync
it, so a write-only parent passed admission and failed only at
publication. planOutputTree now also requires read access on that parent
when it already exists.
---------
Co-authored-by: Phon <twilyt1@proton.me >
2026-11-16 00:18:11 +08:00
..
2026-11-11 18:18:35 +08:00
2026-11-15 21:30:45 +08:00
2026-11-15 18:38:24 +08:00
2026-11-15 20:35:28 +08:00
2026-11-11 05:19:58 -05:00
2026-11-09 08:12:17 +08:00
2026-11-15 17:25:31 +08:00
2026-11-15 22:03:14 +08:00
2026-11-15 22:03:14 +08:00
2026-11-08 02:02:31 +08:00
2026-11-15 19:54:39 +08:00
2026-11-16 00:18:11 +08:00
2026-11-13 10:11:06 -05:00
2026-11-15 23:54:01 +08:00
2026-11-01 13:30:21 +08:00
2026-11-15 18:38:24 +08:00
2026-11-15 20:06:47 +08:00
2026-11-14 12:13:56 +01:00
2026-11-15 18:38:24 +08:00
2026-11-09 08:12:17 +08:00
2026-11-15 20:06:47 +08:00
2026-11-15 19:34:40 +08:00
2026-11-16 00:05:14 +08:00
2026-11-15 20:06:47 +08:00
2026-11-15 18:38:24 +08:00
2026-11-15 23:47:20 +08:00
2026-11-15 20:35:28 +08:00
2026-11-15 18:38:24 +08:00
2026-11-09 03:14:48 +08:00
2026-11-15 23:56:46 +08:00
2026-11-10 22:47:29 -05:00
2026-11-15 20:06:47 +08:00
2026-11-15 22:03:14 +08:00
2026-11-14 12:13:56 +01:00
2026-11-08 02:02:31 +08:00
2026-11-15 17:25:31 +08:00
2026-11-10 22:49:40 -05:00
2026-11-15 23:57:29 +08:00
2026-10-27 13:49:44 +08:00
2026-11-13 10:11:06 -05:00
2026-11-15 20:06:47 +08:00
2026-11-15 18:38:24 +08:00
2026-11-09 20:28:21 +08:00
2026-11-15 18:38:24 +08:00
2026-11-15 16:59:39 +08:00
2026-11-15 16:59:39 +08:00
2026-11-12 23:57:46 -08:00
2026-11-15 20:37:21 +08:00
2026-11-11 20:16:24 +08:00
2026-10-29 22:54:58 +08:00
2026-11-13 04:45:16 -05:00
2026-11-15 15:33:08 +08:00
2026-11-15 15:33:08 +08:00
2026-11-13 04:45:16 -05:00
2026-11-08 00:01:18 +08:00
2026-10-31 11:12:52 -07:00
2026-11-15 22:03:14 +08:00
2026-11-11 17:15:47 +08:00
2026-11-15 19:37:10 +08:00
2026-11-15 19:37:10 +08:00
2026-11-08 01:42:28 +08:00
2026-11-15 20:06:47 +08:00
2026-11-15 18:38:24 +08:00
2026-11-15 20:06:47 +08:00
2026-11-15 18:38:24 +08:00
2026-11-11 17:15:47 +08:00
2026-11-11 17:15:47 +08:00
2026-11-08 02:02:31 +08:00
2026-11-15 18:38:24 +08:00
2026-11-01 08:52:53 -08:00
2026-11-01 22:56:02 -08:00
2026-11-09 17:39:34 +08:00
2026-10-27 07:25:23 +08:00
2026-11-11 17:17:51 +08:00
2026-11-15 23:52:56 +08:00
2026-11-15 23:52:56 +08:00
2026-11-13 04:45:16 -05:00
2026-11-01 13:30:21 +08:00
2026-11-13 04:45:16 -05:00
2026-11-13 04:45:16 -05:00
2026-11-15 21:31:35 +08:00
2026-11-15 10:13:14 -05:00
2026-11-15 10:13:14 -05:00
2026-11-15 21:31:35 +08:00
2026-11-15 21:31:35 +08:00
2026-11-15 21:31:35 +08:00
2026-11-14 14:37:04 -05:00
2026-11-15 21:31:35 +08:00
2026-11-15 21:31:35 +08:00
2026-11-15 19:39:33 +08:00
2026-11-15 21:31:35 +08:00
2026-11-15 21:31:35 +08:00
2026-11-15 20:21:04 +08:00
2026-11-15 21:31:35 +08:00
2026-11-15 19:39:33 +08:00
2026-11-15 19:39:33 +08:00
2026-11-11 17:42:53 -05:00
2026-11-15 21:31:35 +08:00
2026-11-15 20:53:25 +08:00
2026-11-14 04:08:37 -05:00
2026-11-15 19:39:33 +08:00
2026-11-15 20:53:25 +08:00
2026-11-15 19:39:33 +08:00
2026-11-14 05:36:32 +01:00
2026-11-15 18:09:40 +08:00
2026-11-15 18:38:24 +08:00
2026-11-09 02:41:54 +08:00
2026-11-15 21:51:18 +08:00
2026-11-15 23:56:46 +08:00
2026-11-14 05:36:32 +01:00
2026-11-15 20:53:25 +08:00
2026-11-15 18:09:40 +08:00
2026-11-11 04:10:32 -05:00
2026-11-15 18:09:40 +08:00
2026-11-15 21:31:35 +08:00
2026-11-09 18:30:31 +08:00
2026-11-08 02:02:31 +08:00
2026-11-15 17:24:24 +08:00
2026-11-15 18:38:24 +08:00
2026-11-11 17:17:58 +08:00
2026-11-05 16:57:52 +08:00
2026-11-08 02:02:31 +08:00
2026-11-15 18:38:24 +08:00
2026-10-27 07:25:23 +08:00
2026-11-05 03:26:31 +08:00
2026-11-15 18:38:24 +08:00
2026-11-15 20:06:47 +08:00
2026-10-31 14:30:30 +08:00
2026-11-15 18:38:24 +08:00
2026-10-31 14:45:21 +00:00
2026-10-27 12:42:18 +08:00
2026-10-27 12:42:18 +08:00
2026-11-15 19:39:33 +08:00
2026-11-14 04:08:37 -05:00
2026-11-14 04:08:37 -05:00
2026-10-29 16:47:10 +08:00
2026-11-15 23:56:46 +08:00
2026-11-13 10:11:06 -05:00
2026-10-31 11:11:05 -07:00
2026-10-31 11:11:05 -07:00
2026-10-28 14:12:39 +08:00
2026-11-15 19:54:39 +08:00
2026-11-15 21:31:35 +08:00
2026-11-14 04:08:37 -05:00
2026-10-27 08:11:18 +08:00
2026-11-11 17:28:23 +08:00
2026-11-15 17:28:05 +08:00
2026-10-27 09:26:40 +08:00
2026-11-14 05:36:32 +01:00
2026-11-09 08:12:17 +08:00
2026-11-10 05:11:20 -05:00
2026-11-14 19:00:38 -05:00
2026-11-15 21:31:35 +08:00
2026-11-15 19:54:39 +08:00
2026-11-15 19:39:33 +08:00
2026-11-15 19:39:33 +08:00
2026-11-13 04:45:16 -05:00
2026-11-15 22:03:14 +08:00
2026-10-27 08:47:16 +08:00
2026-11-13 04:45:16 -05:00
2026-11-11 17:28:23 +08:00
2026-11-15 19:54:39 +08:00
2026-11-14 19:28:38 +08:00
2026-11-15 18:38:24 +08:00
2026-11-11 17:28:23 +08:00
2026-11-15 15:33:08 +08:00
2026-11-13 04:45:16 -05:00
2026-11-13 04:45:16 -05:00
2026-11-15 18:25:02 +08:00
2026-11-15 21:31:35 +08:00
2026-11-11 09:05:21 -05:00
2026-11-15 19:39:33 +08:00
2026-11-15 20:21:04 +08:00
2026-11-15 19:39:33 +08:00
2026-11-15 19:39:33 +08:00
2026-11-15 21:31:35 +08:00
2026-11-15 15:43:51 +08:00
2026-11-15 19:54:39 +08:00
2026-11-15 19:39:33 +08:00
2026-11-15 19:39:33 +08:00
2026-11-15 19:39:33 +08:00
2026-11-11 17:21:19 +08:00
2026-11-11 17:21:19 +08:00
2026-11-11 17:21:19 +08:00
2026-11-12 22:05:32 -05:00
2026-11-14 14:14:09 -05:00
2026-11-11 00:43:30 -05:00
2026-11-12 23:57:46 -08:00
2026-11-15 16:28:46 +08:00
2026-11-15 16:28:46 +08:00
2026-10-27 07:25:23 +08:00
2026-10-27 13:06:57 +08:00
2026-11-15 20:06:47 +08:00
2026-11-15 18:38:24 +08:00
2026-11-14 14:16:39 +01:00
2026-11-08 16:39:20 +00:00
2026-11-15 17:41:59 +08:00
2026-11-09 18:28:13 +08:00
2026-11-10 16:32:53 -05:00
2026-11-09 18:28:13 +08:00
2026-10-29 07:54:41 +08:00
2026-11-14 14:16:39 +01:00
2026-10-31 02:23:47 +08:00
2026-11-11 21:39:09 +08:00
2026-11-16 00:05:14 +08:00
2026-11-11 18:23:15 +08:00
2026-11-16 00:05:14 +08:00
2026-11-15 18:38:24 +08:00
2026-11-12 19:24:54 -05:00
2026-11-16 00:05:14 +08:00
2026-11-15 18:38:24 +08:00
2026-11-12 22:05:32 -05:00
2026-11-15 19:54:39 +08:00
2026-11-12 11:47:18 -05:00
2026-11-11 09:05:21 -05:00
2026-11-15 18:35:01 +08:00
2026-11-11 09:05:21 -05:00
2026-11-15 18:35:01 +08:00
2026-11-11 09:05:21 -05:00
2026-11-15 20:06:47 +08:00
2026-11-15 18:38:24 +08:00
2026-11-13 04:45:16 -05:00
2026-11-15 19:36:38 +08:00
2026-11-14 13:21:13 +08:00
2026-11-15 21:31:35 +08:00
2026-11-15 19:39:33 +08:00
2026-11-15 18:09:40 +08:00
2026-11-15 21:31:35 +08:00
2026-11-14 05:36:32 +01:00
2026-11-14 05:36:32 +01:00
2026-11-15 20:53:25 +08:00
2026-11-15 19:39:33 +08:00
2026-11-16 00:05:14 +08:00
2026-11-15 18:35:01 +08:00
2026-11-15 19:39:33 +08:00
2026-10-29 05:10:45 +08:00
2026-11-15 10:13:14 -05:00
2026-11-10 23:58:52 -05:00
2026-11-15 21:31:35 +08:00
2026-11-15 19:39:33 +08:00
2026-11-15 18:25:02 +08:00
2026-11-15 20:53:25 +08:00
2026-11-15 20:53:25 +08:00
2026-11-08 16:39:20 +00:00
2026-11-15 20:53:25 +08:00
2026-11-15 19:54:39 +08:00
2026-11-10 16:02:45 -05:00
2026-11-15 18:38:24 +08:00
2026-11-09 20:12:45 +08:00
2026-11-15 20:06:47 +08:00
2026-11-11 02:28:27 -05:00
2026-11-15 19:54:39 +08:00
2026-11-10 05:11:20 -05:00
2026-11-10 16:02:45 -05:00
2026-11-15 18:38:24 +08:00
2026-11-11 18:24:58 +08:00
2026-11-10 16:02:45 -05:00
2026-11-13 04:45:16 -05:00
2026-11-15 17:24:24 +08:00
2026-11-15 18:38:24 +08:00
2026-11-14 04:08:37 -05:00
2026-11-14 04:08:37 -05:00
2026-10-29 10:12:09 +08:00