diff --git a/src/cli/Merge.cpp b/src/cli/Merge.cpp index 5bd926eb..b0e4cabc 100644 --- a/src/cli/Merge.cpp +++ b/src/cli/Merge.cpp @@ -78,7 +78,10 @@ int Merge::execute(const QStringList& arguments) QSharedPointer db2; if (!parser.isSet("same-credentials")) { - db2 = Utils::unlockDatabase(args.at(1), parser.value(keyFileFromOption), Utils::STDOUT, Utils::STDERR); + db2 = Utils::unlockDatabase(args.at(1), + parser.value(keyFileFromOption), + parser.isSet(Command::QuietOption) ? Utils::DEVNULL : Utils::STDOUT, + Utils::STDERR); if (!db2) { return EXIT_FAILURE; } diff --git a/tests/TestCli.cpp b/tests/TestCli.cpp index 244ccc18..e2e66c2a 100644 --- a/tests/TestCli.cpp +++ b/tests/TestCli.cpp @@ -883,6 +883,14 @@ void TestCli::testMerge() mergeCmd.execute({"merge", "-q", "-s", sourceFile.fileName(), sourceFile.fileName()}); m_stdoutFile->seek(pos); QCOMPARE(m_stdoutFile->readAll(), QByteArray("")); + + // Quiet option without the -s option + pos = m_stdoutFile->pos(); + Utils::Test::setNextPassword("a"); + Utils::Test::setNextPassword("a"); + mergeCmd.execute({"merge", "-q", sourceFile.fileName(), sourceFile.fileName()}); + m_stdoutFile->seek(pos); + QCOMPARE(m_stdoutFile->readAll(), QByteArray("")); } void TestCli::testRemove()