This diff algorithm uses a unique line of code as a benchmark to match the sequences of the changed lines between the two files.
In contrast with the Myers, the Histogram algorithm provides diff results that are easier for software archives miners to understand, as the Histogram more clearly separates the changed code lines. the Myers and the Patience), the Histogram nevertheless, has been declared much quicker 8 8 8. In comparison with the other two diff algorithms, (i.e. This means that the Histogram performs similarly to the Patience if a unique common element exists in both files otherwise, it selects the element that has the least occurrences. section 1 represents the area before the LCS, while section 2 represents the region after the LCS), are then executed repetitively using the same process as the beginning of the algorithm. Two sections resulting from the partition (i.e. Once the screening is finished for the second sequence, the lowest occurrence of LCS is marked as the separator. If the elements exist and their presences are less than in the first sequence, they are expected to be a potential LCS. The Histogram strategy works similarly to with the Patience by developing a histogram of the appearances for every line in the first version of a file.Įvery element in the second version is subsequently shown to match with the first sequence in an orderly way to find the existences of the elements and to count the occurrences. However, both diff algorithms evenly have a good quality in generating the list of non-code changes. Regarding the result of the patches analysis, we found that, in-code changes, The percentage of files that have different deleted lines of code range from 2.4% to 6.6%.
The divergent diff outputs also affected the different number of identified files in bug introduction identification. The differences of these added and deleted lines that are distinguished by their different number and position range from 0.8% to 6.2% and from 1.4% to 7.6%, respectively. This influences the different number of files that have dissimilar added and deleted lines of code in each CI-Java project. Our findings show that using various diff algorithms in the git diff command produced unequal diff lists. We analyze the quality of patches derived from Myers and Histogram by manually comparing their two diff from 377 changes, a statistically representative sample of the 21,590 changes identified in the above two comparisons.
We investigate the disagreement between two diff algorithms: Myers and Histogram, and take a manual measurement of their quality in generating the diff lists.īased on previous related studies, we investigate the code changes from the files in 14 OSS projects that employ Continuous Integration for metrics collection and 10 Apache projects for the bug introduction identification to quantify the differences of the diff outputs that resulted from both diff algorithms. It seems to me that it is complaining about os.link(tarinfo._link_target, target path), so I tried creating a link using that function which works fine.In our empirical analyses, we conduct three comparisons based on the most popular usages of git diff found in our mapping study: collecting metrics, identifying bug introduction, and getting patches. Hook '/usr/bin/python src/build/download_nacl_toolchains.py -no-arm-trusted -keep' took 89.91 secs OSError: Operation not supportedĮrror: Command /usr/bin/python src/build/download_nacl_toolchains.py -no-arm-trusted -keep returned non-zero exit status 1 in /Volumes/NJHD/google Os.link(tarinfo._link_target, targetpath) Self._extract_member(tarinfo, os.path.join(path, tarinfo.name))įile "/System/Library/Frameworks/amework/Versions/2.7/lib/python2.7/tarfile.py", line 2168, in _extract_memberįile "/System/Library/Frameworks/amework/Versions/2.7/lib/python2.7/tarfile.py", line 2252, in makelink Keep=options.keep, verbose=options.verbose):įile "/Volumes/NJHD/google/src/native_client/build/download_toolchains.py", line 263, in SyncFlavorįile "/Volumes/NJHD/google/src/native_client/build/cygtar.py", line 313, in Extractįile "/System/Library/Frameworks/amework/Versions/2.7/lib/python2.7/tarfile.py", line 2084, in extract Traceback (most recent call last):įile "src/build/download_nacl_toolchains.py", line 63, in įile "src/build/download_nacl_toolchains.py", line 58, in Mainįile "/Volumes/NJHD/google/src/native_client/build/download_toolchains.py", line 414, in main Updating /Volumes/NJHD/google/src/native_client/toolchain/.tars/toolchain_mac_2 I could successfully fetch the code with command:īut when I try to sync the projects with gclient sync command it's breaking in the middle of the process throwing the following OSError: _ running '/usr/bin/python src/build/download_nacl_toolchains.py -no-arm-trusted -keep' in '/Volumes/NJHD/google'
I'm trying to setup the chromium code following the documentation on Mac OS X 10.9.2.