#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
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;
}