@@ -832,8 +832,6 @@ int SvnRevision::recurse(const char *path, const svn_fs_path_change_t *change,
832832 apr_hash_this (i, &vkey, NULL , &value);
833833
834834 svn_fs_dirent_t *dirent = reinterpret_cast <svn_fs_dirent_t *>(value);
835- if (dirent->kind != svn_node_dir)
836- continue ; // not a directory, so can't recurse; skip
837835
838836 QByteArray entry = path + QByteArray (" /" ) + dirent->name ;
839837 QByteArray entryFrom;
@@ -860,11 +858,13 @@ int SvnRevision::recurse(const char *path, const svn_fs_path_change_t *change,
860858 rev_from, changes, current, *match, matchRules, dirpool) == EXIT_FAILURE)
861859 return EXIT_FAILURE;
862860 } else {
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;
861+ if (dirent->kind == svn_node_dir) {
862+ qDebug () << current << " rev" << revnum
863+ << " did not match any rules; auto-recursing" ;
864+ if (recurse (entry, change, entryFrom.isNull () ? 0 : entryFrom.constData (),
865+ matchRules, rev_from, changes, dirpool) == EXIT_FAILURE)
866+ return EXIT_FAILURE;
867+ }
868868 }
869869 }
870870
0 commit comments