diff --git a/Makefile b/Makefile index 9de9cbafef..db0f48e63a 100644 --- a/Makefile +++ b/Makefile @@ -38,6 +38,9 @@ fix-java-style: check-java-style: ./gradlew -q spotlessCheck javadoc requireJavadoc -g ../.gradle/ +update-small-results: + rm -rf test/small-goal-files/ + rsync -av --exclude='*.pdf' --exclude='*.png' --exclude='*unhandled_and_failed_merges_without_intellimerge*' --exclude='*.pgf' results/small/ test/small-goal-files/ # This target deletes files that are not committed to version control. clean: diff --git a/README.md b/README.md index 01415643a4..8ee322cdb0 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,10 @@ If you make a change to the mergers that changes merge results, you need to update the goal files or else reproducibility checks will fail. Copy certain files from `results/small/` to `test/small-goal-files/`. -To update the reproducibility tests, run `make run-all`. +To update the reproducibility tests, run `make run-all` +(this takes a long time!) and commit the results. +This will run merges in parallel. If the load on your machine becomes very low +(like no parallelism is happening), then terminate the process and restart it. ### Load the stored cache diff --git a/test/check_equal_csv.py b/test/check_equal_csv.py index a53e298eb3..6a4a0515a8 100755 --- a/test/check_equal_csv.py +++ b/test/check_equal_csv.py @@ -39,7 +39,21 @@ def remove_run_time(df): print(f"Checking {goal_file}") actual_file = actual_folder / goal_file assert actual_file.exists(), f"{actual_file} does not exist" - goal_df = pd.read_csv(goal_folder / goal_file, header=0, index_col="idx") + try: + goal_df = pd.read_csv(goal_folder / goal_file, header=0, index_col="idx") + except Exception: + goal_df = pd.read_csv(goal_folder / goal_file) + actual_df = pd.read_csv(actual_file) + if not goal_df.equals(actual_df): + print(f"{goal_folder/goal_file} and {actual_file} are not equal") + print("Goal file:") + print(goal_df) + print("Actual file:") + print(actual_df) + raise ValueError( + f"{goal_folder/goal_file} and {actual_file} are not equal" + ) + continue actual_df = pd.read_csv(actual_file, header=0, index_col="idx") goal_df = remove_run_time(goal_df) actual_df = remove_run_time(actual_df) diff --git a/test/small-goal-files/all_repos_head_test_results.csv b/test/small-goal-files/all_repos_head_test_results.csv new file mode 100644 index 0000000000..c6b3980b49 --- /dev/null +++ b/test/small-goal-files/all_repos_head_test_results.csv @@ -0,0 +1,5 @@ +idx,repository,language,architecture,community,continuous_integration,documentation,history,issues,license,size,unit_test,stars,scorebased_org,randomforest_org,scorebased_utl,randomforest_utl,head hash,head tree fingerprint,head test result +0,benedikt-schesch/git-hires-merge-example,Java,1.0,1,0,0.433617,10.5,0.0,1,34146,0.448443,54,1,0,1,1,4ae40d33c3b959e3a15e458eb9b0676251e36a41,1cebc99cd5f8a1b210b66b6985f8aa5c38c4af194a32ad23dc3c6261f43d2968,Tests_passed +1,mangstadt/ez-vcard,Java,1.0,1,0,0.433617,10.5,0.0,1,34146,0.448443,54,1,0,1,1,95298de036f1df38fd7ca7e3225c4fd5ad5c44e6,134a29559bbdf9bcea93d2153b59e65ef205410c0c295f63b6d82a5e9dc828f9,Tests_passed +2,pedrovgs/algorithms,Java,0.932927,1,1,0.390942,89.0,0.75,1,6616,0.556371,1377,1,1,1,1,c108e3a4b4fa2556b8c88d7ab6803084b01a4364,3c7ee13d6f66c42510e5edb8cff2102d8c61ed625f7cc871397eaa2b1e529895,Tests_passed +4,tntim96/jscover,Java,0.985816,1,0,0.490264,25.0,6.448276,1,54612,0.627527,298,1,1,1,1,fff7a84ce12a037518e3c58e1d941a4d3dabb7e2,db8ac3637a22e488a08c15d4ddae3d115f42359e9fd0f42e2b2246aa8767d43e,Tests_passed diff --git a/test/small-goal-files/defs.tex b/test/small-goal-files/defs.tex new file mode 100644 index 0000000000..259b1104e9 --- /dev/null +++ b/test/small-goal-files/defs.tex @@ -0,0 +1,30 @@ +\def\smallReposInitial{4\xspace} +\def\smallReposValid{4\xspace} +\def\smallMergesInitial{63\xspace} +\def\smallMergesPer{50\xspace} +\def\smallMergesNonTrivial{33\xspace} +\def\smallReposNonTrivial{3\xspace} +\def\smallMergesJavaDiff{10\xspace} +\def\smallReposJavaDiff{4\xspace} +\def\smallMergesJavaDiffAndParentsPass{6\xspace} +\def\smallReposJavaDiffAndParentsPass{4\xspace} +\def\smallReposSampled{4\xspace} +\def\smallMergesSampled{6\xspace} +\def\smallReposYieldedFull{0\xspace} +\def\smallReposTotal{4\xspace} +\def\smallMergesTotal{6\xspace} + +% Results +\def\smallAverageTriesUntilPass{1.0\xspace} +\def\smallNumberofMergesWith1TriesUntilPass{54\xspace} +\def\smallSporkOverOrtCorrect{3\xspace} +\def\smallSporkOverOrtIncorrect{0\xspace} +\def\smallMainBranchMerges{4\xspace} +\def\smallMainBranchMergesPercent{67\xspace} +\def\smallOtherBranchMerges{2\xspace} +\def\smallOtherBranchMergesPercent{33\xspace} +\def\smallReposJava{4\xspace} + +% Timeout +\def\smallParentTestTimeout{30\xspace} +\def\smallMergeTestTimeout{45\xspace} diff --git a/test/small-goal-files/tables/all/table_feature_main_summary.tex b/test/small-goal-files/tables/all/table_feature_main_summary.tex new file mode 100644 index 0000000000..8e8bfadaea --- /dev/null +++ b/test/small-goal-files/tables/all/table_feature_main_summary.tex @@ -0,0 +1,43 @@ +% Do not edit. This file is automatically generated. +\setlength{\tabcolsep}{.285\tabcolsep} +\begin{tabular}{c|cc|cc|cc} + Tool & + \multicolumn{6}{c}{Merges} \\ \cline{2-7} + & + \multicolumn{2}{c|}{Correct} & + \multicolumn{2}{c|}{Unhandled} & + \multicolumn{2}{c}{Incorrect} \\ + & + \multicolumn{1}{c}{Main} & + \multicolumn{1}{c|}{Other} & + \multicolumn{1}{c}{Main} & + \multicolumn{1}{c|}{Other} & + \multicolumn{1}{c}{Main} & + \multicolumn{1}{c}{Other} \\ + \hline + Gitmerge-ort & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-ort-ignorespace & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-recursive-histogram & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-recursive-ignorespace & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-recursive-minimal & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-recursive-myers & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-recursive-patience & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-resolve & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Hires-Merge & 75\% & 0\% & 25\% & 100\% & 0\% & 0\% \\ + Spork & 100\% & 50\% & 0\% & 50\% & 0\% & 0\% \\ + IntelliMerge & 50\% & 50\% & 0\% & 50\% & 50\% & 0\% \\ + Adjacent & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Imports & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Version Numbers & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Git-hires-merge-plus & 75\% & 0\% & 25\% & 100\% & 0\% & 0\% \\ + Intellimerge-plus & 50\% & 50\% & 0\% & 50\% & 50\% & 0\% \\ + Gitmerge-recursive-histogram-plus & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-recursive-ignorespace-plus & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-recursive-minimal-plus & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-recursive-myers-plus & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-recursive-patience-plus & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-resolve-plus & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Spork-plus & 100\% & 50\% & 0\% & 50\% & 0\% & 0\% \\ + IVn & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + IVn-ignorespace & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ +\end{tabular} diff --git a/test/small-goal-files/tables/all/table_summary.tex b/test/small-goal-files/tables/all/table_summary.tex new file mode 100644 index 0000000000..e0230811d2 --- /dev/null +++ b/test/small-goal-files/tables/all/table_summary.tex @@ -0,0 +1,34 @@ +% Do not edit. This file is automatically generated. +\begin{tabular}{l|c c|c c|c c|} + Tool & \multicolumn{6}{c|}{Merges} \\ \cline{2-7} + & \multicolumn{2}{c|}{Correct} & + \multicolumn{2}{c|}{Unhandled} & + \multicolumn{2}{c|}{Incorrect} \\ + & \# & \% & \# & \% & \# & \% \\ + \hline +Gitmerge-ort & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-ort-ignorespace & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-recursive-histogram & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-recursive-ignorespace & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-recursive-minimal & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-recursive-myers & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-recursive-patience & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-resolve & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Hires-Merge & 3 & 50\% & 3 & 50\% & 0 & 0\% \\ +Spork & 5 & 83\% & 1 & 17\% & 0 & 0\% \\ +IntelliMerge & 3 & 50\% & 1 & 17\% & 2 & 33\% \\ +Adjacent & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Imports & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Version Numbers & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Git-hires-merge-plus & 3 & 50\% & 3 & 50\% & 0 & 0\% \\ +Intellimerge-plus & 3 & 50\% & 1 & 17\% & 2 & 33\% \\ +Gitmerge-recursive-histogram-plus & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-recursive-ignorespace-plus & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-recursive-minimal-plus & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-recursive-myers-plus & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-recursive-patience-plus & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-resolve-plus & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Spork-plus & 5 & 83\% & 1 & 17\% & 0 & 0\% \\ +IVn & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +IVn-ignorespace & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +\end{tabular} diff --git a/test/small-goal-files/tables/all/tool_comparison_table.csv b/test/small-goal-files/tables/all/tool_comparison_table.csv new file mode 100644 index 0000000000..2dfa382c2a --- /dev/null +++ b/test/small-goal-files/tables/all/tool_comparison_table.csv @@ -0,0 +1,26 @@ +,gitmerge_ort,gitmerge_ort_ignorespace,gitmerge_recursive_histogram,gitmerge_recursive_ignorespace,gitmerge_recursive_minimal,gitmerge_recursive_myers,gitmerge_recursive_patience,gitmerge_resolve,git_hires_merge,spork,intellimerge,adjacent,imports,version_numbers,git_hires_merge_plus,intellimerge_plus,gitmerge_recursive_histogram_plus,gitmerge_recursive_ignorespace_plus,gitmerge_recursive_minimal_plus,gitmerge_recursive_myers_plus,gitmerge_recursive_patience_plus,gitmerge_resolve_plus,spork_plus,ivn,ivn_ignorespace +gitmerge_ort,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +gitmerge_ort_ignorespace,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +gitmerge_recursive_histogram,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +gitmerge_recursive_ignorespace,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +gitmerge_recursive_minimal,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +gitmerge_recursive_myers,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +gitmerge_recursive_patience,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +gitmerge_resolve,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +git_hires_merge,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +spork,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +intellimerge,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +adjacent,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0 +imports,0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0 +version_numbers,0,0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0 +git_hires_merge_plus,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0 +intellimerge_plus,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0 +gitmerge_recursive_histogram_plus,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0 +gitmerge_recursive_ignorespace_plus,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0 +gitmerge_recursive_minimal_plus,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0 +gitmerge_recursive_myers_plus,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0 +gitmerge_recursive_patience_plus,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0 +gitmerge_resolve_plus,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0 +spork_plus,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-,0,0 +ivn,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-,0 +ivn_ignorespace,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,- diff --git a/test/small-goal-files/tables/all/tool_comparison_table.tex b/test/small-goal-files/tables/all/tool_comparison_table.tex new file mode 100644 index 0000000000..cadbc4fd8e --- /dev/null +++ b/test/small-goal-files/tables/all/tool_comparison_table.tex @@ -0,0 +1,38 @@ +% Do not edit. This file is automatically generated. +\begin{table}[h] +\centering +\caption{Comparison of Merge Tool Results: Incorrect vs Unhandled} +\label{tab:tool-comparison} +\small +\begin{tabular}{lrrrrrrrrrrrrrrrrrrrrrrrrr} +\toprule +& Gitmerge-ort & Gitmerge-ort-ignorespace & Gitmerge-recursive-histogram & Gitmerge-recursive-ignorespace & Gitmerge-recursive-minimal & Gitmerge-recursive-myers & Gitmerge-recursive-patience & Gitmerge-resolve & Hires-Merge & Spork & IntelliMerge & Adjacent & Imports & Version Numbers & Git-hires-merge-plus & Intellimerge-plus & Gitmerge-recursive-histogram-plus & Gitmerge-recursive-ignorespace-plus & Gitmerge-recursive-minimal-plus & Gitmerge-recursive-myers-plus & Gitmerge-recursive-patience-plus & Gitmerge-resolve-plus & Spork-plus & IVn & IVn-ignorespace \\ +\midrule +Gitmerge-ort & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-ort-ignorespace & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-recursive-histogram & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-recursive-ignorespace & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-recursive-minimal & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-recursive-myers & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-recursive-patience & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-resolve & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Hires-Merge & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Spork & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +IntelliMerge & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Adjacent & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Imports & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Version Numbers & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Git-hires-merge-plus & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Intellimerge-plus & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-recursive-histogram-plus & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-recursive-ignorespace-plus & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-recursive-minimal-plus & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-recursive-myers-plus & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-recursive-patience-plus & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 \\ +Gitmerge-resolve-plus & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 \\ +Spork-plus & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 \\ +IVn & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 \\ +IVn-ignorespace & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - \\ +\bottomrule +\end{tabular} +\end{table} diff --git a/test/small-goal-files/tables/git/table_feature_main_summary.tex b/test/small-goal-files/tables/git/table_feature_main_summary.tex new file mode 100644 index 0000000000..588317e54e --- /dev/null +++ b/test/small-goal-files/tables/git/table_feature_main_summary.tex @@ -0,0 +1,25 @@ +% Do not edit. This file is automatically generated. +\setlength{\tabcolsep}{.285\tabcolsep} +\begin{tabular}{c|cc|cc|cc} + Tool & + \multicolumn{6}{c}{Merges} \\ \cline{2-7} + & + \multicolumn{2}{c|}{Correct} & + \multicolumn{2}{c|}{Unhandled} & + \multicolumn{2}{c}{Incorrect} \\ + & + \multicolumn{1}{c}{Main} & + \multicolumn{1}{c|}{Other} & + \multicolumn{1}{c}{Main} & + \multicolumn{1}{c|}{Other} & + \multicolumn{1}{c}{Main} & + \multicolumn{1}{c}{Other} \\ + \hline + Gitmerge-ort & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-ort-ignorespace & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-recursive-histogram & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-recursive-minimal & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-recursive-myers & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-recursive-patience & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-resolve & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ +\end{tabular} diff --git a/test/small-goal-files/tables/git/table_summary.tex b/test/small-goal-files/tables/git/table_summary.tex new file mode 100644 index 0000000000..099aa01b03 --- /dev/null +++ b/test/small-goal-files/tables/git/table_summary.tex @@ -0,0 +1,16 @@ +% Do not edit. This file is automatically generated. +\begin{tabular}{l|c c|c c|c c|} + Tool & \multicolumn{6}{c|}{Merges} \\ \cline{2-7} + & \multicolumn{2}{c|}{Correct} & + \multicolumn{2}{c|}{Unhandled} & + \multicolumn{2}{c|}{Incorrect} \\ + & \# & \% & \# & \% & \# & \% \\ + \hline +Gitmerge-ort & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-ort-ignorespace & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-recursive-histogram & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-recursive-minimal & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-recursive-myers & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-recursive-patience & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-resolve & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +\end{tabular} diff --git a/test/small-goal-files/tables/git/tool_comparison_table.csv b/test/small-goal-files/tables/git/tool_comparison_table.csv new file mode 100644 index 0000000000..f8a86cd9a7 --- /dev/null +++ b/test/small-goal-files/tables/git/tool_comparison_table.csv @@ -0,0 +1,8 @@ +,gitmerge_ort,gitmerge_ort_ignorespace,gitmerge_recursive_histogram,gitmerge_recursive_minimal,gitmerge_recursive_myers,gitmerge_recursive_patience,gitmerge_resolve +gitmerge_ort,-,0,0,0,0,0,0 +gitmerge_ort_ignorespace,0,-,0,0,0,0,0 +gitmerge_recursive_histogram,0,0,-,0,0,0,0 +gitmerge_recursive_minimal,0,0,0,-,0,0,0 +gitmerge_recursive_myers,0,0,0,0,-,0,0 +gitmerge_recursive_patience,0,0,0,0,0,-,0 +gitmerge_resolve,0,0,0,0,0,0,- diff --git a/test/small-goal-files/tables/git/tool_comparison_table.tex b/test/small-goal-files/tables/git/tool_comparison_table.tex new file mode 100644 index 0000000000..9bf266cc5b --- /dev/null +++ b/test/small-goal-files/tables/git/tool_comparison_table.tex @@ -0,0 +1,20 @@ +% Do not edit. This file is automatically generated. +\begin{table}[h] +\centering +\caption{Comparison of Merge Tool Results: Incorrect vs Unhandled} +\label{tab:tool-comparison} +\small +\begin{tabular}{lrrrrrrr} +\toprule +& Gitmerge-ort & Gitmerge-ort-ignorespace & Gitmerge-recursive-histogram & Gitmerge-recursive-minimal & Gitmerge-recursive-myers & Gitmerge-recursive-patience & Gitmerge-resolve \\ +\midrule +Gitmerge-ort & - & 0 & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-ort-ignorespace & 0 & - & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-recursive-histogram & 0 & 0 & - & 0 & 0 & 0 & 0 \\ +Gitmerge-recursive-minimal & 0 & 0 & 0 & - & 0 & 0 & 0 \\ +Gitmerge-recursive-myers & 0 & 0 & 0 & 0 & - & 0 & 0 \\ +Gitmerge-recursive-patience & 0 & 0 & 0 & 0 & 0 & - & 0 \\ +Gitmerge-resolve & 0 & 0 & 0 & 0 & 0 & 0 & - \\ +\bottomrule +\end{tabular} +\end{table} diff --git a/test/small-goal-files/tables/tools/table_feature_main_summary.tex b/test/small-goal-files/tables/tools/table_feature_main_summary.tex new file mode 100644 index 0000000000..d250476c80 --- /dev/null +++ b/test/small-goal-files/tables/tools/table_feature_main_summary.tex @@ -0,0 +1,28 @@ +% Do not edit. This file is automatically generated. +\setlength{\tabcolsep}{.285\tabcolsep} +\begin{tabular}{c|cc|cc|cc} + Tool & + \multicolumn{6}{c}{Merges} \\ \cline{2-7} + & + \multicolumn{2}{c|}{Correct} & + \multicolumn{2}{c|}{Unhandled} & + \multicolumn{2}{c}{Incorrect} \\ + & + \multicolumn{1}{c}{Main} & + \multicolumn{1}{c|}{Other} & + \multicolumn{1}{c}{Main} & + \multicolumn{1}{c|}{Other} & + \multicolumn{1}{c}{Main} & + \multicolumn{1}{c}{Other} \\ + \hline + Gitmerge-ort & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Gitmerge-ort-ignorespace & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Hires-Merge & 75\% & 0\% & 25\% & 100\% & 0\% & 0\% \\ + Spork & 100\% & 50\% & 0\% & 50\% & 0\% & 0\% \\ + IntelliMerge & 50\% & 50\% & 0\% & 50\% & 50\% & 0\% \\ + Adjacent & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Imports & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + Version Numbers & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + IVn & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ + IVn-ignorespace & 50\% & 0\% & 50\% & 100\% & 0\% & 0\% \\ +\end{tabular} diff --git a/test/small-goal-files/tables/tools/table_summary.tex b/test/small-goal-files/tables/tools/table_summary.tex new file mode 100644 index 0000000000..1f5c66506f --- /dev/null +++ b/test/small-goal-files/tables/tools/table_summary.tex @@ -0,0 +1,19 @@ +% Do not edit. This file is automatically generated. +\begin{tabular}{l|c c|c c|c c|} + Tool & \multicolumn{6}{c|}{Merges} \\ \cline{2-7} + & \multicolumn{2}{c|}{Correct} & + \multicolumn{2}{c|}{Unhandled} & + \multicolumn{2}{c|}{Incorrect} \\ + & \# & \% & \# & \% & \# & \% \\ + \hline +Gitmerge-ort & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Gitmerge-ort-ignorespace & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Hires-Merge & 3 & 50\% & 3 & 50\% & 0 & 0\% \\ +Spork & 5 & 83\% & 1 & 17\% & 0 & 0\% \\ +IntelliMerge & 3 & 50\% & 1 & 17\% & 2 & 33\% \\ +Adjacent & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Imports & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +Version Numbers & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +IVn & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +IVn-ignorespace & 2 & 33\% & 4 & 67\% & 0 & 0\% \\ +\end{tabular} diff --git a/test/small-goal-files/tables/tools/tool_comparison_table.csv b/test/small-goal-files/tables/tools/tool_comparison_table.csv new file mode 100644 index 0000000000..c870110f29 --- /dev/null +++ b/test/small-goal-files/tables/tools/tool_comparison_table.csv @@ -0,0 +1,11 @@ +,gitmerge_ort,gitmerge_ort_ignorespace,git_hires_merge,spork,intellimerge,adjacent,imports,version_numbers,ivn,ivn_ignorespace +gitmerge_ort,-,0,0,0,0,0,0,0,0,0 +gitmerge_ort_ignorespace,0,-,0,0,0,0,0,0,0,0 +git_hires_merge,0,0,-,0,0,0,0,0,0,0 +spork,0,0,0,-,0,0,0,0,0,0 +intellimerge,0,0,0,0,-,0,0,0,0,0 +adjacent,0,0,0,0,0,-,0,0,0,0 +imports,0,0,0,0,0,0,-,0,0,0 +version_numbers,0,0,0,0,0,0,0,-,0,0 +ivn,0,0,0,0,0,0,0,0,-,0 +ivn_ignorespace,0,0,0,0,0,0,0,0,0,- diff --git a/test/small-goal-files/tables/tools/tool_comparison_table.tex b/test/small-goal-files/tables/tools/tool_comparison_table.tex new file mode 100644 index 0000000000..83615737c8 --- /dev/null +++ b/test/small-goal-files/tables/tools/tool_comparison_table.tex @@ -0,0 +1,23 @@ +% Do not edit. This file is automatically generated. +\begin{table}[h] +\centering +\caption{Comparison of Merge Tool Results: Incorrect vs Unhandled} +\label{tab:tool-comparison} +\small +\begin{tabular}{lrrrrrrrrrr} +\toprule +& Gitmerge-ort & Gitmerge-ort-ignorespace & Hires-Merge & Spork & IntelliMerge & Adjacent & Imports & Version Numbers & IVn & IVn-ignorespace \\ +\midrule +Gitmerge-ort & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Gitmerge-ort-ignorespace & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Hires-Merge & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ +Spork & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 & 0 \\ +IntelliMerge & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 & 0 \\ +Adjacent & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 & 0 \\ +Imports & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 & 0 \\ +Version Numbers & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 & 0 \\ +IVn & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - & 0 \\ +IVn-ignorespace & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - \\ +\bottomrule +\end{tabular} +\end{table}