Skip to content
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

Use submodules? #30

Closed
dlech opened this issue Dec 30, 2014 · 12 comments
Closed

Use submodules? #30

dlech opened this issue Dec 30, 2014 · 12 comments

Comments

@dlech
Copy link
Member

dlech commented Dec 30, 2014

I would like to use the vala bindings for ev3dev/ev3dev#169 (so you can expect a pull request to update it to the current kernel). It would be nice if each language had its own submodule so that I can clone only the language that I want to use instead of having to clone everything.

For now though, I am going to try this: http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/

@dlech
Copy link
Member Author

dlech commented Dec 30, 2014

Well, git subtree didn't do what I wanted. It still cloned the entire ev3dev-lang repo and I was not able to just get the subdirectory that I wanted.

@WasabiFan
Copy link
Member

@dlech I don't see anything wrong with that (and it would make for easier separation, like you mentioned). Are you proposing that we create individual repos within the ev3dev org?

I'd welcome your input on the vala binding; you know much more about vala than I do, so having another set of eyes on it would be great.

P.S. I pushed a commit only a few minutes before you posted this that should bring the vala binding up to the most recent kernel.

@dlech
Copy link
Member Author

dlech commented Dec 30, 2014

Are you proposing that we create individual repos within the ev3dev org?

Technically speaking, the could be hosted anywhere. It might actually make more sense for the "owner" of each language to host it themselves, then they could manage their submodule(s) as they like and there would be less administrative work in the ev3dev org.

(and yes, saw the commit. 👍)

@WasabiFan
Copy link
Member

OK, that makes sense (tell me if I am misunderstanding). We separate the individual languages in to their own repos (under each user individually) and then bring them back in to the main repo with submodules. Then we can have issues and the core spec in this repo, and everything else owned by the maintainer. I like that system; that also means that everyone has full control over their sections, but not over everything.

As I understand it, that is what subtree is made to do, so it shouldn't be too difficult (even for me! 😉 ).

Do you think that the auto-generation scripts should live in the main repo? I'd say 'yes' because it really isn't useful for anything else.

@dlech
Copy link
Member Author

dlech commented Dec 30, 2014

You got it. For example, I have already split out the vala subdirectory here and added it as a subdirectory here.

It was as easy as...

git subtree split --prefix vala -b vala
git remote add dlech git@github.com:dlech/ev3dev-lang-vala
git push dlech vala:master
rm -rf vala/
git add . -A
git submodule add git://github.com/dlech/ev3dev-lang-vala vala
git commit

And yes, it makes sense for the auto-generation scripts to live in the main ev3dev-lang repo. Maintainers would clone the whole ev3dev-lang repo so that they could use the autogen script, but regular users would just clone a submodule so that they could use the library for the language that they want.

@WasabiFan
Copy link
Member

Did you want to use the repo that you created as "the repo", or should I create my own?

@dlech
Copy link
Member Author

dlech commented Dec 30, 2014

If you want me to take ownership of it, sure. I imagine I will be the primary consumer if I use it in brickman.

@WasabiFan
Copy link
Member

I think vala is a great language; I find it sad how little support there is for it. Anyway, I merged the vala submodule from your PR and will submodule-ify my JavaScript folder as well.

@WasabiFan
Copy link
Member

@dlech Should we disable issues on the individual repos to maintain all issues in one place, or keep instance-specific issues separate in their own repos?

@dlech
Copy link
Member Author

dlech commented Dec 30, 2014

I suppose it would be up to the maintainer of the submodule, but I think it makes sense to have issues enabled for each submodule so that the maintainer has full control over them.

@WasabiFan
Copy link
Member

@bmegli I recommend that you submodule-ify your R binding as well. If you separate yours like @dlech and I did, you will have full control over your code and won't have to operate through pull requests.

@WasabiFan
Copy link
Member

I think we can close this now -- we have transitioned a few of the libraries into submodules and they are serving their purpose well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants