aboutsummaryrefslogtreecommitdiffstats
path: root/src/repository.h
diff options
context:
space:
mode:
authorThiago Macieira <thiago@cassini.local.lan>2007-12-23 18:07:12 -0200
committerThiago Macieira <thiago@cassini.local.lan>2007-12-23 18:07:12 -0200
commitaf0103861eb05f1bd2d5136563d6d6b339836f24 (patch)
tree89fdf8560b92a483f42e09f472f6f4c480f67061 /src/repository.h
parentd3e9398dcac3674405d406a0304f38128c9b392a (diff)
downloadsvn2git-af0103861eb05f1bd2d5136563d6d6b339836f24.tar
svn2git-af0103861eb05f1bd2d5136563d6d6b339836f24.tar.gz
svn2git-af0103861eb05f1bd2d5136563d6d6b339836f24.tar.bz2
svn2git-af0103861eb05f1bd2d5136563d6d6b339836f24.tar.xz
svn2git-af0103861eb05f1bd2d5136563d6d6b339836f24.zip
Add SVN code
Diffstat (limited to 'src/repository.h')
-rw-r--r--src/repository.h43
1 files changed, 39 insertions, 4 deletions
diff --git a/src/repository.h b/src/repository.h
index 7779bdf..cd50cdc 100644
--- a/src/repository.h
+++ b/src/repository.h
@@ -26,18 +26,53 @@
class Repository
{
public:
- struct Branch
+ class Transaction
{
- QString branchFrom;
- bool isCreated;
- };
+ Q_DISABLE_COPY(Transaction)
+ friend class Repository;
+ struct FileProperties {
+ int mode;
+ int mark;
+ };
+
+ Repository *repository;
+ QByteArray branchRef;
+ QByteArray svnprefix;
+ QByteArray author;
+ QByteArray log;
+ uint datetime;
+ int revnum;
+ QStringList deletedFiles;
+ QHash<QString, FileProperties> modifiedFiles;
+
+ public:
+ ~Transaction();
+ void commit();
+
+ void setAuthor(const QByteArray &author);
+ void setDateTime(uint dt);
+ void setLog(const QByteArray &log);
+
+ void deleteFile(const QString &path);
+ QIODevice *addFile(const QString &path, int mode, qint64 length);
+ };
Repository(const Rules::Repository &rule);
~Repository();
+ Transaction *newTransaction(const QString &branch, const QString &svnprefix, int revnum);
+
private:
+ struct Branch
+ {
+ QString branchFrom;
+ bool isCreated;
+ };
+
QHash<QString, Branch> branches;
QProcess fastImport;
+
+ Q_DISABLE_COPY(Repository)
};
#endif