Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update adjacent merge tool #286

Merged
merged 34 commits into from
May 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
cce7bee
Update
benedikt-schesch Apr 25, 2024
521402e
Submodules update
benedikt-schesch Apr 25, 2024
8e382ad
Added submodule
benedikt-schesch Apr 25, 2024
589be18
Merge branch 'main' into update-import
benedikt-schesch Apr 25, 2024
e5581a8
Bug fix
benedikt-schesch Apr 25, 2024
bb6434e
Added changes
benedikt-schesch Apr 25, 2024
c0fa32b
Checkout submodule in github
benedikt-schesch Apr 25, 2024
aa41985
Submodule cloning
benedikt-schesch Apr 25, 2024
e45c8d7
Fixed imports
benedikt-schesch Apr 26, 2024
ff7f4ad
Merge branch 'main' into update-import
benedikt-schesch Apr 27, 2024
e01d621
Update
benedikt-schesch Apr 27, 2024
d0a0fb6
Added logs
benedikt-schesch Apr 28, 2024
74146bf
Style fix
benedikt-schesch Apr 28, 2024
2be8e13
Modified test results
Apr 28, 2024
532a417
BUg fix
benedikt-schesch Apr 28, 2024
976f6e1
Restore old file
benedikt-schesch Apr 28, 2024
e878fd5
Comment fix
benedikt-schesch Apr 28, 2024
ee560b4
Added latest results
benedikt-schesch Apr 28, 2024
660ca8d
run bug fix
benedikt-schesch Apr 28, 2024
3f5568d
Added adjacent code
benedikt-schesch May 5, 2024
d0e9eda
Revert some changes from imports
benedikt-schesch May 5, 2024
6e0bbff
Removed ci/cd job
benedikt-schesch May 5, 2024
1517932
Use https submodule instead of ssh
benedikt-schesch May 5, 2024
96bce0b
Updated test results
benedikt-schesch May 5, 2024
6d91016
Merge branch 'main' into update-adjacent
benedikt-schesch May 5, 2024
f6c19e5
Added results
benedikt-schesch May 6, 2024
edf5dd7
Merged main
May 9, 2024
e008139
Build merge tools
May 9, 2024
a6d3ed4
Fail in case any scripts fail
May 9, 2024
8a88006
Added results
benedikt-schesch May 10, 2024
2bb4fc8
Latest merging commit
benedikt-schesch May 11, 2024
22b7a50
Added latest results
benedikt-schesch May 12, 2024
18f0f95
Do build once
May 12, 2024
38e8b18
update replay merge
May 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
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