aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTorgny Nyblom <kde@nyblom.org>2010-04-13 19:28:40 +0200
committerTorgny Nyblom <kde@nyblom.org>2010-04-13 19:28:40 +0200
commit437e0dbb1551dbce774a1c5036e17a8e30c8e699 (patch)
treec07ad867ea3a5e90170870bc977b8c614afcc3f2
parent3bf4fcecd7f64cab1f700965816b5c1dbc8bdc39 (diff)
downloadsvn2git-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.
-rw-r--r--src/ruleparser.cpp4
-rw-r--r--src/svn.cpp8
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);
}