diff options
author | Torgny Nyblom <kde@nyblom.org> | 2010-04-13 19:28:40 +0200 |
---|---|---|
committer | Torgny Nyblom <kde@nyblom.org> | 2010-04-13 19:28:40 +0200 |
commit | 437e0dbb1551dbce774a1c5036e17a8e30c8e699 (patch) | |
tree | c07ad867ea3a5e90170870bc977b8c614afcc3f2 /src | |
parent | 3bf4fcecd7f64cab1f700965816b5c1dbc8bdc39 (diff) | |
download | svn2git-437e0dbb1551dbce774a1c5036e17a8e30c8e699.tar svn2git-437e0dbb1551dbce774a1c5036e17a8e30c8e699.tar.gz svn2git-437e0dbb1551dbce774a1c5036e17a8e30c8e699.tar.bz2 svn2git-437e0dbb1551dbce774a1c5036e17a8e30c8e699.tar.xz svn2git-437e0dbb1551dbce774a1c5036e17a8e30c8e699.zip |
Fix logical error in last commit. There was no slash added between
prefix and path under certain conditions.
Diffstat (limited to 'src')
-rw-r--r-- | src/ruleparser.cpp | 4 | ||||
-rw-r--r-- | src/svn.cpp | 8 |
2 files changed, 5 insertions, 7 deletions
diff --git a/src/ruleparser.cpp b/src/ruleparser.cpp index 6e78efe..905115c 100644 --- a/src/ruleparser.cpp +++ b/src/ruleparser.cpp @@ -103,8 +103,8 @@ void Rules::load() match.prefix = matchPrefixLine.cap(1); if( match.prefix.startsWith('/')) match.prefix = match.prefix.mid(1); - if( match.prefix.endsWith('/')) - match.prefix.chop(1); + if( !match.prefix.endsWith('/')) + match.prefix.append('/'); continue; } else if (matchActionLine.exactMatch(line)) { QString action = matchActionLine.cap(1); diff --git a/src/svn.cpp b/src/svn.cpp index 3435683..9bbfab1 100644 --- a/src/svn.cpp +++ b/src/svn.cpp @@ -216,10 +216,7 @@ static void splitPathName(const Rules::Match &rule, const QString &pathName, QSt } if (path_p) { - QString path = pathName.mid(svnprefix.length()); - if( !path.isEmpty() && !rule.prefix.isEmpty() ) - path.prepend('/'); - *path_p = rule.prefix + path; + *path_p = rule.prefix + pathName.mid(svnprefix.length()); } } @@ -654,7 +651,8 @@ int SvnRevision::exportInternal(const char *key, const svn_fs_path_change_t *cha dumpBlob(txn, fs_root, key, path, pool); } else { QString pathNoSlash = path; - pathNoSlash.chop(1); + if(pathNoSlash.endsWith('/')) + pathNoSlash.chop(1); txn->deleteFile(pathNoSlash); recursiveDumpDir(txn, fs_root, key, path, pool); } |