@Piyush The instructions forwarded here by Tully are actually flawed, thanks for pointing that out. I thought that copying the patch files to the patches branch but I was wrong. The wiki page you linked to is correct, I was trying to optimize away the copying of the patches into a folder in /tmp using git ls-tree and git show. Everyone reading this should use that wiki page, I'll potentially update it if my new one liner I just used to re-release bfl works. On Thu, May 1, 2014 at 10:00 AM, Piyush wrote: > Thanks for the instructions! These instructions seem a bit different > from what William used to migrate a third party package from groovy to > hydro (documented here: > > http://wiki.ros.org/bloom/Tutorials/ReleaseThirdParty#Porting_patches_from_one_rosdistro_to_another > ) > > @Jack If you're up for it, I would prefer to try out these > instructions once for libfreenect. If we fail, we'll report back for > an alternative solution. > > For the most part, the instructions seem the same same, barring these > differences: > 1) For bfl (and in the ros wiki instructions in general), the bloom > branch was deprecated for master? Was there any particular reason for > this? > 2) I don't actually remember adding any patches to patches/debian/... > for libfreenect, but those branches are not empty (and don't make much > sense to me). Since they do not have any *.patch files, I suspect that we > do not need to follow instructions for those branches. Is that correct? > 3) The git-bloom-patch import command is not present in your new set > of instructions. Is it no longer required? Is bloom-release applying > those patches to the release branches? > > For reference, the libfreenect release repository is here: > https://github.com/ros-drivers-gbp/libfreenect-release > > Thanks! > Piyush > > On Thu, May 1, 2014 at 10:33 AM, Jack O'Quin wrote: > > > > On Thu, May 1, 2014 at 3:24 AM, Tully Foote > > wrote: > >> > >> 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 > >> 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 > >>> wrote: > >>>> > >>>> I went ahead and did it, this is what I did: > >>>> > >>>> $ git clone https://github.com/ros-gbp/bfl-release.git > >>>> $ 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 > >>>> $ git clone https://github.com/ros-gbp/bfl-release.git > >>>> $ 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 > >>>> > >>>> https://github.com/ros/rosdistro/pull/4079 > >>>> > >>>> 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. > >>>> > > > > Thanks for posting. I can follow the first half reasonably well. But, > after > > erasing the local clone and creating it again, I have no idea why to do > that > > or what is going on. > > > > I need to do something similar for libfreenect. I don't think I can > follow > > William's example well enough for it to work. I expect I could easily > > destroy that release repository. > > > > I guess my only other option is recreating all the patches by hand. Any > > other suggestions? > > -- > > joq > > > > _______________________________________________ > > ros-release mailing list > > ros-release@code.ros.org > > http://lists.ros.org/mailman/listinfo/ros-release > > > _______________________________________________ > ros-release mailing list > ros-release@code.ros.org > http://lists.ros.org/mailman/listinfo/ros-release > -- William Woodall ROS Development Team william@osrfoundation.org http://wjwwood.io/