mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
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:
+1
-1
@@ -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"
|
||||
|
||||
@@ -18,7 +18,7 @@ Enumerations
|
||||
Public-Field Data Structures
|
||||
============================
|
||||
|
||||
.. doxygenstruct:: loot::MasterlistInfo
|
||||
.. doxygenstruct:: loot::FileRevision
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: loot::SimpleMessage
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user