-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consolidate rgbd repositories into a single repo #30
Comments
I understand the issues with extra maintenance effort. If you would prefer, you can also merge I also recommend calling the repository |
@piyushk I'm only doing the release tasks for these packages so feedback from actual developers like you is appreciated. Do you mean to include |
@130s Thanks for spending time releasing! Yes, that is exactly what I meant! |
I see. @piyushk could you provide one more feedback? A caveat I can think of by the unified release from the aggregated repo is that all packages need to align the same package version. The current ersions taken from the main branch of each repo:
I propose either:
|
That's the only repository. There are multiple packages inside it. I would recommend |
What about openni2_camera and openni2_launch? openni2_launch also depends on rgbd_launch, so by that logic it should also go into that merged repo. Personally, I'm not convinced of the proposal to merge everything together. Especially openni2_camera, openni_camera and freenect_stack don't seem to have any inter-dependencies (please correct me if I'm wrong). It might be more convenient to release everything in one go, but I think this is outweighed by the loss of clarity when trying to pinpoint a bug in one mega-repository. Also, there are third-party packages for cameras such as the Orbbec Astra that include rgbd_launch. It's a bit weird for them to require the freenect, openni and openni2 libraries just to include some launch file. Just my 2 cents, it's up to you maintainers to decide. :) |
Note also the Intel Realsense integration (https://github.com/intel-ros/realsense) uses rgbd_launch, so forcing installation of all openni-related s/w appears undesirable. |
Thanks for the inputs!
If the developers of downstream driver packages (say Astra's ROS pkg) want to build the upstream driver packages from source, yes they would clone unnecessary codes in addition, which I realized a bit less useful/user-friendly (or whatever appropriate way you call) indeed. How about coupling only those that makes more sense?
So, new proposed layout (top level is a repository):
For Not sure how necessary meta packages are for these consolidation, since the dependency is only one-way from launch to driver, not the other way round, so that even those who build from source |
So, if I understand you correctly, you're now proposing to merge openni_camera and openni_launch into one repo, openni2_camera and openni2_launch into a second repo, and keep rgbd_launch separate? That makes sense to me. |
@130s: Your proposed solution sounds good to me, and I think conforms with the other feedback provided. 👍 |
Thanks @130s for the initiative! |
@mikaelarguedas |
@130s If we want to go all the way yeah we would wait until ROS-M. Then its a judgement call. I'm usually trying to not make any potentially breaking change in LTS distros but allow myself to try out changes that I think are beneficial on non-LTS without waiting for the next distro to be out. So in this case I'd branch out for lunar and consolidate the repos on |
I see. That by itself makes sense. Then with making multiple branches for live distros, obviously we'd need to maintain branches (cherry-picking etc.) Making new releases from multiple branches also adds up more work no matter how small it is. In addition personall, primary motivation for my maintenance contribution is for Indigo as my main project is still on Indigo. With all of these, I'd suggest:
This way, existing usecases shouldn't be broken. Only (minor) caveats:
I think these can be mitigated by making proper announcement and adding a notification at the old repo. |
…drivers/openni_launch. See ros-drivers/openni_launch#30 (comment) for the decision for this change. Preserving commit history was attempted (using the method in http://www.pixelite.co.nz/article/extracting-file-folder-from-git-repository-with-full-git-history), but didn't seem to easily work due to ros-drivers/openni_launch#4 that resurrects the change made previously in a few files and somehow `git am` command stops. So unfortunately, instead of spending more time on trying to save the commit history, I suggest to move forward.
Thank you for the discussion. Closing as I've done pretty much all moving chore:
|
I disabled the "issue" feature on this repo to avoid new issues, but apparently it will disabled access to all existing issues regardless open or not. So I re-enabled the issue. Also, I could import closed issues if I wanted to, but that would send many spams to the subscribers on the new repo so I refrained. |
* [IKL] Merge openni_{camera, launch} into a single repo. Following the decision in ros-drivers/openni_launch#30 * [IKL] openni_camera version adjust to release repo. * [openni_camera][lunar] Disable source test. As ros-drivers/openni_camera#56 (comment), test might always fail on GitHub for UNSTABLE, which makes the maintenance harder.
The following repositories contain a single package. I suggest to create a new repo where we move all of these 3 packages to, in order to reduce the maintenance effort.
Background
Despite the inactive development, the release tasks for these packages still takes certain amount of work. For Lunar this time, I took charge of it and for total it took almost an hour, mainly because these packages are inter-depended and I had to make release one by one and wait for the binary to become ready, in order for
bloom
to be able to resolve the necessary dependency.Suggested solution
Create a new repo and move all of these 3 packages there.
Suggestion for the repo name appreciated. Here I temporarily use
openni_meta
.New repo and the contents (being updated over time taking suggestions in):
openni_meta
is a meta package that run_depends on these 3 packages.The text was updated successfully, but these errors were encountered: