From 37c5c7c4f62287bf9e3df9bd63ca807f390ef2a4 Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Mon, 17 Jul 2023 16:49:44 +0200 Subject: [PATCH] Simplified interface. When doing a clone of the repository, do not execute any other commands. --- git/git_client.cpp | 40 ++++++++++++---------------------------- 1 file changed, 12 insertions(+), 28 deletions(-) diff --git a/git/git_client.cpp b/git/git_client.cpp index d71374d..a723455 100644 --- a/git/git_client.cpp +++ b/git/git_client.cpp @@ -7,20 +7,18 @@ #include -GitClient::GitClient(QString const &repositoryPath, - QString const &customerId, +GitClient::GitClient(QString const &customerNrStr, + QString const &customerRepository, QString const &workingDirectory, QString const &branchName, QObject *parent) : QObject(parent) , m_worker(qobject_cast(parent)) - , m_repositoryPath(repositoryPath) - , m_customerId(customerId) + , m_repositoryPath(QString("https://git.mimbach49.de/GerhardHoffmann/%1.git").arg(customerNrStr)) + , m_customerNr(customerNrStr) , m_workingDirectory(workingDirectory) , m_branchName(branchName) - , m_customerRepository(QDir::cleanPath(m_workingDirectory - + QDir::separator() - + m_customerId)) { + , m_customerRepository(customerRepository) { if (!m_worker) { qCritical() << "ERROR CASTING PARENT TO WORKER FAILED"; } @@ -63,18 +61,6 @@ void GitClient::onIsmasUpdatesAvailable() { if (gitCloneAndCheckoutBranch()) { qInfo() << "CLONED" << m_repositoryPath << "AND CHECKED OUT INTO" << m_customerRepository; - if (m_worker) { - qDebug() << "WORKER EXECUTE OPKG COMMANDS"; - QStringList opkgCommands; - // To make sure that opkg upgrade does not break your system - // because of an unstable connection - // Add a line "option cache cachedir" to /etc/opkg/opkg.conf to - // avoid the --cache option on command line. - opkgCommands << "opkg update"; - //opkgCommands << "opkg --cache cachedir --download-only upgrade"; - //opkgCommands << "opkg --cache cachedir upgrade"; - emit m_worker->executeOpkgCommands(opkgCommands); - } } else { qCritical() << "ERROR CLONING " << m_repositoryPath << "AND/OR CHECKING OUT INTO" << m_customerRepository; @@ -99,7 +85,7 @@ bool GitClient::gitCloneCustomerRepository() { QRegularExpressionMatch match = re.match(result); if (match.hasMatch()) { if (re.captureCount() == 3) { // start with full match (0), then the other 3 matches - if (match.captured(2).trimmed() == m_customerId) { + if (match.captured(2).trimmed() == m_customerNr) { qInfo() << "CLONING" << m_repositoryPath << "OK"; return true; } @@ -112,7 +98,7 @@ bool GitClient::gitCloneCustomerRepository() { } bool GitClient::copyGitConfigFromMaster() { // only allowed when called in - // master branch + // master branch (???) if (QDir(m_customerRepository).exists()) { QString const cp = QString("cp .gitconfig .git/config"); Command c("bash"); @@ -139,9 +125,9 @@ bool GitClient::gitCheckoutBranch() { bool GitClient::gitCloneAndCheckoutBranch() { qInfo() << "CLONE" << m_repositoryPath << "AND CHECKOUT" << m_branchName; if (gitCloneCustomerRepository()) { - if (copyGitConfigFromMaster()) { + //if (copyGitConfigFromMaster()) { return gitCheckoutBranch(); - } + //} } return false; } @@ -191,11 +177,9 @@ std::optional GitClient::gitDiff(QString const &commits) { Hat sich nichts geaendert, so werden auch keine Commits <>..<> angezeigt */ std::optional GitClient::gitFetch() { - QString const &customerRepository - = QDir::cleanPath(m_workingDirectory + QDir::separator() + m_customerId); - if (QDir(customerRepository).exists()) { + if (QDir(m_customerRepository).exists()) { Command c("git fetch"); - if (c.execute(customerRepository)) { + if (c.execute(m_customerRepository)) { QString const s = c.getCommandResult().trimmed(); if (!s.isEmpty()) { QStringList lines = Update::split(s, '\n'); @@ -220,7 +204,7 @@ std::optional GitClient::gitFetch() { } } } else { - qCritical() << "ERROR" << customerRepository << "DOES NOT EXIST"; + qCritical() << "ERROR" << m_customerRepository << "DOES NOT EXIST"; } return std::nullopt; }