]> andersk Git - svn-all-fast-export.git/blobdiff - src/repository.h
Fix a bug when committing to two branches of the same repository in the same SVN revision
[svn-all-fast-export.git] / src / repository.h
index c0556c712a7d3c3b4461a9cad059e33d68d48977..c5e70fe0b44276065c9ce99f9f482814ed7649ab 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:
@@ -62,18 +57,29 @@ 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);
 
 private:
     struct Branch
     {
-        QString branchFrom;
-        bool isCreated;
+        int created;
     };
 
     QHash<QString, Branch> branches;
+    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.133024 seconds and 4 git commands to generate.