+++ /dev/null
-// TortoiseSVN - a Windows shell extension for easy version control\r
-\r
-// Copyright (C) 2003-2008 - TortoiseSVN\r
-\r
-// This program is free software; you can redistribute it and/or\r
-// modify it under the terms of the GNU General Public License\r
-// as published by the Free Software Foundation; either version 2\r
-// of the License, or (at your option) any later version.\r
-\r
-// This program is distributed in the hope that it will be useful,\r
-// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
-// GNU General Public License for more details.\r
-\r
-// You should have received a copy of the GNU General Public License\r
-// along with this program; if not, write to the Free Software Foundation,\r
-// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
-//\r
-#pragma once\r
-\r
-#include "RevisionInfoContainer.h"\r
-\r
-namespace LogCache\r
-{\r
- class CDictionaryBasedTempPath;\r
- class CCachedLogInfo;\r
-}\r
-\r
-using namespace LogCache;\r
-\r
-class CFullHistory;\r
-class CFullGraph;\r
-class CSearchPathTree;\r
-class SCopyInfo;\r
-\r
-/**\r
- * \ingroup TortoiseProc\r
- */\r
-class CFullGraphBuilder\r
-{\r
-public:\r
-\r
- CFullGraphBuilder (const CFullHistory& history, CFullGraph& graph);\r
- ~CFullGraphBuilder(void);\r
-\r
- void Run();\r
-\r
-private:\r
-\r
- void AnalyzeReplacements ( revision_t revision\r
- , CRevisionInfoContainer::CChangesIterator first\r
- , CRevisionInfoContainer::CChangesIterator last\r
- , CSearchPathTree* startNode\r
- , std::vector<CSearchPathTree*>& toRemove);\r
- void AnalyzeRevisions ( revision_t revision\r
- , CRevisionInfoContainer::CChangesIterator first\r
- , CRevisionInfoContainer::CChangesIterator last\r
- , CSearchPathTree* startNode\r
- , std::vector<CSearchPathTree*>& toRemove);\r
- void AnalyzeAsChanges ( revision_t revision\r
- , CSearchPathTree* searchNode);\r
- void AddCopiedPaths ( revision_t revision\r
- , CSearchPathTree* rootNode\r
- , SCopyInfo**& lastToCopy);\r
- void FillCopyTargets ( revision_t revision\r
- , CSearchPathTree* rootNode\r
- , SCopyInfo**& lastFromCopy);\r
- bool IsLatestCopySource ( revision_t fromRevision\r
- , revision_t toRevision\r
- , const CDictionaryBasedPath& fromPath\r
- , const CDictionaryBasedTempPath& currentPath);\r
- bool TargetPathExists ( revision_t revision\r
- , const CDictionaryBasedPath& path);\r
-\r
- /// data members\r
-\r
- const CFullHistory& history;\r
- CFullGraph& graph;\r
-};\r