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

Avoid using submodules because its annoying #633

Closed

Conversation

1000TurquoisePogs
Copy link
Member

It had been discussed that because we have a way of linking to different github places without use of submodules, we should just stop using submodules for zowe-common-c.
submodules are annoying to everyone, so why not use our proj files instead?

Signed-off-by: 1000TurquoisePogs <sgrady@rocketsoftware.com>
… deps-based zowe-common-c

Signed-off-by: 1000TurquoisePogs <sgrady@rocketsoftware.com>
Signed-off-by: 1000TurquoisePogs <sgrady@rocketsoftware.com>
…op-using-submodule

Signed-off-by: 1000TurquoisePogs <sgrady@rocketsoftware.com>
Signed-off-by: 1000TurquoisePogs <sgrady@rocketsoftware.com>
@ifakhrutdinov
Copy link
Contributor

Although I don't agree with the idea, you can already use submodules to track branches:

Setting things up:

git submodule set-branch --branch v2.x/staging -- zowe-common-c
git commit .gitmodule

Using it:

git clone --recursive git@github.com:zowe/zss.git
git submodule update --remote --recursive

This will bring the submodules to the latest state of their branches.

Briefly, I can see the following issues with both the approaches though:

  • Not tracking concrete commits is error prone as there will be cases where something goes out of sync
  • You cannot go back and check the state of the ZSS repo at a certain point because you wouldn't know what state of zowe-common-c it was pointing at that moment
  • Merging, for example, v2.x/staging into master will get complicated as you'll have either conflicting .gitmodules or your proj files since they need to point to their own respective branches.

I know there is an attitude of "who cares if staging breaks", but with this approach the amount of issues like that will likely increase. And breaking staging is not good either in my opinion. We have complicated authorized code that can potentially bring the system down because someone will update zowe-common-c without taking into account the state of the ZSS repo.

Could explain more how submodules make your development process more complicated and how are they annoying? Perhaps I can share tips and tricks that can make the issues go away.

Let's discuss this.

@github-actions github-actions bot added the stale-reopen-if-needed An issue closed due to inactivity. No indication of completion or validity. label Feb 6, 2024
@github-actions github-actions bot closed this May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale-reopen-if-needed An issue closed due to inactivity. No indication of completion or validity.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants