]> andersk Git - svn-all-fast-export.git/blobdiff - src/repository.h
Add support for annotated tags
[svn-all-fast-export.git] / src / repository.h
index cd50cdc0439a9bde255457a167c7b593fe520c4e..ad235599f471ea657dac111b73c630fd8d002458 100644 (file)
@@ -30,13 +30,9 @@ public:
     {
         Q_DISABLE_COPY(Transaction)
         friend class Repository;
-        struct FileProperties {
-            int mode;
-            int mark;
-        };
 
         Repository *repository;
-        QByteArray branchRef;
+        QByteArray branch;
         QByteArray svnprefix;
         QByteArray author;
         QByteArray log;
@@ -44,8 +40,9 @@ public:
         int revnum;
 
         QStringList deletedFiles;
-        QHash<QString, FileProperties> modifiedFiles;
+        QByteArray modifiedFiles;
 
+        inline Transaction() {}
     public:
         ~Transaction();
         void commit();
@@ -60,18 +57,44 @@ public:
     Repository(const Rules::Repository &rule);
     ~Repository();
 
+    void reloadBranches();
+    void createBranch(const QString &branch, int revnum,
+                      const QString &branchFrom, int revFrom);
     Transaction *newTransaction(const QString &branch, const QString &svnprefix, int revnum);
 
+    void createAnnotatedTag(const QString &name, const QString &svnprefix, int revnum,
+                            const QByteArray &author, uint dt,
+                            const QByteArray &log);
+    void finalizeTags();
+
 private:
     struct Branch
     {
-        QString branchFrom;
-        bool isCreated;
+        int created;
+    };
+    struct AnnotatedTag
+    {
+        QString supportingRef;
+        QByteArray svnprefix;
+        QByteArray author;
+        QByteArray log;
+        uint dt;
+        int revnum;
     };
 
     QHash<QString, Branch> branches;
+    QHash<QString, AnnotatedTag> annotatedTags;
+    QString name;
     QProcess fastImport;
+    int commitCount;
+    int outstandingTransactions;
+    int lastmark;
+    bool processHasStarted;
+
+    void startFastImport();
+    void closeFastImport();
 
+    friend class ProcessCache;
     Q_DISABLE_COPY(Repository)
 };
 
This page took 0.040167 seconds and 4 git commands to generate.