[hibernate-dev] Back-porting to 3.6

Hardy Ferentschik hibernate at ferentschik.de
Fri Nov 12 05:35:33 EST 2010


Until yesterday I was wondering what the current talk about back-porting  
issues was all about.
Thanks to HHH-5729 I got my own share of problems ;-)

I know Steve is preparing some guidelines regarding this, but there are my  
thoughts as a result
 from yesterdays experience.

My workflow was:

$ git checkout -b HHH-5729
$ (work)
$ git commit
$ (work)
$ git commit
$ git format-patch -M master

Now I had a patch file for each commit. These patch files I copied to my  
second checkout of core
where I am working on the branch 3.6. I know, I know, changing branches in  
git is fast, but I prefer
(and recommend) everyone to have a separate checkout for the 3.6 branch.  
The main reason is the
switch in build tools (maven -> gradle) and additional directory renames  
which make IDE setup
refreshes a nightmare.
Anyways, back to back-porting. Once I had the patch files in the right  
place, I tried:

$ git am *.patch

Here of course the trouble started. The patches could not be applied due  
to the renaming and in some
cases merging of directories. Here are the problems I had to deal with in  
my case

* core was renamed to hibernate-core
* testing was moved into hibernate core (and sources moved from  
src/main/java -> src/test/java)
* testsuite was moved into hibernate-core

Nothing a little bit of sed work couldn't fix. In fact after fixing the  
paths names in the patch files,
the patches applied just fine.

This got me thinking whether we should write a little shell script taking  
care of these things and checking
it into the 3.6 branch. The workflow would be something like this then:

$ git format-patch -M master
$ (copy patches to 3.6 branch)
$ adjustPatches.sh *.patch
$ git am *.patch

Thoughts? Am I till missing part of the problem?


More information about the hibernate-dev mailing list