Skip to content
This repository has been archived by the owner on May 28, 2019. It is now read-only.

Separate git repo for each language? #13

Closed
aslakhellesoy opened this issue Apr 5, 2015 · 9 comments
Closed

Separate git repo for each language? #13

aslakhellesoy opened this issue Apr 5, 2015 · 9 comments

Comments

@aslakhellesoy
Copy link
Contributor

Node.js' npm and PHP's Composer require packages/modules to be defined in the root of a repo. -At least if they are to be consumed as git repos. See #4 and #9 for more details.

My only reservation about splitting this repo into several repos (gherkin-csharp, gherkin-golang etc) is that it might make it more difficult to keep the implementations in sync. But maybe not.

All the language-specific repos would be "linked" to this repo using git submodule (or something similar), and maybe it wouldn't be that much of an issue.

WDYT?

@everzet
Copy link

everzet commented Apr 5, 2015

@muhqu
Copy link
Contributor

muhqu commented Apr 5, 2015

I like the subtree split idea. it shouldn't be pain when you think of the subtree split repository as some kind of release artifact. Like you would package software for download, you would push squashed changes to the split tree repository...

I just added a sample push-release target to the golang/Makefile... I temporarily pushed the changes to https://github.com/muhqu/go-gherkin3 ...

@mattwynne
Copy link
Contributor

A thousand times yes. This will help keep things sustainable as we add more languages.

If we keep a master repo that includes all the language implementations as submodules, that will make it easier for people who hack on multiple language versions, and we can also have one travis build for that repo to show that everything's working across languages. Maybe a bit like https://github.com/rspec/rspec-dev?

Seems to me the submodule repo names shout be gherkin3-go gherkin3-ruby etc to keep them sitting next to each other.

@muhqu
Copy link
Contributor

muhqu commented Apr 6, 2015

Fine with me, too.

@aslakhellesoy
Copy link
Contributor Author

Cool. Let's name them gherkin-ruby, gherkin-go etc, without the 3 in the name.

@chmontgomery
Copy link
Contributor

👍

@aslakhellesoy
Copy link
Contributor Author

@aslakhellesoy
Copy link
Contributor Author

Allright - it's all reorganised now. See CONTRIBUTING.md - the beginning of the file describes how this new subtree stuff works.

@muhqu your push-release target seems redundant now that there is add-remotes and push-subtrees targets in the root Makefile.

@aslakhellesoy
Copy link
Contributor Author

Allright - this is now done. It doesn't change much to the workflow. Keep working in this repo and do the occasional make push-subtrees.

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

No branches or pull requests

5 participants