Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Source/CTest/cmCTestHG.h
4998 views
1
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2
file LICENSE.rst or https://cmake.org/licensing for details. */
3
#pragma once
4
5
#include "cmConfigure.h" // IWYU pragma: keep
6
7
#include <iosfwd>
8
#include <string>
9
10
#include "cmCTestGlobalVC.h"
11
12
class cmCTest;
13
class cmMakefile;
14
15
/** \class cmCTestHG
16
* \brief Interaction with Mercurial command-line tool
17
*
18
*/
19
class cmCTestHG : public cmCTestGlobalVC
20
{
21
public:
22
/** Construct with a CTest instance and update log stream. */
23
cmCTestHG(cmCTest* ctest, cmMakefile* mf, std::ostream& log);
24
25
~cmCTestHG() override;
26
27
private:
28
std::string GetWorkingRevision();
29
bool NoteOldRevision() override;
30
bool NoteNewRevision() override;
31
bool UpdateImpl() override;
32
33
bool LoadRevisions() override;
34
bool LoadModifications() override;
35
36
// Parsing helper classes.
37
class IdentifyParser;
38
class LogParser;
39
class StatusParser;
40
41
friend class IdentifyParser;
42
friend class LogParser;
43
friend class StatusParser;
44
};
45
46