From 8314eb23393db323b4bb5e34a9ad4e8ebc4014fb Mon Sep 17 00:00:00 2001 From: Torgny Nyblom Date: Mon, 26 Nov 2012 14:45:11 +0100 Subject: Revert "Remove the branch copy heuristic" This reverts commit c0187417902b10698135727d911ab9018f4941eb. --- src/svn.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/svn.cpp b/src/svn.cpp index 32beb89..0a730fc 100644 --- a/src/svn.cpp +++ b/src/svn.cpp @@ -779,6 +779,18 @@ int SvnRevision::exportInternal(const char *key, const svn_fs_path_change_t *cha transactions.insert(repository + branch, txn); } + // + // If this path was copied from elsewhere, use it to infer _some_ + // merge points. This heuristic is fairly useful for tracking + // changes across directory re-organizations and wholesale branch + // imports. + // + if (path_from != NULL && prevrepository == repository && prevbranch != branch) { + if(ruledebug) + qDebug() << "copy from branch" << prevbranch << "to branch" << branch << "@rev" << rev_from; + txn->noteCopyFromBranch (prevbranch, rev_from); + } + if (change->change_kind == svn_fs_path_change_replace && path_from == NULL) { if(ruledebug) qDebug() << "replaced with empty path (" << branch << path << ")"; -- cgit v1.2.1