[Git-SVN] Manage merges bewteen remote branches. git-svn or svn?
- From
- Daniele Segato <daniele.bilug@gmail.com>
- Date
- Feb 23, 2010, 11:58 UTC
- Message-ID
- <9accb4401002230358k669937fai400890658b14c4fb@mail.gmail.com>
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 pointnow 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