]> andersk Git - svn-all-fast-export.git/blobdiff - src/main.cpp
Add a better option-parser
[svn-all-fast-export.git] / src / main.cpp
index 0b7ab8568253b9e5cdd4b46319b8014ef3ae03d0..a8f4069fb217f38a55d6519cf7140926398c8d30 100644 (file)
 
 #include <stdio.h>
 
+#include "options.h"
 #include "ruleparser.h"
 #include "repository.h"
+#include "svn.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;
-    }
+    Options options;
+    options.parseArguments(app.arguments());
 
     // Load the configuration
-    Rules rules(arguments.at(1));
+    Rules rules(options.ruleFile);
     rules.load();
 
     // create the repository list
@@ -42,6 +41,17 @@ int main(int argc, char **argv)
     foreach (Rules::Repository rule, rules.repositories())
         repositories.insert(rule.name, new Repository(rule));
 
+    Svn::initialize();
+    Svn svn(options.pathToRepository);
+    svn.setMatchRules(rules.matchRules());
+    svn.setRepositories(repositories);
+
+    int max_rev = svn.youngestRevision();
+    for (int i = 1; i <= max_rev; ++i)
+        if (!svn.exportRevision(i))
+            break;
+
+    qDeleteAll(repositories);
     // success
     return 0;
 }
This page took 0.199427 seconds and 4 git commands to generate.