]> andersk Git - svn-all-fast-export.git/commitdiff
Remove the recurse rule
authorThiago Macieira <thiago@cassini.local.lan>
Mon, 24 Dec 2007 23:45:58 +0000 (21:45 -0200)
committerThiago Macieira <thiago@cassini.local.lan>
Mon, 24 Dec 2007 23:45:58 +0000 (21:45 -0200)
src/ruleparser.cpp
src/ruleparser.h
src/svn.cpp

index 0f675ddaa20e697721fec4d34b8366cd2aca8b28..e6ba7b5b40dc14ec7eae042663912148c995a389 100644 (file)
@@ -104,8 +104,6 @@ void Rules::load()
                     match.action = Match::Export;
                 else if (action == "ignore")
                     match.action = Match::Ignore;
-                else if (action == "recurse")
-                    match.action = Match::Recurse;
                 else
                     qFatal("Invalid action \"%s\" on line %d", qPrintable(action), lineNumber);
                 continue;
index 9525f1479cdbb7b61982552d3fa06c16e7c58666..d70a39b143b07e99c3a4e262cd3976dd54dd7f79 100644 (file)
@@ -50,8 +50,7 @@ public:
 
         enum Action {
             Ignore,
-            Export,
-            Recurse
+            Export
         } action;
 
         Match() : minRevision(-1), maxRevision(-1), lineNumber(0), action(Ignore) { }
index 615f9e14d7292c42838cba891c69d4b0ca4d40c3..552e50667f7325e5246b438b68285a625aa31cc9 100644 (file)
@@ -160,7 +160,7 @@ int SvnPrivate::openRepository(const QString &pathToRepository)
     return EXIT_SUCCESS;
 }
 
-enum RuleType { AnyRule = 0, NoIgnoreRule = 0x01, NoRecurseRule = 0x02 };
+enum RuleType { AnyRule = 0, NoIgnoreRule = 0x01 };
 
 static MatchRuleList::ConstIterator
 findMatchRule(const MatchRuleList &matchRules, int revnum, const QString &current,
@@ -175,8 +175,6 @@ findMatchRule(const MatchRuleList &matchRules, int revnum, const QString &curren
             continue;
         if (it->action == Rules::Match::Ignore && ruleMask & NoIgnoreRule)
             continue;
-        if (it->action == Rules::Match::Recurse && ruleMask & NoRecurseRule)
-            continue;
         if (it->rx.indexIn(current) == 0)
             return it;
     }
@@ -473,25 +471,7 @@ int SvnRevision::exportEntry(const char *key, const svn_fs_path_change_t *change
     MatchRuleList::ConstIterator match = findMatchRule(matchRules, revnum, current);
     if (match != matchRules.constEnd()) {
         const Rules::Match &rule = *match;
-        switch (rule.action) {
-        case Rules::Match::Ignore:
-            // ignore rule
-            qDebug() << "   " << qPrintable(current) << "rev" << revnum
-                     << "-> ignored (rule" << rule << ")";
-            return EXIT_SUCCESS;
-
-        case Rules::Match::Recurse:
-            // recurse rule
-            if (is_dir)
-                return recurse(key, change, path_from, rev_from, revpool);
-            if (change->change_kind != svn_fs_path_change_delete)
-                qWarning() << "   recurse rule" << rule
-                           << "applied to non-directory:" << qPrintable(current);
-            return EXIT_SUCCESS;
-
-        case Rules::Match::Export:
-            return exportInternal(key, change, path_from, rev_from, current, rule);
-        }
+        return exportInternal(key, change, path_from, rev_from, current, rule);
     }
 
     if (is_dir && path_from != NULL) {
@@ -513,6 +493,13 @@ int SvnRevision::exportInternal(const char *key, const svn_fs_path_change_t *cha
                                 const char *path_from, svn_revnum_t rev_from,
                                 const QString &current, const Rules::Match &rule)
 {
+    if (rule.action == Rules::Match::Ignore) {
+        // ignore rule
+        qDebug() << "   " << qPrintable(current) << "rev" << revnum
+                 << "-> ignored (rule" << rule << ")";
+        return EXIT_SUCCESS;
+    }
+
     QString svnprefix, repository, branch, path;
     splitPathName(rule, current, &svnprefix, &repository, &branch, &path);
 
@@ -524,7 +511,7 @@ int SvnRevision::exportInternal(const char *key, const svn_fs_path_change_t *cha
     if (path.isEmpty() && path_from != NULL) {
         QString previous = QString::fromUtf8(path_from) + '/';
         MatchRuleList::ConstIterator prevmatch =
-            findMatchRule(matchRules, rev_from, previous, NoRecurseRule | NoIgnoreRule);
+            findMatchRule(matchRules, rev_from, previous, NoIgnoreRule);
         if (prevmatch != matchRules.constEnd()) {
             QString prevsvnprefix, prevrepository, prevbranch, prevpath;
             splitPathName(*prevmatch, previous, &prevsvnprefix, &prevrepository,
This page took 0.035836 seconds and 5 git commands to generate.