Skip to content

Commit c59389c

Browse files
committed
Match rules for files below a recursion
1 parent 371abec commit c59389c

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/svn.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -833,8 +833,6 @@ int SvnRevision::recurse(const char *path, const svn_fs_path_change_t *change,
833833
apr_hash_this(i, &vkey, NULL, &value);
834834

835835
svn_fs_dirent_t *dirent = reinterpret_cast<svn_fs_dirent_t *>(value);
836-
if (dirent->kind != svn_node_dir)
837-
continue; // not a directory, so can't recurse; skip
838836

839837
QByteArray entry = path + QByteArray("/") + dirent->name;
840838
QByteArray entryFrom;
@@ -861,11 +859,13 @@ int SvnRevision::recurse(const char *path, const svn_fs_path_change_t *change,
861859
rev_from, changes, current, *match, matchRules, dirpool) == EXIT_FAILURE)
862860
return EXIT_FAILURE;
863861
} else {
864-
qDebug() << current << "rev" << revnum
865-
<< "did not match any rules; auto-recursing";
866-
if (recurse(entry, change, entryFrom.isNull() ? 0 : entryFrom.constData(),
867-
matchRules, rev_from, changes, dirpool) == EXIT_FAILURE)
868-
return EXIT_FAILURE;
862+
if (dirent->kind == svn_node_dir) {
863+
qDebug() << current << "rev" << revnum
864+
<< "did not match any rules; auto-recursing";
865+
if (recurse(entry, change, entryFrom.isNull() ? 0 : entryFrom.constData(),
866+
matchRules, rev_from, changes, dirpool) == EXIT_FAILURE)
867+
return EXIT_FAILURE;
868+
}
869869
}
870870
}
871871

0 commit comments

Comments
 (0)