diff options
author | Thiago Macieira <thiago@cassini.local.lan> | 2007-12-23 15:00:53 -0200 |
---|---|---|
committer | Thiago Macieira <thiago@cassini.local.lan> | 2007-12-23 15:01:44 -0200 |
commit | ae160384ef8ec2acf8bc287c8144dd7f9a8f71ac (patch) | |
tree | 3fbf2ff38188f461e1c2e27f06b29fd13700717a /src/main.cpp | |
parent | 5a7327f691416d3b061318da00fbd85a341f710a (diff) | |
download | svn2git-ae160384ef8ec2acf8bc287c8144dd7f9a8f71ac.tar svn2git-ae160384ef8ec2acf8bc287c8144dd7f9a8f71ac.tar.gz svn2git-ae160384ef8ec2acf8bc287c8144dd7f9a8f71ac.tar.bz2 svn2git-ae160384ef8ec2acf8bc287c8144dd7f9a8f71ac.tar.xz svn2git-ae160384ef8ec2acf8bc287c8144dd7f9a8f71ac.zip |
Add main.cpp
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..9d61db8 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2007 Thiago Macieira <thiago@kde.org> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include <QCoreApplication> +#include <QStringList> + +#include <stdio.h> + +#include "ruleparser.h" +#include "repository.h" + +int main(int argc, char **argv) +{ + QCoreApplication app(argc, argv); + + QStringList arguments = app.arguments(); + if (arguments.count() < 3) { + printf("Usage: svn-all-fast-export configfile path-to-svn\n"); + return 0; + } + + // Load the configuration + Rules rules(arguments.at(1)); + rules.load(); + + // create the repository list + QHash<QString, Repository *> repositories; + foreach (Rules::Repository rule, rules.repositories()) + repositories.insert(rule.name, new Repository(rule)); + + // verify the match rules + foreach (Rules::Match rule, rules.matchRules()) + if (!repositories.contains(rule.repository)) { + fprintf(stderr, "Error: rule \"%s\" references unknown repository \"%s\"\n", + qPrintable(rule.rx.pattern()), qPrintable(rule.repository)); + return 1; + } + + // success + return 0; +} |