Skip to content

Commit a5140f9

Browse files
committed
fix a lot of -Wclazy-qstring-allocations
1 parent 9ee3e3d commit a5140f9

File tree

7 files changed

+90
-76
lines changed

7 files changed

+90
-76
lines changed

src/CommandLineParser.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ void CommandLineParser::Private::parse()
184184
else if (!clp->undefinedOptions.contains(option.option))
185185
clp->undefinedOptions << option.option;
186186
else
187-
clp->errors.append(QLatin1String("Not enough arguments passed for option `")
187+
clp->errors.append(QStringLiteral("Not enough arguments passed for option `")
188188
+ option.option +QLatin1Char('\''));
189189
}
190190
option.option.clear();
@@ -260,7 +260,7 @@ void CommandLineParser::Private::parse()
260260
processor.next(option);
261261

262262
if (requiredArguments > arguments.count())
263-
errors.append(QLatin1String("Not enough arguments, usage: ") + QString::fromLocal8Bit(argumentStrings[0])
263+
errors.append(QStringLiteral("Not enough arguments, usage: ") + QString::fromLocal8Bit(argumentStrings[0])
264264
+ QLatin1Char(' ') + argumentDefinition);
265265

266266
/*
@@ -372,6 +372,12 @@ bool CommandLineParser::contains(const QString & key) const
372372
return d->options.contains(key);
373373
}
374374

375+
bool CommandLineParser::contains(const QLatin1String & key) const
376+
{
377+
d->parse();
378+
return d->options.contains(key);
379+
}
380+
375381
QStringList CommandLineParser::arguments() const
376382
{
377383
d->parse();

src/CommandLineParser.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,14 @@ class CommandLineParser
7272
*/
7373
bool contains(const QString & key) const;
7474

75+
/**
76+
* returns true if the option was found.
77+
* Consider the following definition "--expert level" The user can type as an argument
78+
* "--expert 10". Calling contains("expert") will return true.
79+
* @see optionArgument()
80+
*/
81+
bool contains(const QLatin1String & key) const;
82+
7583
/// returns the list of items that are not options, note that the first one is the name of the command called
7684
QStringList arguments() const;
7785

src/main.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ QSet<int> loadRevisionsFile( const QString &fileName, Svn &svn )
110110
continue;
111111
}
112112
int lastrev = 0;
113-
if(revint.cap(2) == "HEAD") {
113+
if(revint.cap(2) == QLatin1String("HEAD")) {
114114
lastrev = svn.youngestRevision();
115115
ok = true;
116116
} else {
@@ -170,11 +170,11 @@ int main(int argc, char **argv)
170170
return 0;
171171
}
172172
if (args->contains(QLatin1String("help"))) {
173-
args->usage(QString(), "--rules RULES_FILE SVN_REPO_DIR/");
173+
args->usage(QString(), QStringLiteral("--rules RULES_FILE SVN_REPO_DIR/"));
174174
return 0;
175175
}
176176
if (args->arguments().count() != 1) {
177-
args->usage(QString(), "--rules RULES_FILE SVN_REPO_DIR/");
177+
args->usage(QString(), QStringLiteral("--rules RULES_FILE SVN_REPO_DIR/"));
178178
return 12;
179179
}
180180
if (args->undefinedOptions().count()) {
@@ -189,23 +189,23 @@ int main(int argc, char **argv)
189189
}
190190
return 10;
191191
}
192-
if (!args->contains("rules")) {
192+
if (!args->contains(QLatin1String("rules"))) {
193193
QTextStream out(stderr);
194194
out << "svn-all-fast-export failed: please specify the rules using the 'rules' argument\n";
195195
return 11;
196196
}
197-
if (!args->contains("identity-map") && !args->contains("identity-domain")) {
197+
if (!args->contains(QLatin1String("identity-map")) && !args->contains(QLatin1String("identity-domain"))) {
198198
QTextStream out(stderr);
199199
out << "WARNING; no identity-map or -domain specified, all commits will use default @localhost email address\n\n";
200200
}
201201

202202
QCoreApplication app(argc, argv);
203203
// Load the configuration
204-
RulesList rulesList(args->optionArgument(QLatin1String("rules")));
204+
RulesList rulesList(args->optionArgument(QStringLiteral("rules")));
205205
rulesList.load();
206206

207-
int resume_from = args->optionArgument(QLatin1String("resume-from")).toInt();
208-
int max_rev = args->optionArgument(QLatin1String("max-rev")).toInt();
207+
int resume_from = args->optionArgument(QStringLiteral("resume-from")).toInt();
208+
int max_rev = args->optionArgument(QStringLiteral("max-rev")).toInt();
209209

210210
// create the repository list
211211
QHash<QString, Repository *> repositories;
@@ -263,9 +263,9 @@ int main(int argc, char **argv)
263263
Svn svn(args->arguments().constFirst());
264264
svn.setMatchRules(rulesList.allMatchRules());
265265
svn.setRepositories(repositories);
266-
svn.setIdentityMap(loadIdentityMapFile(args->optionArgument("identity-map")));
266+
svn.setIdentityMap(loadIdentityMapFile(args->optionArgument(QStringLiteral("identity-map"))));
267267
// Massage user input a little, no guarantees that input makes sense.
268-
QString domain = args->optionArgument("identity-domain").simplified().remove(QChar('@'));
268+
QString domain = args->optionArgument(QStringLiteral("identity-domain")).simplified().remove(QChar('@'));
269269
if (domain.isEmpty())
270270
domain = QString("localhost");
271271
svn.setIdentityDomain(domain);
@@ -274,7 +274,7 @@ int main(int argc, char **argv)
274274
max_rev = svn.youngestRevision();
275275

276276
bool errors = false;
277-
QSet<int> revisions = loadRevisionsFile(args->optionArgument(QLatin1String("revisions-file")), svn);
277+
QSet<int> revisions = loadRevisionsFile(args->optionArgument(QStringLiteral("revisions-file")), svn);
278278
const bool filerRevisions = !revisions.isEmpty();
279279
for (int i = min_rev; i <= max_rev; ++i) {
280280
if(filerRevisions) {

src/repository.cpp

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ FastImportRepository::FastImportRepository(const Rules::Repository &rule)
329329

330330
// create the defaultBranch from the config
331331
QProcess config;
332-
config.start("git", QStringList() << "config" << "init.defaultBranch");
332+
config.start(QStringLiteral("git"), QStringList() << QStringLiteral("config") << QStringLiteral("init.defaultBranch"));
333333
config.waitForFinished(-1);
334334
defaultBranch = QString(config.readAllStandardOutput()).trimmed();
335335

@@ -340,22 +340,22 @@ FastImportRepository::FastImportRepository(const Rules::Repository &rule)
340340

341341
branches[defaultBranch].created = 1;
342342

343-
if (!CommandLineParser::instance()->contains("dry-run") && !CommandLineParser::instance()->contains("create-dump")) {
343+
if (!CommandLineParser::instance()->contains(QStringLiteral("dry-run")) && !CommandLineParser::instance()->contains(QStringLiteral("create-dump"))) {
344344
fastImport.setWorkingDirectory(name);
345345
if (!QDir(name).exists()) { // repo doesn't exist yet.
346346
qDebug() << "Creating new repository" << name;
347347
QDir::current().mkpath(name);
348348
QProcess init;
349349
init.setWorkingDirectory(name);
350-
init.start("git", QStringList() << "--bare" << "init");
350+
init.start(QStringLiteral("git"), QStringList() << QStringLiteral("--bare") << QStringLiteral("init"));
351351
init.waitForFinished(-1);
352352
QProcess casesensitive;
353353
casesensitive.setWorkingDirectory(name);
354-
casesensitive.start("git", QStringList() << "config" << "core.ignorecase" << "false");
354+
casesensitive.start(QStringLiteral("git"), QStringList() << QStringLiteral("config") << QStringLiteral("core.ignorecase") << QStringLiteral("false"));
355355
casesensitive.waitForFinished(-1);
356356
// Write description
357357
if (!rule.description.isEmpty()) {
358-
QFile fDesc(QDir(name).filePath("description"));
358+
QFile fDesc(QDir(name).filePath(QStringLiteral("description")));
359359
if (fDesc.open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text)) {
360360
fDesc.write(rule.description.toUtf8());
361361
fDesc.putChar('\n');
@@ -374,7 +374,7 @@ FastImportRepository::FastImportRepository(const Rules::Repository &rule)
374374
static QString logFileName(QString name)
375375
{
376376
name.replace('/', '_');
377-
if (CommandLineParser::instance()->contains("create-dump"))
377+
if (CommandLineParser::instance()->contains(QStringLiteral("create-dump")))
378378
name.append(".fi");
379379
else
380380
name.prepend("log-");
@@ -551,7 +551,7 @@ FastImportRepository::~FastImportRepository()
551551
void FastImportRepository::closeFastImport()
552552
{
553553
if (fastImport.state() != QProcess::NotRunning) {
554-
int fastImportTimeout = CommandLineParser::instance()->optionArgument(QLatin1String("fast-import-timeout"), QLatin1String("30")).toInt();
554+
int fastImportTimeout = CommandLineParser::instance()->optionArgument(QStringLiteral("fast-import-timeout"), QStringLiteral("30")).toInt();
555555
if(fastImportTimeout == 0) {
556556
qDebug() << "Waiting forever for fast-import to finish.";
557557
fastImportTimeout = -1;
@@ -595,7 +595,7 @@ void FastImportRepository::reloadBranches()
595595
}
596596

597597
if (reset_notes &&
598-
CommandLineParser::instance()->contains("add-metadata-notes")) {
598+
CommandLineParser::instance()->contains(QStringLiteral("add-metadata-notes"))) {
599599

600600
startFastImport();
601601
fastImport.write("reset refs/notes/commits\nfrom :" +
@@ -724,7 +724,7 @@ void FastImportRepository::commit()
724724
QString tagName = *it;
725725
if (resetBranchNames.contains(tagName))
726726
continue;
727-
if (tagName.startsWith("refs/tags/"))
727+
if (tagName.startsWith(QLatin1String("refs/tags/")))
728728
tagName.remove(0, 10);
729729
if (annotatedTags.remove(tagName) > 0) {
730730
qDebug() << "Removing annotated tag" << tagName << "for" << name;
@@ -749,7 +749,7 @@ Repository::Transaction *FastImportRepository::newTransaction(const QString &bra
749749
txn->datetime = 0;
750750
txn->revnum = revnum;
751751

752-
if ((++commitCount % CommandLineParser::instance()->optionArgument(QLatin1String("commit-interval"), QLatin1String("10000")).toInt()) == 0) {
752+
if ((++commitCount % CommandLineParser::instance()->optionArgument(QStringLiteral("commit-interval"), QStringLiteral("10000")).toInt()) == 0) {
753753
startFastImport();
754754
// write everything to disk every 10000 commits
755755
fastImport.write("checkpoint\n");
@@ -771,7 +771,7 @@ void FastImportRepository::createAnnotatedTag(const QString &ref, const QString
771771
const QByteArray &log)
772772
{
773773
QString tagName = ref;
774-
if (tagName.startsWith("refs/tags/"))
774+
if (tagName.startsWith(QLatin1String("refs/tags/")))
775775
tagName.remove(0, 10);
776776

777777
if (!annotatedTags.contains(tagName))
@@ -810,7 +810,7 @@ void FastImportRepository::finalizeTags()
810810
QByteArray message = tag.log;
811811
if (!message.endsWith('\n'))
812812
message += '\n';
813-
if (CommandLineParser::instance()->contains("add-metadata"))
813+
if (CommandLineParser::instance()->contains(QStringLiteral("add-metadata")))
814814
message += "\n" + formatMetadataMessage(tag.svnprefix, tag.revnum, tagName.toUtf8());
815815

816816
{
@@ -833,7 +833,7 @@ void FastImportRepository::finalizeTags()
833833

834834
// Append note to the tip commit of the supporting ref. There is no
835835
// easy way to attach a note to the tag itself with fast-import.
836-
if (CommandLineParser::instance()->contains("add-metadata-notes")) {
836+
if (CommandLineParser::instance()->contains(QStringLiteral("add-metadata-notes"))) {
837837
Repository::Transaction *txn = newTransaction(tag.supportingRef, tag.svnprefix, tag.revnum);
838838
txn->setAuthor(tag.author);
839839
txn->setDateTime(tag.dt);
@@ -859,7 +859,7 @@ void FastImportRepository::saveBranchNotes()
859859
if (branchNotes.isEmpty())
860860
return;
861861

862-
QFile branchNotesFile(name + "/" + branchNotesFileName(name));
862+
QFile branchNotesFile(name + QStringLiteral("/") + branchNotesFileName(name));
863863
branchNotesFile.open(QIODevice::WriteOnly);
864864
QDataStream branchNotesStream(&branchNotesFile);
865865
branchNotesStream << branchNotes;
@@ -875,7 +875,7 @@ FastImportRepository::msgFilter(QByteArray msg)
875875
if (filterMsg.state() == QProcess::Running)
876876
qFatal("filter process already running?");
877877

878-
filterMsg.start(CommandLineParser::instance()->optionArgument("msg-filter"));
878+
filterMsg.start(CommandLineParser::instance()->optionArgument(QStringLiteral("msg-filter")));
879879

880880
if(!(filterMsg.waitForStarted(-1)))
881881
qFatal("Failed to Start Filter %d %s", __LINE__, qPrintable(filterMsg.errorString()));
@@ -900,17 +900,17 @@ void FastImportRepository::startFastImport()
900900
// start the process
901901
QString marksFile = marksFileName(name);
902902
QStringList marksOptions;
903-
marksOptions << "--import-marks=" + marksFile;
904-
marksOptions << "--export-marks=" + marksFile;
905-
marksOptions << "--force";
903+
marksOptions << QStringLiteral("--import-marks=") + marksFile;
904+
marksOptions << QStringLiteral("--export-marks=") + marksFile;
905+
marksOptions << QStringLiteral("--force");
906906

907907
fastImport.setStandardOutputFile(logFileName(name), QIODevice::Append);
908908
fastImport.setProcessChannelMode(QProcess::MergedChannels);
909909

910-
if (!CommandLineParser::instance()->contains("dry-run") && !CommandLineParser::instance()->contains("create-dump")) {
911-
fastImport.start("git", QStringList() << "fast-import" << marksOptions);
910+
if (!CommandLineParser::instance()->contains(QStringLiteral("dry-run")) && !CommandLineParser::instance()->contains(QStringLiteral("create-dump"))) {
911+
fastImport.start(QStringLiteral("git"), QStringList() << QStringLiteral("fast-import") << marksOptions);
912912
} else {
913-
fastImport.start("cat", QStringList());
913+
fastImport.start(QStringLiteral("cat"), QStringList());
914914
}
915915
fastImport.waitForStarted(-1);
916916

@@ -1033,7 +1033,7 @@ QIODevice *FastImportRepository::Transaction::addFile(const QString &path, int m
10331033

10341034
// it is returned for being written to, so start the process in any case
10351035
repository->startFastImport();
1036-
if (!CommandLineParser::instance()->contains("dry-run")) {
1036+
if (!CommandLineParser::instance()->contains(QStringLiteral("dry-run"))) {
10371037
repository->fastImport.writeNoLog("blob\nmark :");
10381038
repository->fastImport.writeNoLog(QByteArray::number(mark));
10391039
repository->fastImport.writeNoLog("\ndata ");
@@ -1124,7 +1124,7 @@ int FastImportRepository::Transaction::commit()
11241124
QByteArray message = log;
11251125
if (!message.endsWith('\n'))
11261126
message += '\n';
1127-
if (CommandLineParser::instance()->contains("add-metadata"))
1127+
if (CommandLineParser::instance()->contains(QStringLiteral("add-metadata")))
11281128
message += "\n" + Repository::formatMetadataMessage(svnprefix, revnum);
11291129

11301130
// Call external message filter if provided
@@ -1192,7 +1192,7 @@ int FastImportRepository::Transaction::commit()
11921192
}
11931193
}
11941194
// write the file deletions
1195-
if (deletedFiles.contains(""))
1195+
if (deletedFiles.contains(QLatin1String("")))
11961196
repository->fastImport.write("deleteall\n");
11971197
else
11981198
foreach (QString df, deletedFiles)
@@ -1210,7 +1210,7 @@ int FastImportRepository::Transaction::commit()
12101210
qPrintable(repository->name), branch.data());
12111211

12121212
// Commit metadata note if requested
1213-
if (CommandLineParser::instance()->contains("add-metadata-notes"))
1213+
if (CommandLineParser::instance()->contains(QStringLiteral("add-metadata-notes")))
12141214
commitNote(Repository::formatMetadataMessage(svnprefix, revnum), false);
12151215

12161216
while (repository->fastImport.bytesToWrite())

src/repository.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class LoggingQProcess : public QProcess
3232
bool logging;
3333
public:
3434
LoggingQProcess(const QString filename) : QProcess(), log() {
35-
if(CommandLineParser::instance()->contains("debug-rules")) {
35+
if(CommandLineParser::instance()->contains(QStringLiteral("debug-rules"))) {
3636
logging = true;
3737
QString name = filename;
3838
name.replace('/', '_');

src/ruleparser.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ void Rules::load(const QString &filename)
173173

174174
bool isIncludeRule = includeLine.exactMatch(line);
175175
if (isIncludeRule) {
176-
int index = filename.lastIndexOf("/");
176+
int index = filename.lastIndexOf('/');
177177
QString includeFile = filename.left( index + 1) + includeLine.cap(1);
178178
load(includeFile);
179179
} else {
@@ -206,7 +206,7 @@ void Rules::load(const QString &filename)
206206
} else if (matchPrefixLine.exactMatch(line)) {
207207
repo.prefix = matchPrefixLine.cap(1);
208208
continue;
209-
} else if (line == "end repository") {
209+
} else if (line == QLatin1String("end repository")) {
210210
if (!repo.forwardTo.isEmpty()
211211
&& !repo.description.isEmpty()) {
212212

@@ -252,7 +252,7 @@ void Rules::load(const QString &filename)
252252
match.branch_substs += subst;
253253
continue;
254254
} else if (matchRevLine.exactMatch(line)) {
255-
if (matchRevLine.cap(1) == "min")
255+
if (matchRevLine.cap(1) == QLatin1String("min"))
256256
match.minRevision = matchRevLine.cap(2).toInt();
257257
else // must be max
258258
match.maxRevision = matchRevLine.cap(2).toInt();
@@ -264,19 +264,19 @@ void Rules::load(const QString &filename)
264264
continue;
265265
} else if (matchActionLine.exactMatch(line)) {
266266
QString action = matchActionLine.cap(1);
267-
if (action == "export")
267+
if (action == QLatin1String("export"))
268268
match.action = Match::Export;
269-
else if (action == "ignore")
269+
else if (action == QLatin1String("ignore"))
270270
match.action = Match::Ignore;
271-
else if (action == "recurse")
271+
else if (action == QLatin1String("recurse"))
272272
match.action = Match::Recurse;
273273
else
274274
qFatal("Invalid action \"%s\" on line %d", qPrintable(action), lineNumber);
275275
continue;
276276
} else if (matchAnnotateLine.exactMatch(line)) {
277-
match.annotate = matchAnnotateLine.cap(1) == "true";
277+
match.annotate = matchAnnotateLine.cap(1) == QLatin1String("true");
278278
continue;
279-
} else if (line == "end match") {
279+
} else if (line == QLatin1String("end match")) {
280280
if (!match.repository.isEmpty())
281281
match.action = Match::Export;
282282
m_matchRules += match;
@@ -336,7 +336,7 @@ class Stats::Private
336336

337337
Stats::Stats() : d(new Private())
338338
{
339-
use = CommandLineParser::instance()->contains("stats");
339+
use = CommandLineParser::instance()->contains(QStringLiteral("stats"));
340340
}
341341

342342
Stats::~Stats()

0 commit comments

Comments
 (0)