1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmCTestCVS.h,v $
6 Date: $Date: 2009-02-25 19:42:45 $
7 Version: $Revision: 1.2 $
9 Copyright (c) 2002 Kitware, Inc. All rights reserved.
10 See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notices for more information.
16 =========================================================================*/
20 #include "cmCTestVC.h"
23 * \brief Interaction with cvs command-line tool
26 class cmCTestCVS
: public cmCTestVC
29 /** Construct with a CTest instance and update log stream. */
30 cmCTestCVS(cmCTest
* ctest
, std::ostream
& log
);
32 virtual ~cmCTestCVS();
35 // Implement cmCTestVC internal API.
36 virtual bool UpdateImpl();
37 virtual bool WriteXMLUpdates(std::ostream
& xml
);
39 // Update status for files in each directory.
40 class Directory
: public std::map
<cmStdString
, PathStatus
> {};
41 std::map
<cmStdString
, Directory
> Dirs
;
43 std::string
ComputeBranchFlag(std::string
const& dir
);
44 void LoadRevisions(std::string
const& file
, const char* branchFlag
,
45 std::vector
<Revision
>& revisions
);
46 void WriteXMLDirectory(std::ostream
& xml
, std::string
const& path
,
47 Directory
const& dir
);
49 // Parsing helper classes.
52 friend class UpdateParser
;
53 friend class LogParser
;