/* * Copyright 2010 Perforce Software. All rights reserved. * * This file is part of Perforce - the FAST SCM System. */ /* * MultiMultiMerge - collect and connect a bunch of MultiMerges. * * MultiMultiMerge is the basis for an 'annotate -I' command, which * collects the results of multiple 'annotate' commands and follows * integration records to locate the original source of each line that * has been merged into the starting file. * * A MultiMerge object represents the results of a normal 'annotate', * and collects all of the revisions of a file, indicating a revision range * for each line that indicates which revisions the line is present in. * MultiMultiMerge stores an array of these representing a "family" of * files related by integration history, and then is asked to connect * lines between the files based on individual integration records. * * Each integration record fed into MultiMultiMerge results in a diff * between the source and target revs. Lines that are identical between * them which were introduced to the target at the target rev and introduced * to the source at some point within the source rev range are considered to * have been merged into the target as a result of that integration. * * Classes defined: * MultiMultiMerge - the multiple MultiMerge merger * (try saying that three times fast) * * */ struct MergeLine; class MultiMerge; class VarArray; class MultiMultiMerge { public: MultiMultiMerge( StrPtr *diffFlags = 0 ); ~MultiMultiMerge(); void Put( const StrPtr& id, MultiMerge* ); MultiMerge* Get( int i ); const StrPtr& IdOf( MergeLine *line ); void Credit( const StrPtr& fromId, int sRev, int eRev, const StrPtr& toId, int tRev, Error *e ); void Dump(); private: MultiMerge* Get( const StrPtr& id ); VarArray* multiMerges; DiffFlags flags; };
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 18760 | rlranft |
Populate -o //guest/perforce_software/p4/... //guest/rlranft/p4/.... |
||
//guest/perforce_software/p4/2014-1/diff/diffmultimulti.h | |||||
#1 | 15902 | Matt Attaway | A second renaming that I will not obliterate as a badge of shame | ||
//guest/perforce_software/p4/2014_1/diff/diffmultimulti.h | |||||
#1 | 15901 | Matt Attaway | Clean up code to fit modern Workshop naming standards | ||
//guest/perforce_software/p4/2014.1/diff/diffmultimulti.h | |||||
#1 | 12188 | Matt Attaway | Move 'main' p4 into a release specific directory in prep for new releases | ||
//guest/perforce_software/p4/diff/diffmultimulti.h | |||||
#1 | 9129 | Matt Attaway | Initial commit of the 2014.1 p4/p4api source code |