]> andersk Git - svn-all-fast-export.git/blobdiff - src/ruleparser.cpp
remove the source branch in the rules
[svn-all-fast-export.git] / src / ruleparser.cpp
index 3297d77f9820e80d97bd9f660b2864e253376b66..e9a1192901757643e7b2f05cec8d4d7a87ade872 100644 (file)
@@ -48,19 +48,20 @@ void Rules::load()
 
     // initialize the regexps we will use
     QRegExp repoLine("create repository\\s+(\\S+)", Qt::CaseInsensitive);
-    QRegExp repoBranchLine("branch\\s+(\\S+)\\s+from\\s+(\\S+)", Qt::CaseInsensitive);
+    QRegExp repoBranchLine("branch\\s+(\\S+)", Qt::CaseInsensitive);
 
     QRegExp matchLine("match\\s+(.*)", Qt::CaseInsensitive);
     QRegExp matchRepoLine("repository\\s+(\\S+)", Qt::CaseInsensitive);
     QRegExp matchBranchLine("branch\\s+(\\S+)", Qt::CaseInsensitive);
-    QRegExp matchPathLine("path\\s+(.*)", Qt::CaseInsensitive);
     QRegExp matchRevLine("(min|max) revision (\\d+)", Qt::CaseInsensitive);
 
     QTextStream s(&file);
     enum { ReadingNone, ReadingRepository, ReadingMatch } state = ReadingNone;
     Repository repo;
     Match match;
+    int lineNumber = 0;
     while (!s.atEnd()) {
+        ++lineNumber;
         QString origLine = s.readLine();
         QString line = origLine;
 
@@ -75,7 +76,6 @@ void Rules::load()
             if (repoBranchLine.exactMatch(line)) {
                 Repository::Branch branch;
                 branch.name = repoBranchLine.cap(1);
-                branch.branchFrom = repoBranchLine.cap(2);
 
                 repo.branches += branch;
                 continue;
@@ -91,9 +91,6 @@ void Rules::load()
             } else if (matchBranchLine.exactMatch(line)) {
                 match.branch = matchBranchLine.cap(1);
                 continue;
-            } else if (matchPathLine.exactMatch(line)) {
-                match.path = matchPathLine.cap(1);
-                continue;
             } else if (matchRevLine.exactMatch(line)) {
                 if (matchRevLine.cap(1) == "min")
                     match.minRevision = matchRevLine.cap(2).toInt();
@@ -115,13 +112,16 @@ void Rules::load()
             state = ReadingRepository;
             repo = Repository(); // clear
             repo.name = repoLine.cap(1);
+            repo.lineNumber = lineNumber;
         } else if (isMatchRule) {
             // match rule
             state = ReadingMatch;
             match = Match();
             match.rx = QRegExp(matchLine.cap(1), Qt::CaseSensitive, QRegExp::RegExp2);
+            match.lineNumber = lineNumber;
         } else {
-            qFatal("Malformed line in rules file: %s", qPrintable(origLine));
+            qFatal("Malformed line in rules file: line %d: %s",
+                   lineNumber, qPrintable(origLine));
         }
     }
 }
This page took 0.028174 seconds and 4 git commands to generate.