ports/devel/svn2git/files/freebsd-export-patch
David Naylor 525810ed78 Update devel/svn2git to 1.0.8.
This update enables determinist exports of subversion repositories, and
optionally includes the patches required for exporting FreeBSD's subversion
repositories.

Beware, though, that using the patches for FreeBSD exporting could break other
exports.

Approved by:	eadler (mentor) and uqs (FreeBSD's svn2git patch author)
2013-02-12 04:19:59 +00:00

20 lines
1.1 KiB
Text

diff --git a/src/svn.cpp b/src/svn.cpp
index 1aadce9..3d359bb 100644
--- src/svn.cpp
+++ src/svn.cpp
@@ -800,8 +800,13 @@ int SvnRevision::exportInternal(const char *key, const svn_fs_path_change_t *cha
// 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) {
+ // NOTE(uqs): HACK ALERT! Only merge between head, projects, and user
+ // branches for the FreeBSD repositories. Never merge into stable or
+ // releng, as we only ever cherry-pick changes to those branches.
+ // FIXME: Needs to move into the ruleset ...
+ if (path_from != NULL && prevrepository == repository && prevbranch != branch &&
+ (branch.startsWith("master") || branch.startsWith("head") ||
+ branch.startsWith("projects") || branch.startsWith("user"))) {
if(ruledebug)
qDebug() << "copy from branch" << prevbranch << "to branch" << branch << "@rev" << rev_from;
txn->noteCopyFromBranch (prevbranch, rev_from);