22#include "UtTextDocument.hpp"
27using FileMap = std::map<std::string, UtTextDocument>;
40 bool Open(
const std::string& aDbPath);
46 const std::string& aWorkingDir,
47 const std::vector<std::string>& aStartupFiles);
55 int* aRevisionsTraversed =
nullptr);
66 bool StartupFiles(
int aRevNo, std::vector<std::string>& aStartupFiles);
79 bool DbCreateTables();
81 bool DbOpen(
const std::string& aDbPath);
86 int GetFirstFullRevisionUpTo(
const std::string& aRelFilePath,
int aRevNo);
88 bool SetVersion(
int aVersion);
89 int Exec(
const char* aSql);
92 bool BeginTransaction();
93 bool CommitTransaction();
94 bool RollbackTransaction();
96 void PrepareSqlStatements();
97 void ResetSqlStatements();
98 void FinalizeSqlStatements();
100 using RevisionSqlStmtList = std::vector<RevisionSqlStmt*>;
118 RevisionSqlStmtList mSqlStmts;
#define VI_EXPORT
Definition ViExport.hpp:38
RevisionList Revisions()
Definition RevisionDb.cpp:453
bool StartupFiles(int aRevNo, std::vector< std::string > &aStartupFiles)
Definition RevisionDb.cpp:563
RevisionDb()
Definition RevisionDb.cpp:125
bool LatestStartupFiles(std::vector< std::string > &aStartupFiles)
Definition RevisionDb.cpp:605
int StoreNewRevision(const RevisionChangeList &aChanges, const std::string &aWorkingDir, const std::vector< std::string > &aStartupFiles)
Definition RevisionDb.cpp:239
RevisionChangeList Changes(int aRevNo)
Definition RevisionDb.cpp:485
int Version()
Definition RevisionDb.cpp:627
RevisionPathSet AllFilePaths(int aRevNo)
Definition RevisionDb.cpp:529
bool OpenInMemory()
Definition RevisionDb.cpp:192
int NewRevisionNo(const std::string &aWorkingDir)
Definition RevisionDb.cpp:305
FileMap ExistingFiles(int aRevNo)
Definition RevisionDb.cpp:547
bool Open(const std::string &aDbPath)
Definition RevisionDb.cpp:154
bool IsEmpty()
Definition RevisionDb.cpp:652
bool InsertChanges(int aRevNo, const RevisionChangeList &aChangeList)
Definition RevisionDb.cpp:416
int LatestSupportedVersion() const
Definition RevisionDb.cpp:617
bool IsOpen() const
Definition RevisionDb.cpp:658
bool InsertChange(int aRevNo, const RevisionChange &aChange)
Definition RevisionDb.cpp:407
bool GetFileAtRevision(const std::string &aRelFilePath, int aRevision, UtTextDocument &aDoc, int *aRevisionsTraversed=nullptr)
Definition RevisionDb.cpp:332
bool DeleteRevision(int aRevNo)
Definition RevisionDb.cpp:316
RevisionPathSet ExistingFilePaths(int aRevNo)
Definition RevisionDb.cpp:510
int LatestRevisionNo()
Definition RevisionDb.cpp:298
bool LatestWorkingDirectory(std::string &aWorkingDir)
Definition RevisionDb.cpp:611
bool IsVersionOld()
Definition RevisionDb.cpp:642
bool InsertStartupFile(int aRevNo, const std::string &aStartupFile)
Inserts a startup file associated with the given revision.
Definition RevisionDb.cpp:430
bool InsertStartupFiles(int aRevNo, const std::vector< std::string > &aStartupFiles)
Inserts a list of startup files associated with the given revision.
Definition RevisionDb.cpp:439
bool Close()
Definition RevisionDb.cpp:199
bool WorkingDirectory(int aRevNo, std::string &aWorkingDir)
Definition RevisionDb.cpp:586
bool ClearTables()
Definition RevisionDb.cpp:218
Definition RevisionSqlStmt.hpp:27
std::vector< RevisionChange > RevisionChangeList
Definition RevisionChange.hpp:54
std::vector< Revision > RevisionList
Definition Revision.hpp:35
std::set< std::string > RevisionPathSet
Definition RevisionDb.hpp:26
std::map< std::string, UtTextDocument > FileMap
Definition RevisionDb.hpp:27
Definition RevisionChange.hpp:28
Type
Definition RevisionChange.hpp:32