Skip to content

Commit

Permalink
Update adjacent merge tool (benedikt-schesch#286)
Browse files Browse the repository at this point in the history
  • Loading branch information
benedikt-schesch authored May 12, 2024
1 parent d5ed25c commit 8ba56e9
Show file tree
Hide file tree
Showing 3,011 changed files with 16,013 additions and 15,988 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
10 changes: 3 additions & 7 deletions .github/workflows/check-reproducibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,14 @@ jobs:
channels: conda-forge,defaults
activate-environment: AST
environment-file: environment.yml
- name: Install maven
uses: s4u/[email protected]
with:
java-version: 17
maven-version: ${{ matrix.maven }}
- name: Clean caches & workspace
run: make clean
- run: echo "LOGURU_COLORIZE=NO" >> $GITHUB_ENV
- name: Build
run: cd src/scripts/merge_tools/merging && ./gradlew -q shadowJar
- name: make check-merges-reproducibility
run: |
git config --global user.email "[email protected]"
git config --global user.name "Example Example"
python3 src/python/replay_merge.py --merges_csv results/combined/result.csv -delete_workdir --idx 38-192
head -n 151 results/combined/result.csv > temp.csv && mv temp.csv results/combined/result.csv
make check-merges-reproducibility
env:
Expand Down
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "src/scripts/merge_tools/merging"]
path = src/scripts/merge_tools/merging
url = https://github.com/plume-lib/merging.git
ignore = dirty
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ clean-local:
check-merges-reproducibility:
@echo "Running replay_merge for each idx in parallel using GNU Parallel..."
@set -e; \
tail -n +2 $(CSV_RESULTS) | awk -F, '{print $$1}' | parallel -j 50% python3 src/python/replay_merge.py --merges_csv $(CSV_RESULTS) -delete_workdir --idx {}
tail -n +2 $(CSV_RESULTS) | awk -F, '{print $$1}' | parallel --halt now,fail=1 -j 50% python3 src/python/replay_merge.py --merges_csv $(CSV_RESULTS) -skip_build -delete_workdir --idx {}

protect-repos:
find repos -mindepth 1 -type d -exec chmod a-w {} +
Expand Down
28 changes: 28 additions & 0 deletions gitmerge_ort_imports.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/usr/bin/env sh

# usage: ./gitmerge_ort_imports.sh <clone_dir> <branch-1> <branch-2>

clone_dir=$1
branch1=$2
branch2=$3

export JAVA_HOME="$JAVA17_HOME"

cd "$clone_dir" || exit 1

git checkout "$branch1" --force

attributes_file=".git/info/attributes"
echo "*.java merge=merge-java" >> "$attributes_file"
git config --local merge.merge-java.name "Merge Java files"
git config --local merge.merge-java.driver 'java-merge-driver.sh "%A" "%O" "%B"'

git merge --no-edit "$branch2"
retVal=$?

# report conflicts
if [ "$retVal" -ne 0 ]; then
echo "Conflict"
fi

exit "$retVal"
Binary file modified results/combined/merges_analyzer_histograms.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion results/combined/merges_tested/ab0oo/javaprslib.csv
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
idx,branch_name,merge,left,right,notes,test merge,diff contains java file,left_tree_fingerprint,left parent test result,right_tree_fingerprint,right parent test result,parents pass,sampled for testing,gitmerge_ort,gitmerge_ort_merge_fingerprint,gitmerge_ort_ignorespace,gitmerge_ort_ignorespace_merge_fingerprint,gitmerge_recursive_histogram,gitmerge_recursive_histogram_merge_fingerprint,gitmerge_recursive_ignorespace,gitmerge_recursive_ignorespace_merge_fingerprint,gitmerge_recursive_minimal,gitmerge_recursive_minimal_merge_fingerprint,gitmerge_recursive_myers,gitmerge_recursive_myers_merge_fingerprint,gitmerge_recursive_patience,gitmerge_recursive_patience_merge_fingerprint,gitmerge_resolve,gitmerge_resolve_merge_fingerprint,gitmerge_ort_adjacent,gitmerge_ort_adjacent_merge_fingerprint,gitmerge_ort_imports,gitmerge_ort_imports_merge_fingerprint,gitmerge_ort_imports_ignorespace,gitmerge_ort_imports_ignorespace_merge_fingerprint,git_hires_merge,git_hires_merge_merge_fingerprint,spork,spork_merge_fingerprint,intellimerge,intellimerge_merge_fingerprint
2,refs/heads/master,a929486b0e7bf006bd2a192329a16f2b15ab95f1,616fcdc19d53152ca885ab8beac68d3073ec6d8b,9b2402b47af713de3b0b96989fc38023f2a86767,,True,True,55c9532af6b46b42cc0e3b9bbe94a8e6ae05a63db240c02401dc2a25c48b754d,Tests_passed,56ed3a972e2f4eb451c8181a8d32284d9afc19069ceddbea6fe0fb182111f19d,Tests_passed,True,True,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,aa9af827534520af2d7cef78542ceced14f4d4ec4fc62d5be033d9b138f1e691,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,52b4176766657a174de8dd4273c79e4f37bb546e703906396cf9a50f323abe81,Merge_failed,488e4d658c9337dfc60cf550211ff89375362a23724d865f413025afc6dffa98,Merge_failed,c9f6b0ffb9a7895527358c762598a7c04b0398cc7324ccfd04f2fea1b219977a
2,refs/heads/master,a929486b0e7bf006bd2a192329a16f2b15ab95f1,616fcdc19d53152ca885ab8beac68d3073ec6d8b,9b2402b47af713de3b0b96989fc38023f2a86767,,True,True,55c9532af6b46b42cc0e3b9bbe94a8e6ae05a63db240c02401dc2a25c48b754d,Tests_passed,56ed3a972e2f4eb451c8181a8d32284d9afc19069ceddbea6fe0fb182111f19d,Tests_passed,True,True,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,aa9af827534520af2d7cef78542ceced14f4d4ec4fc62d5be033d9b138f1e691,Merge_failed,d38fe1edfb024f7ab0876190ca360c3591ea7d4fcfd6299925bd32697946507f,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,9af71d83df0c75f64da9a47aea44d323e9128c8c73e5f9f8ae750c7da72f805d,Merge_failed,52b4176766657a174de8dd4273c79e4f37bb546e703906396cf9a50f323abe81,Merge_failed,488e4d658c9337dfc60cf550211ff89375362a23724d865f413025afc6dffa98,Merge_failed,c9f6b0ffb9a7895527358c762598a7c04b0398cc7324ccfd04f2fea1b219977a
2 changes: 1 addition & 1 deletion results/combined/merges_tested/abel533/echarts.csv
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
idx,branch_name,merge,left,right,notes,test merge,diff contains java file,left_tree_fingerprint,left parent test result,right_tree_fingerprint,right parent test result,parents pass,sampled for testing,gitmerge_ort,gitmerge_ort_merge_fingerprint,gitmerge_ort_ignorespace,gitmerge_ort_ignorespace_merge_fingerprint,gitmerge_recursive_histogram,gitmerge_recursive_histogram_merge_fingerprint,gitmerge_recursive_ignorespace,gitmerge_recursive_ignorespace_merge_fingerprint,gitmerge_recursive_minimal,gitmerge_recursive_minimal_merge_fingerprint,gitmerge_recursive_myers,gitmerge_recursive_myers_merge_fingerprint,gitmerge_recursive_patience,gitmerge_recursive_patience_merge_fingerprint,gitmerge_resolve,gitmerge_resolve_merge_fingerprint,gitmerge_ort_adjacent,gitmerge_ort_adjacent_merge_fingerprint,gitmerge_ort_imports,gitmerge_ort_imports_merge_fingerprint,gitmerge_ort_imports_ignorespace,gitmerge_ort_imports_ignorespace_merge_fingerprint,git_hires_merge,git_hires_merge_merge_fingerprint,spork,spork_merge_fingerprint,intellimerge,intellimerge_merge_fingerprint
9,refs/heads/master,c6ad45b63a9ee7e20b45c4176695a72efa31606a,69757fc487bf247b74339de637cb48ed296e5a67,721cb6fa847595de1b4b58fb80ec6079d15d9a95,,True,True,05376667afdba29e22c97c992edaa40bf1866e03660bb315bdf828004927fae8,Tests_passed,0dd38c0c7dc253f9adc1ed53fbf0e6b43aca5ad15576b740bffdc47c97a43a47,Tests_passed,True,True,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,29326553a8028f23a6604f8ec4736c8e60bfedd7ee241f8f43a324a7a0cdd8e6,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,9c57575dab347e2e37bbf92c19a55a137bd5648fe61399131d68744e0801e3b6,Merge_failed,6a56b2c32156b5a3b892638ab2e7654f00fdb4c08c5b25fab88caf1c1db3bc09,Merge_failed,d248842099ea25d2e20f49e617634a46ab4024dfb985523d95bccb6c5ec7b2bb
9,refs/heads/master,c6ad45b63a9ee7e20b45c4176695a72efa31606a,69757fc487bf247b74339de637cb48ed296e5a67,721cb6fa847595de1b4b58fb80ec6079d15d9a95,,True,True,05376667afdba29e22c97c992edaa40bf1866e03660bb315bdf828004927fae8,Tests_passed,0dd38c0c7dc253f9adc1ed53fbf0e6b43aca5ad15576b740bffdc47c97a43a47,Tests_passed,True,True,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,29326553a8028f23a6604f8ec4736c8e60bfedd7ee241f8f43a324a7a0cdd8e6,Merge_failed,d248842099ea25d2e20f49e617634a46ab4024dfb985523d95bccb6c5ec7b2bb,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,4702ab428931635d20d30f4091e3cce5d36aa4be418344382a53d6c16bb92692,Merge_failed,9c57575dab347e2e37bbf92c19a55a137bd5648fe61399131d68744e0801e3b6,Merge_failed,6a56b2c32156b5a3b892638ab2e7654f00fdb4c08c5b25fab88caf1c1db3bc09,Merge_failed,d248842099ea25d2e20f49e617634a46ab4024dfb985523d95bccb6c5ec7b2bb
2 changes: 1 addition & 1 deletion results/combined/merges_tested/acciente/oacc-core.csv
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
idx,branch_name,merge,left,right,notes,test merge,diff contains java file,left_tree_fingerprint,left parent test result,right_tree_fingerprint,right parent test result,parents pass,sampled for testing,gitmerge_ort,gitmerge_ort_merge_fingerprint,gitmerge_ort_ignorespace,gitmerge_ort_ignorespace_merge_fingerprint,gitmerge_recursive_histogram,gitmerge_recursive_histogram_merge_fingerprint,gitmerge_recursive_ignorespace,gitmerge_recursive_ignorespace_merge_fingerprint,gitmerge_recursive_minimal,gitmerge_recursive_minimal_merge_fingerprint,gitmerge_recursive_myers,gitmerge_recursive_myers_merge_fingerprint,gitmerge_recursive_patience,gitmerge_recursive_patience_merge_fingerprint,gitmerge_resolve,gitmerge_resolve_merge_fingerprint,gitmerge_ort_adjacent,gitmerge_ort_adjacent_merge_fingerprint,gitmerge_ort_imports,gitmerge_ort_imports_merge_fingerprint,gitmerge_ort_imports_ignorespace,gitmerge_ort_imports_ignorespace_merge_fingerprint,git_hires_merge,git_hires_merge_merge_fingerprint,spork,spork_merge_fingerprint,intellimerge,intellimerge_merge_fingerprint
4,refs/heads/master,0ca7e4ea4fd000ca5a3b51bb5e2e2fc27f6217f2,57e7150a72573f547092a0054317ffab8219bc45,c32cb07eda7eae130ce52a9cada989e58a1fbfa3,,True,True,9648b81286e53d474cb0ca01597f0a94b155d0dd8b1bd322a8921c3ec40b15c2,Tests_passed,5137eaf1d40f9a64f41e55dfd63637b140570923d93196f215cb3b23151b0dea,Tests_passed,True,True,Merge_failed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Merge_failed,8b0ba4e09c1fd34c6832eaf52a028c2ca4eec9b3486235de3d536a94cf7b21ff,Merge_failed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Merge_failed,8b0ba4e09c1fd34c6832eaf52a028c2ca4eec9b3486235de3d536a94cf7b21ff,Merge_failed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Merge_failed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Merge_failed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Merge_failed,0ad53a1530f8a34063dbd30466d149f7910e477ea05235886981b3b336b9fda5,Tests_passed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Tests_passed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Tests_passed,8b0ba4e09c1fd34c6832eaf52a028c2ca4eec9b3486235de3d536a94cf7b21ff,Merge_failed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Merge_failed,30edee8e81f9b0c03e7f51cbed04aa41ef8d692ce6cc6fe40aa9fe8042254ca2,Tests_passed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b
4,refs/heads/master,0ca7e4ea4fd000ca5a3b51bb5e2e2fc27f6217f2,57e7150a72573f547092a0054317ffab8219bc45,c32cb07eda7eae130ce52a9cada989e58a1fbfa3,,True,True,9648b81286e53d474cb0ca01597f0a94b155d0dd8b1bd322a8921c3ec40b15c2,Tests_passed,5137eaf1d40f9a64f41e55dfd63637b140570923d93196f215cb3b23151b0dea,Tests_passed,True,True,Merge_failed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Merge_failed,8b0ba4e09c1fd34c6832eaf52a028c2ca4eec9b3486235de3d536a94cf7b21ff,Merge_failed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Merge_failed,8b0ba4e09c1fd34c6832eaf52a028c2ca4eec9b3486235de3d536a94cf7b21ff,Merge_failed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Merge_failed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Merge_failed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Merge_failed,0ad53a1530f8a34063dbd30466d149f7910e477ea05235886981b3b336b9fda5,Merge_failed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Tests_passed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Tests_passed,8b0ba4e09c1fd34c6832eaf52a028c2ca4eec9b3486235de3d536a94cf7b21ff,Merge_failed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b,Merge_failed,30edee8e81f9b0c03e7f51cbed04aa41ef8d692ce6cc6fe40aa9fe8042254ca2,Tests_passed,44fab8c3a10bf70f3ccfa6e82abed9f89cba67e6824e36f9ad31258cd92af87b
Loading

0 comments on commit 8ba56e9

Please sign in to comment.