]> 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 4160d3faf9a3ba48b255edde2c64a2e3a2bacf18..ad235599f471ea657dac111b73c630fd8d002458 100644 (file)
@@ -30,10 +30,6 @@ public:
     {
         Q_DISABLE_COPY(Transaction)
         friend class Repository;
-        struct FileProperties {
-            int mode;
-            int mark;
-        };
 
         Repository *repository;
         QByteArray branch;
@@ -42,10 +38,9 @@ public:
         QByteArray log;
         uint datetime;
         int revnum;
-        int lastmark;
 
         QStringList deletedFiles;
-        QHash<QString, FileProperties> modifiedFiles;
+        QByteArray modifiedFiles;
 
         inline Transaction() {}
     public:
@@ -63,21 +58,43 @@ public:
     ~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.037631 seconds and 4 git commands to generate.