Rename MasterlistInfo to FileRevision

To reflect that it will soon be used to provide info for other
version-controlled files. Also rename its revision_id and
revision_date fields to remove the revision_ prefixes.
This commit is contained in:
Oliver Hamlet
2021-09-23 13:30:39 +01:00
parent be30bc500f
commit 08acdb9c65
10 changed files with 69 additions and 70 deletions
+1 -1
View File
@@ -250,7 +250,7 @@ set (LIBLOOT_HEADERS "${CMAKE_SOURCE_DIR}/include/loot/api.h"
"${CMAKE_SOURCE_DIR}/include/loot/metadata/plugin_metadata.h"
"${CMAKE_SOURCE_DIR}/include/loot/metadata/tag.h"
"${CMAKE_SOURCE_DIR}/include/loot/plugin_interface.h"
"${CMAKE_SOURCE_DIR}/include/loot/struct/masterlist_info.h"
"${CMAKE_SOURCE_DIR}/include/loot/struct/file_revision.h"
"${CMAKE_SOURCE_DIR}/include/loot/struct/simple_message.h"
"${CMAKE_SOURCE_DIR}/include/loot/vertex.h"
"${CMAKE_SOURCE_DIR}/src/api/api_database.h"
+1 -1
View File
@@ -18,7 +18,7 @@ Enumerations
Public-Field Data Structures
============================
.. doxygenstruct:: loot::MasterlistInfo
.. doxygenstruct:: loot::FileRevision
:members:
.. doxygenstruct:: loot::SimpleMessage
+2 -2
View File
@@ -33,7 +33,7 @@
#include "loot/metadata/group.h"
#include "loot/metadata/message.h"
#include "loot/metadata/plugin_metadata.h"
#include "loot/struct/masterlist_info.h"
#include "loot/struct/file_revision.h"
#include "loot/struct/simple_message.h"
namespace loot {
@@ -138,7 +138,7 @@ public:
* character hash will be outputted.
* @returns The revision data.
*/
virtual MasterlistInfo GetMasterlistRevision(
virtual FileRevision GetMasterlistRevision(
const std::filesystem::path& masterlist_path,
const bool get_short_id) const = 0;
@@ -21,33 +21,32 @@
along with LOOT. If not, see
<https://www.gnu.org/licenses/>.
*/
#ifndef LOOT_MASTERLIST_INFO
#define LOOT_MASTERLIST_INFO
#ifndef LOOT_FILE_REVISION
#define LOOT_FILE_REVISION
#include <string>
namespace loot {
/**
* @brief A structure that holds data about a masterlist's source control
* revision.
* @brief A structure that holds data about a file's source control revision.
*/
struct MasterlistInfo {
inline explicit MasterlistInfo() : is_modified(false) {}
struct FileRevision {
inline explicit FileRevision() : is_modified(false) {}
/**
* @brief The revision hash for the masterlist.
* @brief The revision hash for the file.
*/
std::string revision_id;
std::string id;
/**
* @brief A pointer to a string containing the ISO 8601 formatted revision
* date, ie. YYYY-MM-DD.
* @brief A string containing the ISO 8601 formatted revision date, ie.
* YYYY-MM-DD.
*/
std::string revision_date;
std::string date;
/**
* @brief `true` if the masterlist has been edited since the outputted
* revision, or `false` if it is at exactly the revision given.
* @brief `true` if the file has been edited since the revision identified by
* `id`, or `false` if it is at exactly the revision given.
*/
bool is_modified;
};
+1 -1
View File
@@ -98,7 +98,7 @@ bool ApiDatabase::UpdateMasterlist(const std::filesystem::path& masterlistPath,
return Masterlist::Update(masterlistPath, remoteURL, remoteBranch);
}
MasterlistInfo ApiDatabase::GetMasterlistRevision(
FileRevision ApiDatabase::GetMasterlistRevision(
const std::filesystem::path& masterlistPath,
const bool getShortID) const {
return Masterlist::GetInfo(masterlistPath, getShortID);
+1 -1
View File
@@ -55,7 +55,7 @@ struct ApiDatabase : public DatabaseInterface {
const std::string& remote_url,
const std::string& remote_branch);
MasterlistInfo GetMasterlistRevision(
FileRevision GetMasterlistRevision(
const std::filesystem::path& masterlist_path,
const bool get_short_id) const;
+6 -6
View File
@@ -35,11 +35,11 @@ using std::string;
namespace fs = std::filesystem;
namespace loot {
MasterlistInfo Masterlist::GetInfo(const std::filesystem::path& path,
FileRevision Masterlist::GetInfo(const std::filesystem::path& path,
bool shortID) {
// Compare HEAD and working copy, and get revision info.
GitHelper git;
MasterlistInfo info;
FileRevision revision;
auto logger = getLogger();
@@ -59,16 +59,16 @@ MasterlistInfo Masterlist::GetInfo(const std::filesystem::path& path,
git.Open(path.parent_path());
info.revision_id = git.GetHeadCommitId(shortID);
info.revision_date = git.GetHeadCommitDate();
revision.id = git.GetHeadCommitId(shortID);
revision.date = git.GetHeadCommitDate();
if (logger) {
logger->trace("Diffing masterlist HEAD and working copy.");
}
info.is_modified =
revision.is_modified =
GitHelper::IsFileDifferent(path.parent_path(), path.filename().u8string());
return info;
return revision;
}
bool Masterlist::IsLatest(const std::filesystem::path& path,
+2 -2
View File
@@ -29,7 +29,7 @@
#include <string>
#include "api/metadata_list.h"
#include "loot/struct/masterlist_info.h"
#include "loot/struct/file_revision.h"
namespace loot {
class Masterlist : public MetadataList {
@@ -38,7 +38,7 @@ public:
const std::string& repoURL,
const std::string& repoBranch);
static MasterlistInfo GetInfo(const std::filesystem::path& path,
static FileRevision GetInfo(const std::filesystem::path& path,
bool shortID);
static bool IsLatest(const std::filesystem::path& path,
@@ -296,12 +296,12 @@ TEST_P(
TEST_P(DatabaseInterfaceTest,
getMasterlistRevisionShouldThrowIfNoMasterlistIsPresent) {
MasterlistInfo info;
EXPECT_THROW(info = db_->GetMasterlistRevision(masterlistPath, false),
FileRevision revision;
EXPECT_THROW(revision = db_->GetMasterlistRevision(masterlistPath, false),
FileAccessError);
EXPECT_TRUE(info.revision_id.empty());
EXPECT_TRUE(info.revision_date.empty());
EXPECT_FALSE(info.is_modified);
EXPECT_TRUE(revision.id.empty());
EXPECT_TRUE(revision.date.empty());
EXPECT_FALSE(revision.is_modified);
}
TEST_P(
@@ -309,12 +309,12 @@ TEST_P(
getMasterlistRevisionShouldThrowIfANonVersionControlledMasterlistIsPresent) {
ASSERT_NO_THROW(GenerateMasterlist());
MasterlistInfo info;
EXPECT_THROW(info = db_->GetMasterlistRevision(masterlistPath, false),
FileRevision revision;
EXPECT_THROW(revision = db_->GetMasterlistRevision(masterlistPath, false),
GitStateError);
EXPECT_TRUE(info.revision_id.empty());
EXPECT_TRUE(info.revision_date.empty());
EXPECT_FALSE(info.is_modified);
EXPECT_TRUE(revision.id.empty());
EXPECT_TRUE(revision.date.empty());
EXPECT_FALSE(revision.is_modified);
}
TEST_P(
@@ -322,11 +322,11 @@ TEST_P(
getMasterlistRevisionShouldOutputLongStringsAndBooleanFalseIfAVersionControlledMasterlistIsPresentAndGetShortIdParameterIsFalse) {
ASSERT_NO_THROW(db_->UpdateMasterlist(masterlistPath, url_, branch_));
MasterlistInfo info;
EXPECT_NO_THROW(info = db_->GetMasterlistRevision(masterlistPath, false));
EXPECT_EQ(40, info.revision_id.length());
EXPECT_EQ(10, info.revision_date.length());
EXPECT_FALSE(info.is_modified);
FileRevision revision;
EXPECT_NO_THROW(revision = db_->GetMasterlistRevision(masterlistPath, false));
EXPECT_EQ(40, revision.id.length());
EXPECT_EQ(10, revision.date.length());
EXPECT_FALSE(revision.is_modified);
}
TEST_P(
@@ -334,12 +334,12 @@ TEST_P(
getMasterlistRevisionShouldOutputShortStringsAndBooleanFalseIfAVersionControlledMasterlistIsPresentAndGetShortIdParameterIsTrue) {
ASSERT_NO_THROW(db_->UpdateMasterlist(masterlistPath, url_, branch_));
MasterlistInfo info;
EXPECT_NO_THROW(info = db_->GetMasterlistRevision(masterlistPath, false));
EXPECT_GE(size_t(40), info.revision_id.length());
EXPECT_LE(size_t(7), info.revision_id.length());
EXPECT_EQ(10, info.revision_date.length());
EXPECT_FALSE(info.is_modified);
FileRevision revision;
EXPECT_NO_THROW(revision = db_->GetMasterlistRevision(masterlistPath, false));
EXPECT_GE(size_t(40), revision.id.length());
EXPECT_LE(size_t(7), revision.id.length());
EXPECT_EQ(10, revision.date.length());
EXPECT_FALSE(revision.is_modified);
}
TEST_P(
@@ -348,11 +348,11 @@ TEST_P(
ASSERT_NO_THROW(db_->UpdateMasterlist(masterlistPath, url_, branch_));
ASSERT_NO_THROW(GenerateMasterlist());
MasterlistInfo info;
EXPECT_NO_THROW(info = db_->GetMasterlistRevision(masterlistPath, false));
EXPECT_EQ(40, info.revision_id.length());
EXPECT_EQ(10, info.revision_date.length());
EXPECT_TRUE(info.is_modified);
FileRevision revision;
EXPECT_NO_THROW(revision = db_->GetMasterlistRevision(masterlistPath, false));
EXPECT_EQ(40, revision.id.length());
EXPECT_EQ(10, revision.date.length());
EXPECT_TRUE(revision.is_modified);
}
TEST_P(
+17 -17
View File
@@ -199,10 +199,10 @@ TEST_P(
Masterlist masterlist;
ASSERT_TRUE(masterlist.Update(masterlistPath, repoPath, repoBranch));
MasterlistInfo info = masterlist.GetInfo(masterlistPath, false);
EXPECT_EQ(40, info.revision_id.length());
EXPECT_EQ(10, info.revision_date.length());
EXPECT_FALSE(info.is_modified);
FileRevision revision = masterlist.GetInfo(masterlistPath, false);
EXPECT_EQ(40, revision.id.length());
EXPECT_EQ(10, revision.date.length());
EXPECT_FALSE(revision.is_modified);
}
TEST_P(
@@ -211,11 +211,11 @@ TEST_P(
Masterlist masterlist;
ASSERT_TRUE(masterlist.Update(masterlistPath, repoPath, repoBranch));
MasterlistInfo info = masterlist.GetInfo(masterlistPath, true);
EXPECT_GE((unsigned)40, info.revision_id.length());
EXPECT_LE((unsigned)7, info.revision_id.length());
EXPECT_EQ(10, info.revision_date.length());
EXPECT_FALSE(info.is_modified);
FileRevision revision = masterlist.GetInfo(masterlistPath, true);
EXPECT_GE((unsigned)40, revision.id.length());
EXPECT_LE((unsigned)7, revision.id.length());
EXPECT_EQ(10, revision.date.length());
EXPECT_FALSE(revision.is_modified);
}
TEST_P(
@@ -226,10 +226,10 @@ TEST_P(
std::ofstream out(masterlistPath);
out.close();
MasterlistInfo info = masterlist.GetInfo(masterlistPath, false);
EXPECT_EQ(40, info.revision_id.length());
EXPECT_EQ(10, info.revision_date.length());
EXPECT_TRUE(info.is_modified);
FileRevision revision = masterlist.GetInfo(masterlistPath, false);
EXPECT_EQ(40, revision.id.length());
EXPECT_EQ(10, revision.date.length());
EXPECT_TRUE(revision.is_modified);
}
TEST_P(MasterlistTest,
@@ -245,10 +245,10 @@ TEST_P(MasterlistTest,
std::ofstream out(nonAsciiPath);
out.close();
MasterlistInfo info = masterlist.GetInfo(nonAsciiPath, false);
EXPECT_EQ(40, info.revision_id.length());
EXPECT_EQ(10, info.revision_date.length());
EXPECT_TRUE(info.is_modified);
FileRevision revision = masterlist.GetInfo(nonAsciiPath, false);
EXPECT_EQ(40, revision.id.length());
EXPECT_EQ(10, revision.date.length());
EXPECT_TRUE(revision.is_modified);
}
TEST_P(MasterlistTest,