INTRODUCTION Merging in revision control, is a fundamental operation that reconciles multiple changes made to a revision-controlled collection of files. Most often, it is necessary when a file is modified by two people on two different computers at the same time. When two branches are merged, the result is a single collection of files that contains both sets of changes. External sorting may be used.
EXTERNAL SORTING External sorting is a term for a class of sorting algorithms that can handle massive amounts of data. External sorting is required when the data being sorted do not fit into the main memory of a computing device and instead they must reside in the slower external memory. External sorting typically uses a sort-merge strategy. In the merge phase, the sorted sub files are combined into a single larger file.
MERGE TECHNIQUES Two Way Merge Three Way Merge K-Way Merge
TWO WAY MERGE A two-way merge performs an automated difference analysis between a file A and a file B. This method considers the differences between the two files alone to conduct the merge and makes a "best- guess" analysis to generate the resulting merge.
DISADVANTAGE OF TWO WAY MERGE This type of merge is usually the most error prone. Requires user intervention to verify and sometimes correct the result of the merge.
THREE WAY MERGE A three-way merge is performed after an automated difference analysis between a file A and a file B while also considering the origin, or parent, of both files. This type of merge is more likely to be usable in revision control systems, which can guarantee that such a parent exists and is known. The merge tool examines the differences and patterns appearing in the changes between both files as well as the parent.
ADVANTAGES OF THREE WAY MERGE This merge is the most reliable and has performed well in practice. It has also required the least amount of user intervention. In many cases, requiring no intervention at all making the process eligible for task automation.
K-WAY MERGE ALGORITHMLet there be two arrays:•An array of k lists and•An array of k index values corresponding to the currentelement in each of the k lists, respectively.Main loop of the K-Way Merge algorithm:•Find the index of the minimum current item, minItem•Process minItem(output it to the output list)•For i=0 until i=k-1 (in increments of 1) If the current item of list i is equal to minItem then advance list i.•Go back to the first step.
PERFORMANCE FACTORS The number of records to be sorted. The size of the records. The number of storage devices used. The distribution of those devices on the available I/O channels. The distribution of key values in the input files.