From: Thiago Macieira Date: Wed, 26 Dec 2007 14:49:17 +0000 (-0200) Subject: Avoid ending slashes and mid double-slashes X-Git-Url: http://andersk.mit.edu/gitweb/svn-all-fast-export.git/commitdiff_plain/5871af719f7ede0db0e661a34a6f485dc4488e3b Avoid ending slashes and mid double-slashes --- diff --git a/src/svn.cpp b/src/svn.cpp index 05f3201..de3a977 100644 --- a/src/svn.cpp +++ b/src/svn.cpp @@ -284,13 +284,10 @@ static int recursiveDumpDir(Repository::Transaction *txn, svn_fs_root_t *fs_root svn_fs_dirent_t *dirent = reinterpret_cast(value); QByteArray entryName = pathname + '/' + dirent->name; - QString entryFinalName; - if (finalPathName.isEmpty()) - entryFinalName = dirent->name; - else - entryFinalName = finalPathName + '/' + dirent->name; + QString entryFinalName = finalPathName + dirent->name; if (dirent->kind == svn_node_dir) { + entryFinalName += '/'; if (recursiveDumpDir(txn, fs_root, entryName, entryFinalName, dirpool) == EXIT_FAILURE) return EXIT_FAILURE; } else if (dirent->kind == svn_node_file) { @@ -577,7 +574,9 @@ int SvnRevision::exportInternal(const char *key, const svn_fs_path_change_t *cha } else if (!current.endsWith('/')) { dumpBlob(txn, fs_root, key, path, pool); } else { - txn->deleteFile(path); + QString pathNoSlash = path; + pathNoSlash.chop(1); + txn->deleteFile(pathNoSlash); recursiveDumpDir(txn, fs_root, key, path, pool); }