I currently struggle with the following scenario:
- We do most of our development in trunk
- We have separate branches for certain features which are experimental and not production ready yet.
- We regularly merge changes from trunk to the branches due to dependencies and for easier reintegration later
- We have two release branches, one for production and one for experimental packages
- In the experimental release branch, we reintegrate feature1 and feature2
- Due to the nature of subversion, we need to block the merges from trunk->feature1 and trunk->feature2, otherwise the changes from trunk are conflicting itself when reintegrating to the experimental release branch
Now to my problem:
When I change something in trunk
cd trunk
svn commit -m "Foo"
[...]
Committed revision 4
Then I synchronize the change from trunk to feature1 with
cd feature1
svn merge ^/trunk
[...]
Committed revision 5
then I try to block the merge from revision 5 in the experimental release branch with
cd experimental
svn merge ^/branches/feature1 -r5 --record-only
the revision trunk:4 and feature:5 are marked as blocked. However I only want to block feature:5
TL;DR: Is there a way to turn off transitive merge blocking in subversion?