[hibernate-dev] Applying commits from 3.6 to master
Strong Liu
stliu at hibernate.org
Thu Nov 11 06:18:43 EST 2010
On Nov 2, 2010, at 5:02 AM, Steve Ebersole wrote:
> This morning I had a bug fix from an IRC discussion and decided to use it to
> try this stuff out. I chose to work on this on a topic branch created from
> master. I ran into worse trouble than you had :)
>
> About 6 hours on #git helped me get a working answer, though not any better
> understanding. The basic steps in the process were:
> 1) create a backport branch from the original feature branch.
> 2) use rebase -i to perform the actual backport
> 3) merge to the target branch
>
> My complete workflow was as follows:
> 1) Create the topic branch:
> git checkout -b HHH-5706-lob-offset
>
> 2) Do my work
>
> 3) Commit work to the topic branch
> git commit ...
>
> 4) Create a backport branch
> git checkout -b HHH-5706-lob-offset-backport HHH-5706-lob-offset
>
> 5) Git rebase changes to backport branch
> git rebase --onto 3.6 master
>
> 6) Git merge the backport to the 3.6 branch
> git checkout 3.6
> git merge HHH-5706-lob-offset-backport
>
> 7) Git merge topic branch to master
> git checkout master
> git merge HHH-5706-lob-offset
>
> 8) Push changes
> git push
>
> 9) Clean up
> git branch -d HHH-5706-lob-offset
> git branch -d HHH-5706-lob-offset-backport
seems this method does not work well when the commit contains some new add files, https://github.com/hibernate/hibernate-core/commit/1a43593c868e5e16bda01bd90f500660a26ced2a
i just did one commit follow this, and see the change paths:
Changed paths:
M core/src/main/antlr/hql.g
A hibernate-core/src/test/java/org/hibernate/test/hql/EntityBean.java
A hibernate-core/src/test/java/org/hibernate/test/hql/EntityBeanTest.java
A hibernate-core/src/test/java/org/hibernate/test/hql/Item.java
>
>
> Lot of work. Lot of the folks on #git seemed to empathize that this is a bit
> more convoluted than it might should be.
>
> Another option I was looking at with them keeping along the lines of separate
> clones for work on the 3.6 and master branches was to use refs (origin for
> example) between the local 3.6 and master clones. In fact you can clone one
> to the other locally!
>
>
>
>
>
> On Friday, October 29, 2010, at 01:19 pm, Adam Warski wrote:
>> I'll report the first time I'll have to do that.
>>
>> Adam
>>
>> On Oct 29, 2010, at 8:11 PM, Steve Ebersole wrote:
>>> Curious what happens if you go the other direction (imho the more natural
>>> direction)? Working from master to the 3.6 branch...
>>>
>>> On Friday, October 29, 2010, at 01:02 pm, Adam Warski wrote:
>>>> After some tries, here's my workflow for applying commits from the 3.6
>>>> branch to the master branch: 1. Commit to 3.6 :)
>>>> 2. Create patches for the commits using git format-patch commit
>>>> sha/range etc. This will produce numbered patches. 3. Switch to master
>>>> 4. Modify the patches using the following script:
>>>>
>>>> #!/bin/bash
>>>> for file in $*
>>>> do
>>>>
>>>> sed 's/\/envers\//\/hibernate-envers\//' < $file > mod_$file
>>>>
>>>> done
>>>>
>>>> (substitute envers with the appropriate module)
>>>>
>>>> 5. Apply the patches using git am <file>
>>>> 6. Done
>>>>
>>>> Not very straightforward, but works. And maybe somebody will find a
>>>> better way :)
>>>
>>> ---
>>> Steve Ebersole <steve at hibernate.org>
>>> http://hibernate.org
>
> ---
> Steve Ebersole <steve at hibernate.org>
> http://hibernate.org
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
More information about the hibernate-dev
mailing list