aboutsummaryrefslogtreecommitdiffstats
path: root/merge-ort.c
AgeCommit message (Expand)AuthorFilesLines
2021-06-14Merge branch 'en/ort-perf-batch-11'Junio C Hamano1-12/+319
2021-05-20merge-ort, diffcore-rename: employ cached renames when possibleElijah Newren1-5/+42
2021-05-20merge-ort: handle interactions of caching and rename/rename(1to1) casesElijah Newren1-1/+29
2021-05-20merge-ort: add helper functions for using cached renamesElijah Newren1-0/+47
2021-05-20merge-ort: preserve cached renames for the appropriate sideElijah Newren1-9/+11
2021-05-20merge-ort: avoid accidental API mis-useElijah Newren1-0/+7
2021-05-20merge-ort: add code to check for whether cached renames can be reusedElijah Newren1-2/+64
2021-05-20merge-ort: populate caches of rename detection resultsElijah Newren1-1/+72
2021-05-20merge-ort: add data structures for in-memory caching of rename detectionElijah Newren1-0/+53
2021-05-16Merge branch 'ah/merge-ort-i18n'Junio C Hamano1-6/+15
2021-05-11merge-ort: split "distinct types" message into two translatable messagesAlex Henrie1-6/+15
2021-05-10Merge branch 'bc/hash-transition-interop-part-1'Junio C Hamano1-10/+10
2021-04-30Merge branch 'ds/sparse-index-protections'Junio C Hamano1-1/+1
2021-04-27hash: provide per-algorithm null OIDsbrian m. carlson1-10/+10
2021-04-16Merge branch 'ah/merge-ort-ubsan-fix'Junio C Hamano1-14/+6
2021-04-16Merge branch 'en/ort-readiness'Junio C Hamano1-28/+215
2021-04-16Merge branch 'en/ort-perf-batch-10'Junio C Hamano1-18/+61
2021-04-12merge-ort: only do pointer arithmetic for non-empty listsAndrzej Hunt1-13/+5
2021-04-08Merge branch 'en/ort-perf-batch-9'Junio C Hamano1-4/+230
2021-03-22Merge branch 'en/ort-perf-batch-8'Junio C Hamano1-138/+6
2021-03-20Revert "merge-ort: ignore the directory rename split conflict for now"Elijah Newren1-12/+1
2021-03-20merge-ort: write $GIT_DIR/AUTO_MERGE whenever we hit a conflictElijah Newren1-0/+10
2021-03-20merge-ort: implement CE_SKIP_WORKTREE handling with conflicted entriesElijah Newren1-13/+30
2021-03-20merge-ort: support subtree shiftingElijah Newren1-0/+24
2021-03-20merge-ort: let renormalization change modify/delete into clean deleteElijah Newren1-2/+62
2021-03-20merge-ort: have ll_merge() use a special attr_index for renormalizationElijah Newren1-2/+62
2021-03-20merge-ort: add a special minimal index just for renormalizationElijah Newren1-0/+20
2021-03-20merge-ort: use STABLE_QSORT instead of QSORT where requiredElijah Newren1-1/+7
2021-03-18merge-ort: record the reason that we want a rename for a fileElijah Newren1-5/+10
2021-03-18diffcore-rename: add computation of number of unknown renamesElijah Newren1-0/+3
2021-03-18merge-ort: record the reason that we want a rename for a directoryElijah Newren1-3/+38
2021-03-18merge-ort, diffcore-rename: tweak dirs_removed and relevant_source typeElijah Newren1-14/+14
2021-03-13use CALLOC_ARRAYRené Scharfe1-5/+4
2021-03-10merge-ort: skip rename detection entirely if possibleElijah Newren1-0/+44
2021-03-10merge-ort: use relevant_sources to filter possible rename sourcesElijah Newren1-1/+1
2021-03-10merge-ort: precompute whether directory rename detection is neededElijah Newren1-6/+61
2021-03-10merge-ort: introduce wrappers for alternate tree traversalElijah Newren1-0/+71
2021-03-10merge-ort: add data structures for an alternate tree traversalElijah Newren1-0/+26
2021-03-10merge-ort: precompute subset of sources for which we need rename detectionElijah Newren1-3/+32
2021-03-10diffcore-rename: enable filtering possible rename sourcesElijah Newren1-0/+1
2021-02-26diffcore-rename: add function for clearing dir_rename_countElijah Newren1-9/+3
2021-02-26Move computation of dir_rename_count from merge-ort to diffcore-renameElijah Newren1-129/+3
2021-02-15merge-ort: call diffcore_rename() directlyElijah Newren1-7/+59
2021-01-23merge-ort: begin performance work; instrument with trace2_region_* callsElijah Newren1-0/+57
2021-01-23merge-ort: ignore the directory rename split conflict for nowElijah Newren1-1/+12
2021-01-23merge-ort: fix massive leakElijah Newren1-0/+17
2021-01-20Merge branch 'en/ort-directory-rename' into en/merge-ort-perfJunio C Hamano1-22/+1228
2021-01-20merge-ort: fix a directory rename detection bugElijah Newren1-117/+81
2021-01-20merge-ort: process_renames() now needs more defensivenessElijah Newren1-5/+21
2021-01-20merge-ort: implement apply_directory_rename_modifications()Elijah Newren1-1/+167
2021-01-20merge-ort: add a new toplevel_dir fieldElijah Newren1-6/+9
2021-01-20merge-ort: implement handle_path_level_conflicts()Elijah Newren1-1/+71
2021-01-20merge-ort: implement check_for_directory_rename()Elijah Newren1-1/+66
2021-01-20merge-ort: implement apply_dir_rename() and check_dir_renamed()Elijah Newren1-2/+35
2021-01-20merge-ort: implement compute_collisions()Elijah Newren1-1/+67
2021-01-20merge-ort: modify collect_renames() for directory rename handlingElijah Newren1-4/+74
2021-01-20merge-ort: implement handle_directory_level_conflicts()Elijah Newren1-1/+18
2021-01-20merge-ort: implement compute_rename_counts()Elijah Newren1-2/+52
2021-01-20merge-ort: copy get_renamed_dir_portion() from merge-recursive.cElijah Newren1-0/+104
2021-01-20merge-ort: add outline of get_provisional_directory_renames()Elijah Newren1-1/+56
2021-01-20merge-ort: add outline for computing directory renamesElijah Newren1-1/+24
2021-01-14Merge branch 'en/ort-conflict-handling' into en/merge-ort-perfJunio C Hamano1-18/+653
2021-01-07merge-ort: collect which directories are removed in dirs_removedElijah Newren1-0/+27
2021-01-07merge-ort: initialize and free new directory rename data structuresElijah Newren1-0/+35
2021-01-07merge-ort: add new data structures for directory rename detectionElijah Newren1-3/+31
2021-01-07Merge branch 'en/merge-ort-3' into en/ort-directory-renameJunio C Hamano1-16/+430
2021-01-04merge-ort: add handling for different types of files at same pathElijah Newren1-4/+103
2021-01-04merge-ort: copy find_first_merges() implementation from merge-recursive.cElijah Newren1-1/+56
2021-01-04merge-ort: implement format_commit()Elijah Newren1-1/+13
2021-01-04merge-ort: copy and adapt merge_submodule() from merge-recursive.cElijah Newren1-1/+125
2021-01-04merge-ort: copy and adapt merge_3way() from merge-recursive.cElijah Newren1-1/+53
2021-01-04merge-ort: flesh out implementation of handle_content_merge()Elijah Newren1-6/+143
2021-01-04merge-ort: handle book-keeping around two- and three-way content mergeElijah Newren1-11/+41
2021-01-04merge-ort: implement unique_path() helperElijah Newren1-1/+24
2021-01-04merge-ort: handle directory/file conflicts that remainElijah Newren1-2/+84
2021-01-04merge-ort: handle D/F conflict where directory disappears due to mergeElijah Newren1-1/+22
2020-12-16merge-ort: implement merge_incore_recursive()Elijah Newren1-2/+88
2020-12-16merge-ort: make clear_internal_opts() aware of partial clearingElijah Newren1-6/+7
2020-12-16merge-ort: copy a few small helper functions from merge-recursive.cElijah Newren1-0/+20
2020-12-15merge-ort: add implementation of type-changed rename handlingElijah Newren1-3/+32
2020-12-15merge-ort: add implementation of normal rename handlingElijah Newren1-1/+5
2020-12-15merge-ort: add implementation of rename collisionsElijah Newren1-3/+51
2020-12-15merge-ort: add implementation of rename/delete conflictsElijah Newren1-8/+40
2020-12-15merge-ort: add implementation of both sides renaming differentlyElijah Newren1-3/+55
2020-12-15merge-ort: add implementation of both sides renaming identicallyElijah Newren1-2/+18
2020-12-14merge-ort: add basic outline for process_renames()Elijah Newren1-1/+97
2020-12-14merge-ort: implement compare_pairs() and collect_renames()Elijah Newren1-2/+33
2020-12-14merge-ort: implement detect_regular_renames()Elijah Newren1-1/+31
2020-12-14merge-ort: add initial outline for basic rename detectionElijah Newren1-8/+60
2020-12-14merge-ort: add basic data structures for handling renamesElijah Newren1-0/+24
2020-12-13merge-ort: add modify/delete handling and delayed output processingElijah Newren1-2/+98
2020-12-13merge-ort: add die-not-implemented stub handle_content_merge() functionElijah Newren1-0/+14
2020-12-13merge-ort: add function grouping commentsElijah Newren1-0/+21
2020-12-13merge-ort: add a paths_to_free field to merge_options_internalElijah Newren1-1/+25
2020-12-13merge-ort: add a path_conflict field to merge_options_internalElijah Newren1-0/+7
2020-12-13merge-ort: add a clear_internal_opts helperElijah Newren1-16/+24
2020-12-13merge-ort: add a few includesElijah Newren1-0/+2
2020-12-13merge-ort: free data structures in merge_finalize()Elijah Newren1-1/+31
2020-12-13merge-ort: add implementation of record_conflicted_index_entries()Elijah Newren1-1/+87
2020-12-13merge-ort: add implementation of checkout()Elijah Newren1-1/+44
2020-12-13merge-ort: basic outline for merge_switch_to_result()Elijah Newren1-1/+41
2020-12-13merge-ort: step 3 of tree writing -- handling subdirectories as we goElijah Newren1-8/+234
2020-12-13merge-ort: step 2 of tree writing -- function to create tree objectElijah Newren1-1/+66
2020-12-13merge-ort: step 1 of tree writing -- record basenames, modes, and oidsElijah Newren1-3/+37
2020-12-13merge-ort: have process_entries operate in a defined orderElijah Newren1-3/+50
2020-12-13merge-ort: add a preliminary simple process_entries() implementationElijah Newren1-1/+102
2020-12-13merge-ort: avoid recursing into identical treesElijah Newren1-0/+13
2020-12-13merge-ort: record stage and auxiliary info for every pathElijah Newren1-7/+90
2020-12-13merge-ort: compute a few more useful fields for collect_merge_infoElijah Newren1-0/+36
2020-12-13merge-ort: avoid repeating fill_tree_descriptor() on the same treeElijah Newren1-4/+22
2020-12-13merge-ort: implement a very basic collect_merge_info()Elijah Newren1-1/+134
2020-12-13merge-ort: add an err() function similar to one from merge-recursiveElijah Newren1-2/+29
2020-12-13merge-ort: use histogram diffElijah Newren1-0/+4
2020-12-13merge-ort: port merge_start() from merge-recursiveElijah Newren1-1/+44
2020-12-13merge-ort: add some high-level algorithm structureElijah Newren1-1/+67
2020-12-13merge-ort: setup basic internal data structuresElijah Newren1-0/+147
2020-10-26merge-ort: barebones API of new merge strategy with empty implementationElijah Newren1-0/+52