#pragma once
#include "cmConfigure.h"
#include <iosfwd>
#include <map>
#include <string>
#include <vector>
#include "cmCTestVC.h"
class cmCTest;
class cmMakefile;
class cmXMLWriter;
class cmCTestCVS : public cmCTestVC
{
public:
cmCTestCVS(cmCTest* ctest, cmMakefile* mf, std::ostream& log);
~cmCTestCVS() override;
private:
bool UpdateImpl() override;
bool WriteXMLUpdates(cmXMLWriter& xml) override;
class Directory : public std::map<std::string, PathStatus>
{
};
std::map<std::string, Directory> Dirs;
std::string ComputeBranchFlag(std::string const& dir);
void LoadRevisions(std::string const& file, char const* branchFlag,
std::vector<Revision>& revisions);
void WriteXMLDirectory(cmXMLWriter& xml, std::string const& path,
Directory const& dir);
class LogParser;
class UpdateParser;
friend class LogParser;
friend class UpdateParser;
};