aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Dörner <sebastian@sebastian-doerner.de>2012-07-12 19:01:47 +0100
committerSebastian Dörner <sebastian@sebastian-doerner.de>2012-07-15 01:26:59 +0100
commitc59389ceed6214d85011a91263d935f46a501632 (patch)
treefa3011bd85724ab33a167b044b089907b754f08e
parent371abece8cbaf9d0c396c3ab8d4fdd1ab2718e7d (diff)
downloadsvn2git-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.cpp14
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;
+ }
}
}