aboutsummaryrefslogtreecommitdiffstats
path: root/src/svn.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/svn.cpp')
-rw-r--r--src/svn.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/svn.cpp b/src/svn.cpp
index d95ccb3..32beb89 100644
--- a/src/svn.cpp
+++ b/src/svn.cpp
@@ -832,8 +832,6 @@ int SvnRevision::recurse(const char *path, const svn_fs_path_change_t *change,
apr_hash_this(i, &vkey, NULL, &value);
svn_fs_dirent_t *dirent = reinterpret_cast<svn_fs_dirent_t *>(value);
- if (dirent->kind != svn_node_dir)
- continue; // not a directory, so can't recurse; skip
QByteArray entry = path + QByteArray("/") + dirent->name;
QByteArray entryFrom;
@@ -860,11 +858,13 @@ int SvnRevision::recurse(const char *path, const svn_fs_path_change_t *change,
rev_from, changes, current, *match, matchRules, dirpool) == EXIT_FAILURE)
return EXIT_FAILURE;
} else {
- qDebug() << current << "rev" << revnum
- << "did not match any rules; auto-recursing";
- if (recurse(entry, change, entryFrom.isNull() ? 0 : entryFrom.constData(),
- matchRules, rev_from, changes, dirpool) == EXIT_FAILURE)
- return EXIT_FAILURE;
+ if (dirent->kind == svn_node_dir) {
+ qDebug() << current << "rev" << revnum
+ << "did not match any rules; auto-recursing";
+ if (recurse(entry, change, entryFrom.isNull() ? 0 : entryFrom.constData(),
+ matchRules, rev_from, changes, dirpool) == EXIT_FAILURE)
+ return EXIT_FAILURE;
+ }
}
}