class Moab::FileGroupDifference

Performs analysis and reports the differences between two matching {FileGroup} objects. The descending elements of the report hold a detailed breakdown of file-level differences, organized by change type. This stanza is a child element of {FileInventoryDifference}, the documentation of which contains a full example.

In order to determine the detailed nature of the differences that are present between the two manifests, this algorithm first compares the sets of file signatures present in the groups being compared, then uses the result of that operation for subsequent analysis of filename correspondences.

For the first step, a Ruby Hash is extracted from each of the of the two groups, with an array of {FileSignature} object used as hash keys, and the corresponding {FileInstance} arrays as the hash values. The set of keys from the basis hash can be compared against the keys from the other hash using {Array} operators:

For the second step of the comparison, the matching and non-matching sets of hash entries are further categorized as follows:

Data Model

@note Copyright © 2012 by The Board of Trustees of the Leland Stanford Junior University.

All rights reserved.  See {file:LICENSE.rdoc} for details.