From 1f5fd7e64a1c0e8d1815bdd6d168193bf9c28d6d Mon Sep 17 00:00:00 2001 From: Vaxry Date: Sat, 15 Jun 2024 21:46:36 +0200 Subject: [PATCH] hyprpm: add --no-shallow --- hyprpm/src/core/PluginManager.cpp | 2 +- hyprpm/src/core/PluginManager.hpp | 3 ++- hyprpm/src/main.cpp | 10 +++++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/hyprpm/src/core/PluginManager.cpp b/hyprpm/src/core/PluginManager.cpp index e8c6e251..848b9cab 100644 --- a/hyprpm/src/core/PluginManager.cpp +++ b/hyprpm/src/core/PluginManager.cpp @@ -427,7 +427,7 @@ bool CPluginManager::updateHeaders(bool force) { progress.printMessageAbove(std::string{Colors::YELLOW} + "!" + Colors::RESET + " Cloning https://github.com/hyprwm/hyprland, this might take a moment."); - const bool bShallow = HLVER.branch == "main" || HLVER.branch == ""; + const bool bShallow = (HLVER.branch == "main" || HLVER.branch == "") && !m_bNoShallow; // let us give a bit of leg-room for shallowing // due to timezones, etc. diff --git a/hyprpm/src/core/PluginManager.hpp b/hyprpm/src/core/PluginManager.hpp index a87240e3..13ea5b12 100644 --- a/hyprpm/src/core/PluginManager.hpp +++ b/hyprpm/src/core/PluginManager.hpp @@ -58,7 +58,8 @@ class CPluginManager { bool hasDeps(); - bool m_bVerbose = false; + bool m_bVerbose = false; + bool m_bNoShallow = false; // will delete recursively if exists!! bool createSafeDirectory(const std::string& path); diff --git a/hyprpm/src/main.cpp b/hyprpm/src/main.cpp index 38b32c83..4f00f708 100644 --- a/hyprpm/src/main.cpp +++ b/hyprpm/src/main.cpp @@ -26,6 +26,7 @@ const std::string HELP = R"#(┏ hyprpm, a Hyprland Plugin Manager ┣ --help | -h → Show this menu ┣ --verbose | -v → Enable too much logging ┣ --force | -f → Force an operation ignoring checks (e.g. update -f) +┣ --no-shallow | -s → Disable shallow cloning of Hyprland sources ┗ )#"; @@ -41,7 +42,7 @@ int main(int argc, char** argv, char** envp) { } std::vector command; - bool notify = false, verbose = false, force = false; + bool notify = false, verbose = false, force = false, noShallow = false; for (int i = 1; i < argc; ++i) { if (ARGS[i].starts_with("-")) { @@ -52,6 +53,8 @@ int main(int argc, char** argv, char** envp) { notify = true; } else if (ARGS[i] == "--verbose" || ARGS[i] == "-v") { verbose = true; + } else if (ARGS[i] == "--no-shallow" || ARGS[i] == "-s") { + noShallow = true; } else if (ARGS[i] == "--force" || ARGS[i] == "-f") { force = true; std::cout << Colors::RED << "!" << Colors::RESET << " Using --force, I hope you know what you are doing.\n"; @@ -69,8 +72,9 @@ int main(int argc, char** argv, char** envp) { return 0; } - g_pPluginManager = std::make_unique(); - g_pPluginManager->m_bVerbose = verbose; + g_pPluginManager = std::make_unique(); + g_pPluginManager->m_bVerbose = verbose; + g_pPluginManager->m_bNoShallow = noShallow; if (command[0] == "add") { if (command.size() < 2) {