File tree Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -779,6 +779,18 @@ int SvnRevision::exportInternal(const char *key, const svn_fs_path_change_t *cha
779779 transactions.insert (repository + branch, txn);
780780 }
781781
782+ //
783+ // If this path was copied from elsewhere, use it to infer _some_
784+ // merge points. This heuristic is fairly useful for tracking
785+ // changes across directory re-organizations and wholesale branch
786+ // imports.
787+ //
788+ if (path_from != NULL && prevrepository == repository && prevbranch != branch) {
789+ if (ruledebug)
790+ qDebug () << " copy from branch" << prevbranch << " to branch" << branch << " @rev" << rev_from;
791+ txn->noteCopyFromBranch (prevbranch, rev_from);
792+ }
793+
782794 if (change->change_kind == svn_fs_path_change_replace && path_from == NULL ) {
783795 if (ruledebug)
784796 qDebug () << " replaced with empty path (" << branch << path << " )" ;
You can’t perform that action at this time.
0 commit comments