Thibaut Decombe
fddccea940
Greatly speed up homebrew module when multiple packages are passed in the name key ( #9181 )
...
* Increase test coverage and assert output more strictly
* Remove unused `_current_package_is_installed_from_head`
* Remove `un/changed_count` and infer from un/changed_pkgs length
* Track `installed` & `outdated` package state once
* Validate package names beforehand
* Install packages in 1 brew call instead of N
This also has the side effect of fixing the check message so that it prints every packages that will be installed instead of only the first one.
* Uninstall packages in 1 brew call instead of N
* Link packages in 1 brew call instead of N
* Unlink packages in 1 brew call instead of N
* Upgrade packages in 1 brew call instead of N
* Remove dangling checks
* Remove `_status` method and directly return the tuple
* Add changelog fragment
* Fix invalid format string (nice catch pylint!)
* Update changelogs/fragments/9181-improve-homebrew-module-performance.yml
Co-authored-by: Felix Fontein <felix@fontein.de >
* Update brew info parsing for casks
* Update changelogs/fragments/9181-improve-homebrew-module-performance.yml
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com >
---------
Co-authored-by: Felix Fontein <felix@fontein.de >
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com >
2024-12-02 20:17:04 +01:00
..
2023-03-06 23:02:24 +01:00
2023-10-29 18:04:44 +01:00
2022-10-11 07:34:36 +02:00
2024-11-16 18:34:09 +01:00
2024-06-02 00:17:26 +02:00
2023-10-29 18:04:44 +01:00
2024-02-22 20:48:11 +01:00
2023-11-29 06:53:48 +01:00
2023-10-29 18:04:44 +01:00
2022-08-05 21:31:34 +02:00
2024-02-14 22:53:16 +01:00
2022-10-11 07:34:36 +02:00
2022-10-11 07:34:36 +02:00
2024-05-18 15:41:34 +02:00
2022-10-11 07:34:36 +02:00
2024-06-17 07:15:31 +02:00
2024-03-17 17:10:20 +01:00
2024-09-26 12:01:36 +03:00
2023-02-15 22:55:23 +01:00
2022-10-11 07:34:36 +02:00
2023-12-28 08:32:31 +01:00
2022-08-08 08:44:19 +02:00
2022-08-08 08:44:19 +02:00
2022-08-08 08:44:19 +02:00
2022-08-05 14:03:38 +02:00
2024-06-16 09:32:55 +02:00
2023-05-29 18:52:50 +02:00
2024-05-05 20:32:11 +02:00
2022-10-11 07:34:36 +02:00
2024-12-02 20:16:00 +01:00
2023-11-29 06:53:48 +01:00
2022-08-08 08:44:19 +02:00
2024-09-30 09:45:32 +03:00
2024-08-10 08:19:58 +02:00
2023-02-15 22:55:23 +01:00
2023-02-15 22:55:23 +01:00
2024-06-18 23:48:37 +02:00
2023-11-16 21:02:40 +01:00
2024-02-03 15:06:35 +01:00
2024-04-20 12:14:15 +02:00
2023-11-16 21:02:40 +01:00
2023-11-16 21:02:40 +01:00
2023-11-16 21:02:40 +01:00
2023-11-16 21:02:40 +01:00
2024-04-09 08:01:44 +02:00
2023-11-16 21:02:40 +01:00
2023-11-16 21:02:40 +01:00
2024-06-21 20:01:05 +00:00
2023-11-16 21:02:40 +01:00
2024-07-05 08:42:35 +02:00
2024-02-23 20:35:09 +01:00
2023-11-16 21:02:40 +01:00
2023-11-16 21:02:40 +01:00
2023-11-16 21:02:40 +01:00
2024-07-05 08:42:35 +02:00
2024-07-05 08:42:35 +02:00
2024-07-13 13:32:36 +02:00
2023-11-16 21:02:40 +01:00
2024-04-09 08:01:44 +02:00
2023-11-16 21:02:40 +01:00
2023-11-16 21:02:40 +01:00
2024-04-21 20:09:54 +02:00
2023-02-25 22:40:17 +01:00
2024-08-07 16:31:12 +02:00
2023-10-29 18:04:44 +01:00
2024-06-06 07:35:54 +02:00
2023-11-29 08:37:50 +01:00
2024-10-21 20:53:18 +02:00
2023-03-06 23:02:24 +01:00
2023-03-06 23:02:24 +01:00
2023-03-06 23:02:24 +01:00
2022-10-11 07:34:36 +02:00
2024-02-25 19:44:49 +01:00
2022-08-05 21:08:41 +02:00
2023-03-06 23:02:24 +01:00
2023-03-06 23:02:24 +01:00
2023-05-29 18:55:42 +02:00
2023-12-02 20:55:19 +01:00
2024-01-26 23:31:22 +01:00
2023-06-15 06:55:49 +02:00
2024-01-26 23:30:35 +01:00
2023-03-06 23:02:24 +01:00
2024-02-25 19:44:49 +01:00
2023-03-06 23:02:24 +01:00
2022-08-05 21:08:41 +02:00
2023-03-06 23:02:24 +01:00
2023-03-06 23:02:24 +01:00
2023-03-06 23:02:24 +01:00
2023-02-15 22:55:23 +01:00
2024-12-02 20:17:04 +01:00
2023-11-16 21:02:40 +01:00
2024-08-01 17:11:23 +02:00
2024-10-07 21:56:37 +02:00
2023-07-04 20:07:10 +02:00
2023-02-15 22:55:23 +01:00
2023-02-15 22:55:23 +01:00
2022-08-05 21:31:34 +02:00
2022-08-05 21:31:34 +02:00
2023-03-06 23:02:24 +01:00
2023-02-15 22:55:23 +01:00
2023-03-06 23:02:24 +01:00
2023-03-06 23:02:24 +01:00
2023-02-15 22:55:23 +01:00
2023-02-15 22:55:23 +01:00
2023-02-15 22:55:23 +01:00
2023-03-06 23:02:24 +01:00
2023-04-16 13:06:12 +02:00
2022-08-05 14:03:38 +02:00
2022-08-05 14:03:38 +02:00
2023-05-19 20:25:04 +02:00
2024-04-20 12:12:55 +02:00
2023-11-26 19:34:13 +01:00
2023-11-16 21:02:40 +01:00
2024-06-18 23:48:37 +02:00
2023-02-15 22:55:23 +01:00
2023-11-16 21:02:40 +01:00
2023-11-16 21:02:40 +01:00
2024-11-08 23:05:35 +01:00
2023-11-18 14:03:16 +01:00
2023-07-23 22:32:57 +02:00
2023-02-15 22:55:23 +01:00
2023-03-26 09:31:06 +02:00
2023-04-23 17:51:33 +02:00
2023-10-18 20:53:31 +02:00
2023-10-29 18:04:44 +01:00
2023-09-19 18:07:25 +02:00
2023-10-29 18:04:44 +01:00
2024-06-17 07:06:47 +02:00
2024-04-21 20:10:03 +02:00
2023-04-22 22:55:46 +02:00
2022-12-05 06:22:14 +01:00
2022-12-05 06:22:14 +01:00
2023-12-28 18:11:55 +01:00
2024-09-09 13:51:07 +02:00
2023-12-28 18:11:32 +01:00
2024-05-15 18:46:12 +02:00
2023-10-29 18:04:44 +01:00
2023-06-15 06:57:30 +02:00
2023-06-09 06:17:44 +02:00
2023-01-22 17:28:33 +01:00
2023-03-06 23:02:24 +01:00
2024-09-09 13:51:07 +02:00
2022-08-05 21:08:41 +02:00
2023-02-15 22:55:23 +01:00
2023-06-15 07:19:55 +02:00
2023-06-24 16:29:16 +02:00
2024-11-23 10:47:22 +13:00
2023-11-16 21:02:40 +01:00
2022-10-11 07:34:36 +02:00
2023-11-16 21:02:40 +01:00
2023-11-16 21:02:40 +01:00
2023-11-16 21:02:40 +01:00
2023-11-16 21:02:40 +01:00
2024-04-04 22:51:32 +02:00
2024-05-11 16:51:51 +02:00
2023-12-01 16:39:51 +00:00
2023-11-16 21:02:40 +01:00
2023-11-16 21:02:40 +01:00
2023-11-16 21:02:40 +01:00
2023-11-29 06:53:48 +01:00
2023-06-19 13:11:03 +02:00
2023-12-04 05:58:55 +01:00
2022-08-08 14:24:58 +02:00
2023-11-18 14:03:16 +01:00
2023-10-29 18:04:44 +01:00
2022-08-05 21:31:34 +02:00
2022-08-05 21:31:34 +02:00
2022-08-05 21:31:34 +02:00
2022-08-05 21:31:34 +02:00
2022-08-05 21:31:34 +02:00
2022-08-05 21:31:34 +02:00
2024-04-24 08:07:29 +12:00
2023-11-16 21:02:40 +01:00
2024-06-18 23:48:37 +02:00
2023-05-07 21:58:38 +02:00
2023-11-04 13:44:05 +01:00
2023-07-05 22:07:58 +02:00
2024-06-18 23:48:37 +02:00
2023-10-29 18:04:44 +01:00
2024-10-05 15:02:01 +02:00
2024-10-05 15:02:01 +02:00
2023-01-07 14:08:34 +01:00
2024-09-08 14:24:33 +02:00
2023-11-29 07:40:32 +01:00
2024-03-17 16:49:10 +01:00
2022-08-05 21:08:41 +02:00
2023-02-15 22:55:23 +01:00
2022-10-11 07:34:36 +02:00
2023-04-16 15:34:53 +02:00
2024-01-04 22:46:37 +01:00
2024-11-24 22:10:19 +01:00
2024-07-23 18:00:44 +02:00
2024-11-08 23:05:35 +01:00
2023-02-15 22:55:23 +01:00
2023-10-04 08:34:27 +02:00
2024-09-28 08:11:21 +03:00
2023-06-05 21:17:31 +02:00
2023-07-02 21:48:26 +02:00
2022-10-11 07:34:36 +02:00
2023-06-15 07:19:16 +02:00
2023-02-15 22:55:23 +01:00
2023-03-06 23:02:24 +01:00
2023-10-29 18:04:44 +01:00
2023-02-15 22:55:23 +01:00
2022-11-07 21:04:55 +01:00
2023-02-15 22:55:23 +01:00
2022-11-05 20:44:33 +00:00
2023-10-29 18:04:44 +01:00
2022-10-23 17:18:06 +02:00
2023-02-15 22:55:23 +01:00
2023-02-15 22:55:23 +01:00
2022-11-05 20:43:47 +00:00
2023-02-15 22:55:23 +01:00
2022-11-02 20:11:04 +01:00
2023-10-29 18:04:44 +01:00
2023-02-15 22:55:23 +01:00
2023-10-29 18:04:44 +01:00
2023-02-15 22:55:23 +01:00
2023-10-29 18:04:44 +01:00
2023-02-15 22:55:23 +01:00
2023-10-29 18:04:44 +01:00
2022-08-05 21:31:34 +02:00
2023-10-29 18:04:44 +01:00
2023-10-29 18:04:44 +01:00
2023-02-15 22:55:23 +01:00
2023-02-15 22:55:23 +01:00
2022-08-05 21:31:34 +02:00
2023-10-29 18:04:44 +01:00
2023-05-19 20:25:04 +02:00
2022-10-11 07:34:36 +02:00
2023-05-19 20:25:04 +02:00
2022-08-05 21:31:34 +02:00
2023-07-28 11:16:25 +02:00
2022-08-05 21:31:34 +02:00
2023-10-29 18:04:44 +01:00
2022-08-08 08:44:19 +02:00
2023-02-15 22:55:23 +01:00
2023-05-19 20:25:04 +02:00
2024-06-18 23:48:37 +02:00
2023-05-19 20:25:04 +02:00
2023-06-15 07:19:55 +02:00
2022-08-05 21:08:41 +02:00
2023-03-06 23:02:24 +01:00
2024-08-10 08:19:58 +02:00
2024-07-01 13:43:56 +02:00
2024-06-18 23:48:37 +02:00
2022-08-05 14:03:38 +02:00
2022-08-05 21:31:34 +02:00
2023-02-15 22:55:23 +01:00
2023-02-15 22:55:23 +01:00
2022-08-05 21:31:34 +02:00
2024-06-18 23:48:37 +02:00
2024-01-17 23:17:07 +01:00
2023-02-15 22:55:23 +01:00
2023-08-14 19:41:47 +02:00
2024-09-13 22:46:48 +02:00
2023-04-20 06:56:21 +02:00
2022-08-05 14:03:38 +02:00
2023-12-17 15:14:24 +01:00
2024-02-23 06:36:45 +01:00
2023-02-15 22:55:23 +01:00
2023-11-18 13:51:00 +01:00
2023-10-29 18:04:44 +01:00
2022-10-11 07:34:36 +02:00
2024-07-13 13:32:36 +02:00
2023-11-22 09:12:00 +01:00
2024-10-19 14:05:48 +02:00
2024-06-18 23:48:37 +02:00
2023-02-15 22:55:23 +01:00
2023-05-19 20:25:04 +02:00
2023-05-06 07:12:21 +02:00
2024-01-13 09:57:58 +01:00
2023-05-19 20:25:04 +02:00
2023-02-15 22:55:23 +01:00
2023-05-19 20:25:04 +02:00
2024-10-12 10:05:34 +02:00