[Git-SVN] Manage merges bewteen remote branches. git-svn or svn?

From: Daniele Segato <hidden>
Date: 2016-06-15 22:48:20

I'm trying to understand the best way to deal with remote branches
merging in git-svn.

This is the situation (more or less) that I had to manage:

master: tracking remote svn trunk
v1.x: tracking remote svn branches/v1.x

at the moment v1.x just branched from trunk

master
    |
    |
    |
    |   v1.x
    |  /
    | /
    |/
branch point


now i should start to merge into v1.x the work from trunk/master.
some of the last commit on master will be left there for later merging.

so i branched from master~10 (example) and cherry-picket the commit i
want to put into


I see three root from now on and no one i really like:
1.
git checkout v1.x
git merge --squash myTemporaryBranch

this way it's ok the first time but i'll have a lot of conflict later
when i will do (again):
git merge --squash master


2.
git checkout v1.x
# this will not work because of the svnid:
#git rebase myTemporaryBranch

so I did:
for commit in `git rev-list --reverse --cherry-pick
v1.x..myTemporaryBranch`; do
    git cherry-pick-svn $commit;
done;

the cherry-pick-svn is an alias i defined myself like this:
cherry-pick-svn =  !GIT_EDITOR='sed -i /^git-svn-id:/d' git cherry-pick -e

it just strip out the git-svn-id line from the commit comment.

this way i have all the history but i think i'll have conflict any
way, can you confirm?
furthermore it will take a lot of space into the SVN server.

3.
use svn directly.
never did an svn merge with svn so I still don't know exactly how it work
may be someone of you can tell me if this could work or not. this way
I should always do my mergings with subversion directly



What would you do?
thanks and regards,
Daniele Segato
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help