[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