<div dir="ltr">@Piyush The instructions forwarded here by Tully are actually flawed, thanks for pointing that out.<div><br></div><div>I thought that copying the patch files to the patches branch but I was wrong.</div><div>

<br></div><div>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.</div><div><br></div><div>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.</div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, May 1, 2014 at 10:00 AM, Piyush <span dir="ltr"><<a href="mailto:piyushk@gmail.com" target="_blank">piyushk@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Thanks for the instructions! These instructions seem a bit different<br>
from what William used to migrate a third party package from groovy to<br>
hydro (documented here:<br>
<a href="http://wiki.ros.org/bloom/Tutorials/ReleaseThirdParty#Porting_patches_from_one_rosdistro_to_another" target="_blank">http://wiki.ros.org/bloom/Tutorials/ReleaseThirdParty#Porting_patches_from_one_rosdistro_to_another</a>)<br>


<br>
@Jack If you're up for it, I would prefer to try out these<br>
instructions once for libfreenect. If we fail, we'll report back for<br>
an alternative solution.<br>
<br>
For the most part, the instructions seem the same same, barring these<br>
differences:<br>
1) For bfl (and in the ros wiki instructions in general), the bloom<br>
branch was deprecated for master? Was there any particular reason for<br>
this?<br>
2) I don't actually remember adding any patches to patches/debian/...<br>
for libfreenect, but those branches are not empty (and don't make much<br>
sense to me). Since they do not have any *.patch files, I suspect that we<br>
do not need to follow instructions for those branches. Is that correct?<br>
3) The git-bloom-patch import command is not present in your new set<br>
of instructions. Is it no longer required? Is bloom-release applying<br>
those patches to the release branches?<br>
<br>
For reference, the libfreenect release repository is here:<br>
<a href="https://github.com/ros-drivers-gbp/libfreenect-release" target="_blank">https://github.com/ros-drivers-gbp/libfreenect-release</a><br>
<br>
Thanks!<br>
Piyush<br>
<div><div class="h5"><br>
On Thu, May 1, 2014 at 10:33 AM, Jack O'Quin <<a href="mailto:jack.oquin@gmail.com">jack.oquin@gmail.com</a>> wrote:<br>
><br>
> On Thu, May 1, 2014 at 3:24 AM, Tully Foote <<a href="mailto:tfoote@osrfoundation.org">tfoote@osrfoundation.org</a>><br>
> wrote:<br>
>><br>
>> For 3rdparty package maintainers looking to port a patched package forward<br>
>> to a new rosdistro here's what William did to port BFL forward into indigo<br>
>> from hydro.<br>
>><br>
>> Tully<br>
>><br>
>> On Thu, May 1, 2014 at 1:04 AM, Michael Ferguson <<a href="mailto:mfergs7@gmail.com">mfergs7@gmail.com</a>><br>
>> wrote:<br>
>>><br>
>>> Wow! Easy indeed!<br>
>>><br>
>>> Thanks for going ahead and cranking that out -- I would have never<br>
>>> figured that out. I agree, copying that to the mailing list would probably<br>
>>> be helpful to anyone who ends up maintaining one of these kind of packages<br>
>>> down the road.<br>
>>><br>
>>> -Fergs<br>
>>><br>
>>><br>
>>> On Thu, May 1, 2014 at 1:01 AM, William Woodall <<a href="mailto:wjwwood@gmail.com">wjwwood@gmail.com</a>><br>
>>> wrote:<br>
>>>><br>
>>>> I went ahead and did it, this is what I did:<br>
>>>><br>
>>>> $ git clone <a href="https://github.com/ros-gbp/bfl-release.git" target="_blank">https://github.com/ros-gbp/bfl-release.git</a><br>
>>>> $ cd bfl-release<br>
>>>> $ git checkout master<br>
>>>> $ cp -r hydro indigo<br>
>>>> $ git add indigo<br>
>>>> $ git commit -m "create indigo patch folder with indigo package.xml<br>
>>>> template"<br>
>>>> $ git-bloom-config copy hydro indigo<br>
>>>> $ git-bloom-config edit indigo<br>
>>>> ... change settings for indigo<br>
>>>> ... change rosdistro to indigo<br>
>>>> ... change patches directory to indigo<br>
>>>> $ bloom-release -r indigo -t indigo bfl<br>
>>>> ... give it the release repo: <a href="https://github.com/ros-gbp/bfl-release.git" target="_blank">https://github.com/ros-gbp/bfl-release.git</a><br>
>>>> ... push with force if needed for tags<br>
>>>> ... push changes but don't open pull request<br>
>>>> $ cd ..<br>
>>>> $ rm -rf bfl-release<br>
>>>> $ git clone <a href="https://github.com/ros-gbp/bfl-release.git" target="_blank">https://github.com/ros-gbp/bfl-release.git</a><br>
>>>> $ cd bfl-release<br>
>>>> $ python -c "from bloom.git import track_branches; track_branches()"<br>
>>>> ... This tracks all remote branches locally<br>
>>>> $ git branch<br>
>>>> ... go to each indigo patch branch and copy over any patches from the<br>
>>>> hydro equivalents<br>
>>>> ... probably just need patches/release/.../bfl and<br>
>>>> patches/debian/.../bfl<br>
>>>> ... for instance:<br>
>>>> $ git ls-tree --name-only -r patches/release/hydro/bfl | grep '\.patch'<br>
>>>> | xargs -I {} sh -c 'git show patches/release/hydro/bfl:"$1" > "$1"' -- {}<br>
>>>> $ git add ./*.patch<br>
>>>> $ git commit -m "migrating patches from hydro"<br>
>>>> $ git push origin patches/release/indigo/bfl<br>
>>>> ... Once you have migrated any patches you need, bloom-release and pull<br>
>>>> request<br>
>>>> $ bloom-release -r indigo -t indigo bfl<br>
>>>> ... give it the release repo: <a href="https://github.com/ros-gbp/bfl-release.git" target="_blank">https://github.com/ros-gbp/bfl-release.git</a><br>
>>>><br>
>>>> <a href="https://github.com/ros/rosdistro/pull/4079" target="_blank">https://github.com/ros/rosdistro/pull/4079</a><br>
>>>><br>
>>>> And "it's that easy"! :)<br>
>>>><br>
>>>> Unfortunately this is pretty tedious and error prone and not well<br>
>>>> documented, but it should only affect a handful of cases and I've often<br>
>>>> considered a tool to help with this, but always shied away from it because I<br>
>>>> think the cost out weighs the benefit.<br>
>>>><br>
>>>> We can copy this to ros-release as well.<br>
>>>><br>
><br>
> Thanks for posting. I can follow the first half reasonably well. But, after<br>
> erasing the local clone and creating it again, I have no idea why to do that<br>
> or what is going on.<br>
><br>
> I need to do something similar for libfreenect. I don't think I can follow<br>
> William's example well enough for it to work. I expect I could easily<br>
> destroy that release repository.<br>
><br>
> I guess my only other option is recreating all the patches by hand. Any<br>
> other suggestions?<br>
> --<br>
>  joq<br>
><br>
</div></div>> _______________________________________________<br>
> ros-release mailing list<br>
> <a href="mailto:ros-release@code.ros.org">ros-release@code.ros.org</a><br>
> <a href="http://lists.ros.org/mailman/listinfo/ros-release" target="_blank">http://lists.ros.org/mailman/listinfo/ros-release</a><br>
><br>
_______________________________________________<br>
ros-release mailing list<br>
<a href="mailto:ros-release@code.ros.org">ros-release@code.ros.org</a><br>
<a href="http://lists.ros.org/mailman/listinfo/ros-release" target="_blank">http://lists.ros.org/mailman/listinfo/ros-release</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">William Woodall<div>ROS Development Team</div><div><a href="mailto:william@osrfoundation.org" target="_blank">william@osrfoundation.org</a></div>

<div><a href="http://wjwwood.io/" target="_blank">http://wjwwood.io/</a></div></div>
</div>