From 08acdb9c65184f7b470db8bd2bdd7775bd1ef7a0 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Tue, 3 Aug 2021 18:19:24 +0100 Subject: [PATCH] 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. --- CMakeLists.txt | 2 +- docs/api/reference.rst | 2 +- include/loot/database_interface.h | 4 +- .../{masterlist_info.h => file_revision.h} | 25 +++++---- src/api/api_database.cpp | 2 +- src/api/api_database.h | 2 +- src/api/masterlist.cpp | 12 ++--- src/api/masterlist.h | 4 +- .../api/interface/database_interface_test.h | 52 +++++++++---------- src/tests/api/internals/masterlist_test.h | 34 ++++++------ 10 files changed, 69 insertions(+), 70 deletions(-) rename include/loot/struct/{masterlist_info.h => file_revision.h} (61%) diff --git a/CMakeLists.txt b/CMakeLists.txt index f7f9d3c6..9fdc4de6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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" diff --git a/docs/api/reference.rst b/docs/api/reference.rst index 5f609216..a20c6ddc 100644 --- a/docs/api/reference.rst +++ b/docs/api/reference.rst @@ -18,7 +18,7 @@ Enumerations Public-Field Data Structures ============================ -.. doxygenstruct:: loot::MasterlistInfo +.. doxygenstruct:: loot::FileRevision :members: .. doxygenstruct:: loot::SimpleMessage diff --git a/include/loot/database_interface.h b/include/loot/database_interface.h index e1905545..560e8680 100644 --- a/include/loot/database_interface.h +++ b/include/loot/database_interface.h @@ -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; diff --git a/include/loot/struct/masterlist_info.h b/include/loot/struct/file_revision.h similarity index 61% rename from include/loot/struct/masterlist_info.h rename to include/loot/struct/file_revision.h index 391cbf55..59c5a45d 100644 --- a/include/loot/struct/masterlist_info.h +++ b/include/loot/struct/file_revision.h @@ -21,33 +21,32 @@ along with LOOT. If not, see . */ -#ifndef LOOT_MASTERLIST_INFO -#define LOOT_MASTERLIST_INFO +#ifndef LOOT_FILE_REVISION +#define LOOT_FILE_REVISION #include 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; }; diff --git a/src/api/api_database.cpp b/src/api/api_database.cpp index 97f536cb..a0d6b8de 100644 --- a/src/api/api_database.cpp +++ b/src/api/api_database.cpp @@ -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); diff --git a/src/api/api_database.h b/src/api/api_database.h index a162be86..03e153ef 100644 --- a/src/api/api_database.h +++ b/src/api/api_database.h @@ -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; diff --git a/src/api/masterlist.cpp b/src/api/masterlist.cpp index 02fd76d2..ebeb0fed 100644 --- a/src/api/masterlist.cpp +++ b/src/api/masterlist.cpp @@ -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, diff --git a/src/api/masterlist.h b/src/api/masterlist.h index 63821f09..79adeb55 100644 --- a/src/api/masterlist.h +++ b/src/api/masterlist.h @@ -29,7 +29,7 @@ #include #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, diff --git a/src/tests/api/interface/database_interface_test.h b/src/tests/api/interface/database_interface_test.h index 73d846c9..53996088 100644 --- a/src/tests/api/interface/database_interface_test.h +++ b/src/tests/api/interface/database_interface_test.h @@ -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( diff --git a/src/tests/api/internals/masterlist_test.h b/src/tests/api/internals/masterlist_test.h index 47fb05cf..14e05410 100644 --- a/src/tests/api/internals/masterlist_test.h +++ b/src/tests/api/internals/masterlist_test.h @@ -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,