[ros-users] Rosco - ros.org checkout tool

Ibrahim Awwal ibrahim.awwal at berkeley.edu
Wed Aug 24 02:15:20 UTC 2011

I don't really know much about the REP process and I don't think I have 
anything to say really anyway. After thinking about it some more I 
actually really like your version better, and your proposed syntax makes 
a lot of sense. One thing though, I'm trying to run it but it keeps 
complaining about not being able to find vcstools? I easy_install'd 
vcstools and it still complains. Do I need to install the ros package 


(sorry for the delayed response)

On 08/18/2011 04:36 PM, Ken Conley wrote:
> On Thu, Aug 18, 2011 at 4:23 PM, Ibrahim Awwal
> <ibrahim.awwal at berkeley.edu>  wrote:
>> Wow, that was an interesting coincidence. I guess I didn't really search
>> hard to see whether something like this existed. Hadn't considered branches
>> though, that's something to keep in mind. I think your tool is actually
>> better than mine with that in mind, mine could be replaced with a call to
>> yours and roslocate. I think one possible modification to your rosco to
>> make it just as easy as mine would be to have it check if the file argument
>> exists, and if not try running roslocate with that first argument as the
>> package name, and then read that snippet in and process it as usual.
> I'd rather avoid ambiguous cases as they've bitten me in the past, so how about:
> # checkout a package/stack, uses same options and roslocate
> rosco foo --distro=unstable
> rosco foo --distro=electric --dev
> # checkout all entries in a rosinstall file
> rosco -r foo.rosinstall
> rosco --rosinstall foo.rosinstall
> # pipe output from roslocate directly
> roslocate info eigen --distro=unstable | rosco
> If you're interested, we could write a REP together and package either
> as part of rosinstall or as a separate standalone tool.  I imagine it
> would be a fairly short REP.  It reminds me that I have a draft for
> the roslocate tool that I can circulate as well so that we can
> finalize/vote on the API.
>   - Ken
>> -Ibrahim
>> On Thu, 18 Aug 2011 16:08:17 -0700, Ken Conley<kwc at willowgarage.com>
>> wrote:
>>> Here's a different take on a similar idea.  It would be great to
>>> combine into one tool as I think they are coming from the same
>>> motivation of "gimme the code".
>>> https://code.ros.org/lurker/message/20110713.092005.2f102738.en.html
>>> To summarize:
>>> # checkout all entries in foo.rosinstall to this directory
>>> rosco foo.rosinstall
>>> # lookup snippet for eigen and check it out
>>> roslocate info eigen --distro=unstable | rosco
>>> script here:
>>> https://kforge.ros.org/kwc/rosco/raw-file/437f02319ff3/rosco
>>> The main distinction is my version takes in a rosinstall fragment
>>> either as a filename or piped output.  The piped output may not be as
>>> straightforward as yours for people to grok.
>>> The main upgrade that yours would need is to deal with branches/tags
>>> properly.  Many of the git/hg URIs require a specific branch.  Also,
>>> you often need to distinguish between the released version of a
>>> package vs. the development branch.
>>> cheers,
>>> Ken
>>> On Thu, Aug 18, 2011 at 3:30 PM, Ibrahim Awwal
>>> <ibrahim.awwal at berkeley.edu>  wrote:
>>>> ... Because life's too short to spend time copying URLs off of ros.org
>>>> wiki
>>>> pages...
>>>> So, in a bout of severe laziness I wrote a tiny bash script to
>>>> automatically
>>>> checkout a package/stack that's listed on ros.org. I affectionately
>> call
>>>> it
>>>> rosco, short for ros checkout. You can grab it here:
>>>> https://gist.github.com/1155414 . If someone like this already exists,
>> I
>>>> will feel slightly foolish, but it took me a handful of minutes to
>> write
>>>> so
>>>> it's already saved me enough time to have been worth writing. It's
>> pretty
>>>> simple, stick it somewhere in your path (probably want to rename it to
>>>> rosco
>>>> and make it executable for ease of use) and then just give it the name
>> of
>>>> the package or stack you want to install. For example, all you need to
>>>> do to
>>>> check out the 3d_navigation stack (can't wait until it works btw!) is
>>>> type
>>>> `rosco 3d_navigation`, and it will look up the repository information
>>>> automatically and check it out. Currently supports svn, git, and hg,
>>>> because
>>>> those were the three that I noticed, haven't really found any
>> exhaustive
>>>> list of VCS software that's used in ROS packages though, mainly due to
>>>> lack
>>>> of trying (although I guess I could probably script that too). Depends
>> on
>>>> roslocate being on your PATH (which I guess comes as part of
>> rosinstall).
>>>> Happy coding!
>>>> --
>>>> -Ibrahim Awwal
>>>> _______________________________________________
>>>> ros-users mailing list
>>>> ros-users at code.ros.org
>>>> https://code.ros.org/mailman/listinfo/ros-users
>>> _______________________________________________
>>> ros-users mailing list
>>> ros-users at code.ros.org
>>> https://code.ros.org/mailman/listinfo/ros-users
>> --
>> -Ibrahim Awwal
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-users
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users

More information about the ros-users mailing list