Skip to content

Commit

Permalink
Merge branch 'main' into app-pre9
Browse files Browse the repository at this point in the history
  • Loading branch information
benedikt-schesch authored Sep 22, 2024
2 parents 0f84f17 + cedc855 commit 43702af
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 9 deletions.
3 changes: 1 addition & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -166,8 +166,7 @@ check-merges-reproducibility:
echo "Running replay_merge for idx $$idx"; \
src/python/replay_merge.py --testing --merges_csv $(CSV_RESULTS) -skip_build -delete_workdir --idx $$idx || FAILED_IDXES="$$FAILED_IDXES $$idx"; \
done; \
echo "$$FAILED_IDXES"; \
test -z "$$FAILED_IDXES"
test -z "$$FAILED_IDXES" || { echo "Failed indexes = $$FAILED_IDXES"; false; }

protect-repos:
find repos -mindepth 1 -type d -exec chmod a-w {} +
Expand Down
3 changes: 2 additions & 1 deletion src/python/replay_merge.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Replay merges and their test results.
The output appears in the .workdirs/ directory.
The output appears in the `.workdirs`/ directory.
Logs appear in the `replay_logs/merges/` directory.
Command-line arguments are listed just after the line:
if __name__ == "__main__":
Expand Down
9 changes: 7 additions & 2 deletions src/python/repo.py
Original file line number Diff line number Diff line change
Expand Up @@ -558,13 +558,18 @@ def merge(
str(timeout),
f"src/scripts/merge_tools/{tool.name}.sh {self.local_repo_path.resolve()} {LEFT_BRANCH_NAME} {RIGHT_BRANCH_NAME}",
]
logger.debug(
f"merge: Merging {self.repo_slug} {left_commit} {right_commit} with {tool.name}"
)
p = subprocess.run(
command,
capture_output=True,
check=False,
)
std_streams = stdout_and_stderr(command, p)
logger.debug(std_streams)
if p.returncode == 124: # Timeout
explanation = explanation + "\n" + stdout_and_stderr(command, p)
explanation = explanation + "\n" + std_streams
if use_cache:
cache_entry["merge status"] = MERGE_STATE.Merge_timedout.name
cache_entry["explanation"] = explanation
Expand All @@ -583,7 +588,7 @@ def merge(
-1,
)
run_time = time.time() - start_time
explanation = explanation + "\n" + stdout_and_stderr(command, p)
explanation = explanation + "\n" + std_streams
merge_status = (
MERGE_STATE.Merge_success if p.returncode == 0 else MERGE_STATE.Merge_failed
)
Expand Down
6 changes: 4 additions & 2 deletions src/scripts/merge_tools/git_hires_merge.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,10 @@ clone_dir=$1
branch1=$2
branch2=$3

SCRIPTDIR="$(cd "$(dirname "$0")" && pwd -P)"

# Print the current PATH
echo "PATH: $PATH"
echo "$0 PATH: $PATH"

cd "$clone_dir" || { echo "$0: cannot cd to $clone_dir from $(pwd)"; exit 2; }

Expand All @@ -25,7 +27,7 @@ attributes_file=".git/info/attributes"
echo "* merge=git-hires-merge" >> "$attributes_file"

git config --local merge.git-hires-merge.name "An interactive merge driver for resolving conflicts on individual or adjacent lines"
git config --local merge.git-hires-merge.driver "git-hires-merge %O %A %B %L %P"
git config --local merge.git-hires-merge.driver "${SCRIPTDIR}/git-hires-merge %O %A %B %L %P"
git config --local merge.git-hires-merge.recursive "binary"
git config --local merge.conflictstyle diff3

Expand Down
4 changes: 3 additions & 1 deletion src/scripts/merge_tools/merge_git_then_plumelib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ branch2=$3
git_strategy=$4 #"-Xignore-space-change"
plumelib_strategy=$5 #"--only-adjacent"

SCRIPTDIR="$(cd "$(dirname "$0")" && pwd -P)"

VERBOSE=
## Enable for debugging
# VERBOSE=YES
Expand Down Expand Up @@ -55,7 +57,7 @@ fi

git config --local merge.tool merge-plumelib
# shellcheck disable=SC2016
git config --local mergetool.merge-plumelib.cmd 'java-merge-tool.sh '"$plumelib_strategy"' ${LOCAL} ${BASE} ${REMOTE} ${MERGED}'
git config --local mergetool.merge-plumelib.cmd "$SCRIPTDIR"/'java-merge-tool.sh '"$plumelib_strategy"' ${BASE} ${LOCAL} ${REMOTE} ${MERGED}'
git config --local mergetool.merge-plumelib.trustExitCode true

case "$plumelib_strategy" in
Expand Down
4 changes: 3 additions & 1 deletion src/scripts/merge_tools/merge_script_then_plumelib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ branch2=$3
merge_script=$4 #"-Xignore-space-change"
plumelib_strategy=$5 #"--only-adjacent"

SCRIPTDIR="$(cd "$(dirname "$0")" && pwd -P)"

VERBOSE=
## Enable for debugging
# VERBOSE=YES
Expand Down Expand Up @@ -56,7 +58,7 @@ fi

git config --local merge.tool merge-plumelib
# shellcheck disable=SC2016
git config --local mergetool.merge-plumelib.cmd 'java-merge-tool.sh '"$plumelib_strategy"' ${LOCAL} ${BASE} ${REMOTE} ${MERGED}'
git config --local mergetool.merge-plumelib.cmd "$SCRIPTDIR"/'java-merge-tool.sh '"$plumelib_strategy"' ${BASE} ${LOCAL} ${REMOTE} ${MERGED}'
git config --local mergetool.merge-plumelib.trustExitCode true

case "$plumelib_strategy" in
Expand Down

0 comments on commit 43702af

Please sign in to comment.