]> andersk Git - svn-all-fast-export.git/commitdiff
Add main.cpp
authorThiago Macieira <thiago@cassini.local.lan>
Sun, 23 Dec 2007 17:00:53 +0000 (15:00 -0200)
committerThiago Macieira <thiago@cassini.local.lan>
Sun, 23 Dec 2007 17:01:44 +0000 (15:01 -0200)
src/main.cpp [new file with mode: 0644]
src/src.pro

diff --git a/src/main.cpp b/src/main.cpp
new file mode 100644 (file)
index 0000000..9d61db8
--- /dev/null
@@ -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;
+}
index e6cff4fe949cc2dc2aa65b7d81523ea00e4a8ab2..ba58da102d2315e20c64775b14a77f8a2c682ca4 100644 (file)
@@ -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
This page took 0.036898 seconds and 5 git commands to generate.