Lunny Xiao
1463426a27
Use merge tree to detect conflicts when possible ( #36400 )
...
In Git 2.38, the `merge-tree` command introduced the `--write-tree`
option, which works directly on bare repositories. In Git 2.40, a new parameter `--merge-base` introduced so we require Git 2.40 to use the merge tree feature.
This option produces the merged tree object ID, allowing us to perform
diffs between commits without creating a temporary repository. By
avoiding the overhead of setting up and tearing down temporary repos,
this approach delivers a notable performance improvement.
It also fixes a possible situation that conflict files might be empty
but it's a conflict status according to
https://git-scm.com/docs/git-merge-tree#_mistakes_to_avoid
Replace #35542
---------
Signed-off-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-01-27 11:57:20 -08:00
..
2026-01-22 06:04:26 +00:00
2026-01-21 04:18:57 +00:00
2026-01-27 11:57:20 -08:00
2023-02-04 10:30:43 +08:00
2026-01-08 13:37:36 -08:00
2026-01-22 06:04:26 +00:00
2025-04-11 21:41:29 +08:00
2025-10-15 10:09:32 +02:00
2025-12-25 19:26:23 -08:00
2026-01-08 13:37:36 -08:00
2025-08-27 16:31:21 +00:00
2025-06-30 16:12:25 +08:00
2026-01-22 06:04:26 +00:00
2026-01-22 06:04:26 +00:00
2026-01-22 06:04:26 +00:00
2026-01-22 06:04:26 +00:00
2026-01-08 13:37:36 -08:00
2025-05-09 16:17:08 +00:00
2024-04-01 20:23:17 +00:00
2025-07-31 09:34:51 +08:00
2025-07-31 09:34:51 +08:00
2026-01-08 13:37:36 -08:00
2025-07-31 09:34:51 +08:00
2025-05-27 16:49:05 +00:00
2025-12-05 00:20:23 +00:00
2025-07-30 07:08:59 +00:00
2025-07-30 07:08:59 +00:00
2025-07-16 12:07:38 +00:00
2025-12-05 00:20:23 +00:00
2026-01-18 15:10:33 -08:00
2024-11-20 19:26:12 +00:00
2024-11-20 19:26:12 +00:00
2025-09-15 23:33:12 -07:00
2025-10-07 17:06:51 +08:00
2025-06-18 01:48:09 +00:00
2026-01-23 02:10:11 +00:00
2026-01-21 01:35:14 +00:00
2026-01-08 13:37:36 -08:00
2026-01-27 11:57:20 -08:00
2025-12-14 17:34:45 +00:00
2025-08-27 16:31:21 +00:00
2026-01-27 11:57:20 -08:00
2025-10-20 11:43:08 -07:00
2025-12-14 17:34:45 +00:00
2023-12-13 21:02:00 +00:00
2022-11-27 18:20:29 +00:00
2025-06-18 01:48:09 +00:00
2026-01-22 06:04:26 +00:00
2025-11-05 17:48:38 +00:00
2022-11-27 18:20:29 +00:00
2025-10-23 08:35:48 +00:00
2022-11-27 18:20:29 +00:00
2024-05-06 18:34:16 +02:00
2024-01-19 17:05:02 +01:00
2024-04-26 09:49:48 +00:00
2025-04-01 10:14:01 +00:00
2025-11-05 17:48:38 +00:00
2026-01-08 13:37:36 -08:00
2026-01-12 20:29:35 +08:00
2019-03-27 17:33:00 +08:00
2025-01-13 14:01:53 +08:00
2026-01-01 10:32:19 -08:00
2026-01-21 01:35:14 +00:00
2025-12-14 17:34:45 +00:00
2026-01-08 13:37:36 -08:00
2026-01-08 13:37:36 -08:00
2025-08-27 16:31:21 +00:00
2025-12-25 19:26:23 -08:00
2025-01-19 18:41:15 -05:00
2026-01-27 11:57:20 -08:00
2025-08-27 16:31:21 +00:00
2025-10-07 17:06:51 +08:00
2026-01-17 18:11:46 +00:00
2026-01-17 18:11:46 +00:00
2025-08-27 16:31:21 +00:00
2026-01-22 06:04:26 +00:00
2025-03-24 14:50:28 -07:00
2025-10-07 17:06:51 +08:00
2025-10-07 17:06:51 +08:00
2026-01-22 06:04:26 +00:00
2022-11-27 18:20:29 +00:00
2026-01-22 06:04:26 +00:00
2026-01-22 06:04:26 +00:00
2023-12-13 21:02:00 +00:00
2026-01-22 06:04:26 +00:00
2025-08-27 16:31:21 +00:00
2025-10-07 17:06:51 +08:00
2025-08-27 16:31:21 +00:00
2026-01-22 06:04:26 +00:00
2025-08-29 01:11:42 +00:00
2026-01-08 13:37:36 -08:00
2025-08-29 01:11:42 +00:00
2026-01-22 06:04:26 +00:00
2025-12-12 01:15:40 +01:00
2025-11-05 17:48:38 +00:00
2026-01-08 13:37:36 -08:00
2026-01-22 06:04:26 +00:00
2026-01-18 15:10:33 -08:00
2024-02-09 11:02:53 +08:00
2024-02-09 11:02:53 +08:00
2025-03-31 01:53:48 -04:00
2024-02-09 11:02:53 +08:00
2025-10-07 17:06:51 +08:00
2026-01-22 06:04:26 +00:00
2024-04-01 20:23:17 +00:00
2025-04-04 16:19:19 -07:00
2025-11-05 17:48:38 +00:00
2025-07-01 06:55:36 +08:00
2022-11-27 18:20:29 +00:00
2025-08-27 16:31:21 +00:00
2025-11-05 17:48:38 +00:00
2025-12-25 19:26:23 -08:00
2026-01-12 20:29:35 +08:00
2026-01-08 13:37:36 -08:00
2026-01-26 10:34:38 +08:00
2025-11-05 17:48:38 +00:00
2025-11-05 17:48:38 +00:00
2026-01-08 13:37:36 -08:00
2025-08-27 16:31:21 +00:00
2025-11-05 17:48:38 +00:00
2025-07-30 07:08:59 +00:00
2025-10-21 15:07:11 +00:00