diff options
-rw-r--r-- | src/svn.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/svn.cpp b/src/svn.cpp index 6bb0d2b..1a66231 100644 --- a/src/svn.cpp +++ b/src/svn.cpp @@ -793,6 +793,17 @@ int SvnRevision::exportInternal(const char *key, const svn_fs_path_change_t *cha return EXIT_FAILURE; repositories->remove(renamed); repositories->insert(repository, repo); + + // NB If there are other changes along with the svn cp, this is not + // necessarily the correct thing to do and some changes may be lost + // but to not return here causes a problem where all the release tags + // are lost and and empty commit is kept in the history (svn mv should + // not result in a git commit). + return EXIT_SUCCESS; + } + if (repo && prevbranch.startsWith("refs/tags/")) { + qWarning() << "WARN: Ignoring tag svn-cp as we hope that repo rename will maintain old mark-release tags"; + return EXIT_SUCCESS; } } else if (path != prevpath) { if (!repo && !(repo = autoCreateRepo(change, rule, repository, branch))) |