@@ -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