/*
* 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 |
|
#2
|
15902 |
matt_attaway |
A second renaming that I will not obliterate as a badge of shame |
|
|
#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 |
|
|