Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Source/CTest/cmCTestBZR.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 cmCTestBZR
16
* \brief Interaction with bzr command-line tool
17
*
18
*/
19
class cmCTestBZR : public cmCTestGlobalVC
20
{
21
public:
22
/** Construct with a CTest instance and update log stream. */
23
cmCTestBZR(cmCTest* ctest, cmMakefile* mf, std::ostream& log);
24
25
~cmCTestBZR() override;
26
27
private:
28
// Implement cmCTestVC internal API.
29
bool NoteOldRevision() override;
30
bool NoteNewRevision() override;
31
bool UpdateImpl() override;
32
33
// URL of repository directory checked out in the working tree.
34
std::string URL;
35
36
std::string LoadInfo();
37
bool LoadModifications() override;
38
bool LoadRevisions() override;
39
40
// Parsing helper classes.
41
class InfoParser;
42
class LogParser;
43
class RevnoParser;
44
class StatusParser;
45
class UpdateParser;
46
47
friend class InfoParser;
48
friend class LogParser;
49
friend class RevnoParser;
50
friend class UpdateParser;
51
friend class StatusParser;
52
};
53
54