aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/svn.cpp11
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)))