prbonn / catkin_tools_fetch Goto Github PK
View Code? Open in Web Editor NEW:dog2: "fetch" and "update" dependencies of projects in your catkin workspace with a new verb "dependencies" for catkin_tools
License: Other
:dog2: "fetch" and "update" dependencies of projects in your catkin workspace with a new verb "dependencies" for catkin_tools
License: Other
I got an error with catkin fetch in a CI environment, seems to me that some spaces are too much: Look at "image_template.git". The package has two dependencies that are correctly listed. Here's the output:
$ catkin fetch --default_url [email protected]:ipb-tools
INFO:fetch: Avoid fetching ROS packages.
INFO:fetch: [ROS]: Searching all packages.
INFO:fetch: [ROS]: Not found. Ignoring pre-defined ROS packages.
INFO:fetch: Searching for dependencies.
INFO:fetch: [fop] : Found 3 dependencies.
INFO:fetch: [catkin] : Found 2 dependencies.
INFO:fetch: Checking merged dependencies:
INFO:fetch: [image_template ] : [email protected]:ipb-tools/image_template .git
INFO:fetch: [noise_estimation] : [email protected]:ipb-tools/noise_estimation.git
INFO:fetch: [cmake] : [NOT FOUND]
INFO:fetch: [catkin] : [IGNORED]
INFO:fetch: [python-empy] : [NOT FOUND]
INFO:fetch: Cloning valid dependencies:
ERROR:fetch: [image_template ] : [ERROR] Git error code: 129
INFO:fetch: [noise_estimation] : [CLONED]
INFO:fetch: New packages available. Process their dependencies now.
INFO:fetch: Searching for dependencies.
INFO:fetch: [noise_estimation] : Found 2 dependencies.
INFO:fetch: Checking merged dependencies:
INFO:fetch: [catkin] : [IGNORED]
INFO:fetch: [image_template] : [email protected]:ipb-tools/image_template.git
INFO:fetch: Cloning valid dependencies:
INFO:fetch: [image_template] : [CLONED]
INFO:fetch: New packages available. Process their dependencies now.
INFO:fetch: Searching for dependencies.
INFO:fetch: [image_template] : Found 1 dependencies.
INFO:fetch: Checking merged dependencies:
INFO:fetch: [catkin] : [IGNORED]
INFO:fetch: New packages available. Process their dependencies now.
INFO:fetch: Searching for dependencies.
INFO:fetch: No new dependencies. Done.
and with verbose:
$ catkin fetch --verbose --default_url [email protected]:ipb-tools
DEBUG:fetch: Enabling DEBUG output.
INFO:fetch: Avoid fetching ROS packages.
INFO:fetch: [ROS]: Searching all packages.
INFO:fetch: [ROS]: Not found. Ignoring pre-defined ROS packages.
INFO:fetch: Searching for dependencies.
INFO:fetch: [fop] : Found 3 dependencies.
INFO:fetch: [catkin] : Found 2 dependencies.
INFO:fetch: Checking merged dependencies:
INFO:fetch: [image_template ] : [email protected]:ipb-tools/image_template .git
INFO:fetch: [noise_estimation] : [email protected]:ipb-tools/noise_estimation.git
INFO:fetch: [cmake] : [NOT FOUND]
INFO:fetch: [catkin] : [IGNORED]
INFO:fetch: [python-empy] : [NOT FOUND]
INFO:fetch: Cloning valid dependencies:
DEBUG:fetch: Clone output: Too many arguments.
usage: git clone [options] [--] <repo> [<dir>]
-v, --verbose be more verbose
-q, --quiet be more quiet
--progress force progress reporting
-n, --no-checkout don't create a checkout
--bare create a bare repository
--mirror create a mirror repository (implies bare)
-l, --local to clone from a local repository
--no-hardlinks don't use local hardlinks, always copy
-s, --shared setup as shared repository
--recursive initialize submodules in the clone
--recurse-submodules initialize submodules in the clone
--template <template-directory>
directory from which templates will be used
--reference <repo> reference repository
-o, --origin <name> use <name> instead of 'origin' to track upstream
-b, --branch <branch>
checkout <branch> instead of the remote's HEAD
-u, --upload-pack <path>
path to git-upload-pack on the remote
--depth <depth> create a shallow clone of that depth
--single-branch clone only one branch, HEAD or --branch
--separate-git-dir <gitdir>
separate git dir from working tree
-c, --config <key=value>
set config inside the new repository
ERROR:fetch: [image_template ] : [ERROR] Git error code: 129
INFO:fetch: [noise_estimation] : [CLONED]
INFO:fetch: New packages available. Process their dependencies now.
INFO:fetch: Searching for dependencies.
INFO:fetch: [noise_estimation] : Found 2 dependencies.
INFO:fetch: Checking merged dependencies:
INFO:fetch: [catkin] : [IGNORED]
INFO:fetch: [image_template] : [email protected]:ipb-tools/image_template.git
INFO:fetch: Cloning valid dependencies:
INFO:fetch: [image_template] : [CLONED]
INFO:fetch: New packages available. Process their dependencies now.
INFO:fetch: Searching for dependencies.
INFO:fetch: [image_template] : Found 1 dependencies.
INFO:fetch: Checking merged dependencies:
INFO:fetch: [catkin] : [IGNORED]
INFO:fetch: New packages available. Process their dependencies now.
INFO:fetch: Searching for dependencies.
INFO:fetch: No new dependencies. Done.
ERROR: Build failed: exit code 1
It should be possible to update all repositories to their newest state. There should be options on what to do with conflicts, e.g.:
Fetch and update can take much less time if they are executed in parallel. We can implement this using asyncio or trollius.
Needed:
Currently, when specifying a specific Url for a package it has to be specified in full. Allow for more freedom here. For example. Currently one has to do the following:
<export>
<git_url target="foo" url="https://github.com/USER/foo.git"/>
</export>
It would be nice to not duplicate the name of the package if applicable:
<export>
<git_url target="foo" url="https://github.com/USER"/>
</export>
These can at least store default urls for now. Can be stored in .config/catkin_fetch/config.yml
and in the workspace.
Currently, we only check if the repo already exists in the catkin workspace. We could also pull the package in case it exists and make sure it is up to date. This way there is no need to run catkin deps update
after running catkin deps fetch
.
We want to be able to check out a branch for a specific project.
There is an issue that arises when working with https links that require user and password. Currently the code just silently fails when git tries to ask the user for username and password. I believe we could block the thread that asks for this and wait till the user provides the asked info. We need to make sure we block all the other threads while the user is inputting the data.
Hey there. I am trying to run it on a virtual machine, and I got error as this:
Unable to handle package.xml format version '3'
I tried with sudo apt-get update && sudo apt-get install --only-upgrade python-catkin-pkg, but it is still not working... do you have any idea? Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.