Use defined codes and strings.

This commit is contained in:
Gerhard Hoffmann 2025-02-21 12:37:00 +01:00
parent 5d3849dcf3
commit 96e3b606ef
3 changed files with 26 additions and 2 deletions

View File

@ -50,12 +50,17 @@ GitCommand::GitCommand()
} }
bool GitCommand::exec(QStringList const &options, int start_timeout, int finish_timeout) { bool GitCommand::exec(QStringList const &options, int start_timeout, int finish_timeout) {
bool ret = false;
if (GitCommand::initEnv) { if (GitCommand::initEnv) {
Command cmd(QString("git"), options, m_workingDirectory, Command cmd(QString("git"), options, m_workingDirectory,
start_timeout, finish_timeout); start_timeout, finish_timeout);
return cmd.exec(); ret = cmd.exec();
//qCritical() << __func__ << ":" << __LINE__ << cmd.command()
// << "," << cmd.args()
// << ", result" << cmd.commandResult();
m_commandResult = cmd.commandResult();
} }
return 0; return ret;
} }
bool GitCommand::check(int start_timeout, int finish_timeout) { bool GitCommand::check(int start_timeout, int finish_timeout) {

View File

@ -11,9 +11,14 @@ class GitCommand {
bool exec(QStringList const &options, int start_timeout = 100000, bool exec(QStringList const &options, int start_timeout = 100000,
int finish_timeout = 100000); int finish_timeout = 100000);
QString m_commandResult{};
public: public:
GitCommand(); GitCommand();
void resetCommandResult() { m_commandResult.clear(); }
QString const &commandResult() const { return m_commandResult; }
bool status(int start_timeout = 100000, int finish_timeout = 100000); bool status(int start_timeout = 100000, int finish_timeout = 100000);
bool check(int start_timeout = 100000, int finish_timeout = 100000); bool check(int start_timeout = 100000, int finish_timeout = 100000);

View File

@ -15,6 +15,7 @@
#include <QRegularExpression> #include <QRegularExpression>
#include <QFile> #include <QFile>
#include <QTextStream> #include <QTextStream>
#include <QRegularExpression>
#include <optional> #include <optional>
@ -90,6 +91,19 @@ int main(int argc, char **argv) {
if (!gitCmd.pull()) { if (!gitCmd.pull()) {
return -4; return -4;
} }
QString const result = gitCmd.commandResult().trimmed();
if (result.contains("Already", Qt::CaseInsensitive)
&& result.contains("up", Qt::CaseInsensitive)
&& result.contains("to", Qt::CaseInsensitive)
&& result.contains("date", Qt::CaseInsensitive)) {
qCritical() << internal::GIT_CUSTOMER_REPO_NO_UPDATE_NECESSARY;
return internal::GIT_NOT_NECESSARY_CODE;
} else
if (result.contains(QRegularExpression("[Uu]pdating\\s+[a-z0-9]{6,}\\.\\.[a-z0-9]{6,}"))) {
// Updating 49a97f5..13a0321
qCritical() << internal::GIT_CUSTOMER_REPO_UPDATED;
return internal::GIT_UPDATED_CODE;
}
} else { } else {
if (!gitCmd.clone()) { if (!gitCmd.clone()) {
return -3; return -3;