aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago@cassini.local.lan>2007-12-24 11:11:50 -0200
committerThiago Macieira <thiago@cassini.local.lan>2007-12-24 11:11:50 -0200
commit1a6887295271402341658c9d0c3a17fa8bd891da (patch)
treea1edc5051306832e65f6083548ef084663f61dc1 /src/main.cpp
parentb0fb9f085e51abc93f2069645ee33aeed0b6b093 (diff)
downloadsvn2git-1a6887295271402341658c9d0c3a17fa8bd891da.tar
svn2git-1a6887295271402341658c9d0c3a17fa8bd891da.tar.gz
svn2git-1a6887295271402341658c9d0c3a17fa8bd891da.tar.bz2
svn2git-1a6887295271402341658c9d0c3a17fa8bd891da.tar.xz
svn2git-1a6887295271402341658c9d0c3a17fa8bd891da.zip
Add support for resuming work
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/main.cpp b/src/main.cpp
index a8f4069..2ce11c5 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -36,10 +36,18 @@ int main(int argc, char **argv)
Rules rules(options.ruleFile);
rules.load();
+ int min_rev = options.options.value("resume-from").toInt();
+ if (min_rev < 1)
+ min_rev = 1;
+
// create the repository list
QHash<QString, Repository *> repositories;
- foreach (Rules::Repository rule, rules.repositories())
- repositories.insert(rule.name, new Repository(rule));
+ foreach (Rules::Repository rule, rules.repositories()) {
+ Repository *repo = new Repository(rule);
+ if (min_rev > 1)
+ repo->reloadBranches();
+ repositories.insert(rule.name, repo);
+ }
Svn::initialize();
Svn svn(options.pathToRepository);
@@ -47,7 +55,7 @@ int main(int argc, char **argv)
svn.setRepositories(repositories);
int max_rev = svn.youngestRevision();
- for (int i = 1; i <= max_rev; ++i)
+ for (int i = min_rev; i <= max_rev; ++i)
if (!svn.exportRevision(i))
break;