Hi,
I'm wondering how to merge a branch back to a master/svn trunk, getting
"almost" all the commits on the branch. I've experimented with "git
merge -s ours" unsuccessfully and don't know how else to proceed.
Background: Our svn trunk has had many solid commits, and a few that
aren't ready yet. We need to make a new release without these unready
commits but with some new functionality.
Externally to git, a branch was made off of trunk's HEAD. Call it
"newbranch".
The idea is to:
* Create a git branch off of svn "newbranch", call it "gitnewbranch".
* "git revert" the "few unready" commits on "gitnewbranch" so we have a
solid foundation
* add the new functionality to "gitnewbranch"
* "git svn dcommit" to get the new functionality on svn's "newbranch"
* And now the trick: "git merge" "gitnewbranch" back to master. But I
want to avoid the "git revert" of the few commits that weren't ready yet.
* "git svn dcommit" master to get the new functionality into svn trunk.
How do I "git merge" all of "gitnewbranch" except the reverts?
I tried doing just the revert step, and then
"git merge -s ours gitnewbranch"
on master, and that seemed to work. Annoyingly (to me :-D) "git log
master" does show the reverts that happened on gitnewbranch, but the
files in master were not changed. However, when I "git svn rebase", it
fails with a
"CONFLICT (content): Merge conflict in <file>".
And hence, "git svn dcommit" fails too.
Is there a way to "git merge gitnewbranch" excluding the reverts, just
the "new functionality", so the log of master doesn't even mention the
reverts and so "git svn rebase" and "git svn dcommit" work properly?
I guess I could git cherry-pick all the "new functionality" commits from
gitnewbranch to master, but it sort of defeats the coolness of gits
branch handling if I have to keep track of the cherry-picked commits
manually.
How do I do this "properly"?
Peter
--
Peter Valdemar Mørch
http://www.morch.com
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html