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 version? -Ibrahim (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 > 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 >> 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 >>> 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@code.ros.org >>>> https://code.ros.org/mailman/listinfo/ros-users >>>> >>>> >>> _______________________________________________ >>> ros-users mailing list >>> ros-users@code.ros.org >>> https://code.ros.org/mailman/listinfo/ros-users >> -- >> -Ibrahim Awwal >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users >> > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users