diff options
author | Sebastian Dörner <sebastian@sebastian-doerner.de> | 2012-07-12 19:01:47 +0100 |
---|---|---|
committer | Sebastian Dörner <sebastian@sebastian-doerner.de> | 2012-07-15 01:26:59 +0100 |
commit | c59389ceed6214d85011a91263d935f46a501632 (patch) | |
tree | fa3011bd85724ab33a167b044b089907b754f08e | |
parent | 371abece8cbaf9d0c396c3ab8d4fdd1ab2718e7d (diff) | |
download | svn2git-c59389ceed6214d85011a91263d935f46a501632.tar svn2git-c59389ceed6214d85011a91263d935f46a501632.tar.gz svn2git-c59389ceed6214d85011a91263d935f46a501632.tar.bz2 svn2git-c59389ceed6214d85011a91263d935f46a501632.tar.xz svn2git-c59389ceed6214d85011a91263d935f46a501632.zip |
Match rules for files below a recursion
-rw-r--r-- | src/svn.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/svn.cpp b/src/svn.cpp index c103728..0be77a4 100644 --- a/src/svn.cpp +++ b/src/svn.cpp @@ -833,8 +833,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; @@ -861,11 +859,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; + } } } |