Benchmark runners may commit results that contain merge conflicts. We ran into this recently:
It looks like we try to handle this situation:
|
# Another benchmarking task may have created results for the same |
|
# commit while the above was running. This "magic" incantation means |
|
# that any local results for this commit will override anything we |
|
# just pulled in in that case. |
|
git pull -s recursive -X ours --autostash --rebase |
However, the approach that we're using doesn't work. It looks like -X ours doesn't apply to resolving merge conflicts that result from applying stashed changes. I verified this locally by:
- Creating a new repo containing a single markdown file.
- Cloning the repo into a new directory.
- Editing the markdown file in a way that would generate a merge conflict.
- Ran
git pull -s recursive -X ours --autostash --rebase. The merge conflicts are left for resolution.
I'm not sure if this is a behavior that changed in git recently. I've tested this using git versions 2.39.5 and 2.47.1.
Benchmark runners may commit results that contain merge conflicts. We ran into this recently:
2a66dd3.It looks like we try to handle this situation:
bench_runner/bench_runner/templates/_benchmark.src.yml
Lines 131 to 135 in d0569e7
However, the approach that we're using doesn't work. It looks like
-X oursdoesn't apply to resolving merge conflicts that result from applying stashed changes. I verified this locally by:git pull -s recursive -X ours --autostash --rebase. The merge conflicts are left for resolution.I'm not sure if this is a behavior that changed in git recently. I've tested this using git versions
2.39.5and2.47.1.