aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorThiago Macieira <thiago@cassini.local.lan>2007-12-23 15:00:53 -0200
committerThiago Macieira <thiago@cassini.local.lan>2007-12-23 15:01:44 -0200
commitae160384ef8ec2acf8bc287c8144dd7f9a8f71ac (patch)
tree3fbf2ff38188f461e1c2e27f06b29fd13700717a /src
parent5a7327f691416d3b061318da00fbd85a341f710a (diff)
downloadsvn2git-ae160384ef8ec2acf8bc287c8144dd7f9a8f71ac.tar
svn2git-ae160384ef8ec2acf8bc287c8144dd7f9a8f71ac.tar.gz
svn2git-ae160384ef8ec2acf8bc287c8144dd7f9a8f71ac.tar.bz2
svn2git-ae160384ef8ec2acf8bc287c8144dd7f9a8f71ac.tar.xz
svn2git-ae160384ef8ec2acf8bc287c8144dd7f9a8f71ac.zip
Add main.cpp
Diffstat (limited to 'src')
-rw-r--r--src/main.cpp55
-rw-r--r--src/src.pro4
2 files changed, 57 insertions, 2 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;
+}
diff --git a/src/src.pro b/src/src.pro
index e6cff4f..ba58da1 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -3,11 +3,11 @@
######################################################################
TEMPLATE = app
-TARGET =
+TARGET = ../svn-all-fast-export
DEPENDPATH += .
INCLUDEPATH += .
QT = core
# Input
-SOURCES += ruleparser.cpp repository.cpp
+SOURCES += ruleparser.cpp repository.cpp main.cpp
HEADERS += ruleparser.h repository.h