From bb416d33bd42c89e0ca3e7563ff57fe6d77a1bc2 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 28 Dec 2007 13:42:43 +0100 Subject: Implement the identity map --- src/main.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index bf7af76..9ad5477 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -16,6 +16,7 @@ */ #include +#include #include #include @@ -25,6 +26,30 @@ #include "repository.h" #include "svn.h" +QHash loadIdentityMapFile(const QString &fileName) +{ + QHash result; + if (fileName.isEmpty()) + return result; + + QFile file(fileName); + if (!file.open(QIODevice::ReadOnly)) + return result; + + while (!file.atEnd()) { + QByteArray line = file.readLine().trimmed(); + int space = line.indexOf(' '); + if (space == -1) + continue; // invalid line + + QByteArray realname = line.mid(space).trimmed(); + line.truncate(space); + result.insert(line, realname); + }; + + return result; +} + int main(int argc, char **argv) { QCoreApplication app(argc, argv); @@ -54,6 +79,7 @@ int main(int argc, char **argv) Svn svn(options.pathToRepository); svn.setMatchRules(rules.matchRules()); svn.setRepositories(repositories); + svn.setIdentityMap(loadIdentityMapFile(options.options.value("identity-map"))); if (max_rev < 1) max_rev = svn.youngestRevision(); -- cgit v1.2.1