For 3rdparty package maintainers looking to port a patched package forward to a new rosdistro here's what William did to port BFL forward into indigo from hydro. 

Tully

On Thu, May 1, 2014 at 1:04 AM, Michael Ferguson <mfergs7@gmail.com> wrote:
Wow! Easy indeed!

Thanks for going ahead and cranking that out -- I would have never figured that out. I agree, copying that to the mailing list would probably be helpful to anyone who ends up maintaining one of these kind of packages down the road.

-Fergs


On Thu, May 1, 2014 at 1:01 AM, William Woodall <wjwwood@gmail.com> wrote:
I went ahead and did it, this is what I did:

$ cd bfl-release
$ git checkout master
$ cp -r hydro indigo
$ git add indigo
$ git commit -m "create indigo patch folder with indigo package.xml template"
$ git-bloom-config copy hydro indigo
$ git-bloom-config edit indigo
... change settings for indigo
... change rosdistro to indigo
... change patches directory to indigo
$ bloom-release -r indigo -t indigo bfl
... give it the release repo: https://github.com/ros-gbp/bfl-release.git
... push with force if needed for tags
... push changes but don't open pull request
$ cd ..
$ rm -rf bfl-release
$ cd bfl-release
$ python -c "from bloom.git import track_branches; track_branches()"
... This tracks all remote branches locally
$ git branch
... go to each indigo patch branch and copy over any patches from the hydro equivalents
... probably just need patches/release/.../bfl and patches/debian/.../bfl
... for instance:
$ git ls-tree --name-only -r patches/release/hydro/bfl | grep '\.patch' | xargs -I {} sh -c 'git show patches/release/hydro/bfl:"$1" > "$1"' -- {}
$ git add ./*.patch
$ git commit -m "migrating patches from hydro"
$ git push origin patches/release/indigo/bfl
... Once you have migrated any patches you need, bloom-release and pull request
$ bloom-release -r indigo -t indigo bfl
... give it the release repo: https://github.com/ros-gbp/bfl-release.git


And "it's that easy"! :)

Unfortunately this is pretty tedious and error prone and not well documented, but it should only affect a handful of cases and I've often considered a tool to help with this, but always shied away from it because I think the cost out weighs the benefit.

We can copy this to ros-release as well.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
William Woodall
wjwwood@gmail.com
williamjwoodall.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


On Thu, May 1, 2014 at 12:23 AM, Michael Ferguson <mfergs7@gmail.com> wrote:
Also, I should note: I was able to check out the debian/hydro branch and build a deb using dpkg, so I think if we can just retool the files right for indigo + bloom + build farm, we'll be good to go.


On Thu, May 1, 2014 at 12:16 AM, Michael Ferguson <mfergs7@gmail.com> wrote:
Oh, and I should have included, this is where bfl resides: https://github.com/ros-gbp/bfl-release


On Thu, May 1, 2014 at 12:15 AM, Michael Ferguson <mfergs7@gmail.com> wrote:
Hey guys,

First off, if there is a proper mailing list I should be sending this to, let me know, and I'll post it there so that people can eventually find any answers provided.

So I tried to take a look at releasing BFL (which is a third-party library) -- but I'm having hard time figuring out what to do. If I try to run bloom-release -- I get an error about patches branch not existing. When I looked at the 3rd party tutorial, it says to create a release before doing patches......

Error: ""Given patches path 'indigo' does not exist in bloom branch.""


Given that the tutorial seems to refer entirely to git-bloom-release, I'm guessing it's not up to date.

-Fergs