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

index ba58da102d2315e20c64775b14a77f8a2c682ca4..3f388174a368d290563d8816e70730a2b4e616cd 100644 (file)
@@ -9,5 +9,5 @@ INCLUDEPATH += .
 QT = core
 
 # Input
-SOURCES += ruleparser.cpp repository.cpp main.cpp
-HEADERS += ruleparser.h repository.h
+SOURCES += ruleparser.cpp repository.cpp svn.cpp main.cpp
+HEADERS += ruleparser.h repository.h svn.h
diff --git a/src/svn.cpp b/src/svn.cpp
new file mode 100644 (file)
index 0000000..6096056
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ *  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 "svn.h"
+#include "repository.h"
+
+typedef QList<Rules::Match> MatchRuleList;
+typedef QHash<QString, Repository *> RepositoryHash;
+
+class SvnPrivate
+{
+public:
+    SvnPrivate(const QString &pathToRepository);
+    ~SvnPrivate();
+    int youngestRevision();
+    void exportRevision(int revnum);
+
+    MatchRuleList matchRules;
+    RepositoryHash repositories;
+};
+
+void Svn::initialize()
+{
+}
+
+Svn::Svn(const QString &pathToRepository)
+    : d(new SvnPrivate(pathToRepository))
+{
+}
+
+Svn::~Svn()
+{
+    delete d;
+}
+
+void Svn::setMatchRules(const MatchRuleList &matchRules)
+{
+    d->matchRules = matchRules;
+}
+
+void Svn::setRepositories(const RepositoryHash &repositories)
+{
+    d->repositories = repositories;
+}
+
+int Svn::youngestRevision()
+{
+    return d->youngestRevision();
+}
+
+void Svn::exportRevision(int revnum)
+{
+    d->exportRevision(revnum);
+}
+
diff --git a/src/svn.h b/src/svn.h
new file mode 100644 (file)
index 0000000..f7c4477
--- /dev/null
+++ b/src/svn.h
@@ -0,0 +1,46 @@
+/*
+ *  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/>.
+ */
+
+#ifndef SVN_H
+#define SVN_H
+
+#include <QHash>
+#include <QList>
+#include "ruleparser.h"
+
+class Repository;
+
+class SvnPrivate;
+class Svn
+{
+public:
+    static void initialize();
+
+    Svn(const QString &pathToRepository);
+    ~Svn();
+
+    void setMatchRules(const QList<Rules::Match> &matchRules);
+    void setRepositories(const QHash<QString, Repository *> &repositories);
+
+    int youngestRevision();
+    void exportRevision(int revnum);
+
+private:
+    SvnPrivate * const d;
+};
+
+#endif
This page took 0.061883 seconds and 5 git commands to generate.