-
Notifications
You must be signed in to change notification settings - Fork 89
[Build] Use latest commit of branch specified in .gitmodules file #3000
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
[Build] Use latest commit of branch specified in .gitmodules file #3000
Conversation
|
I always though this was by intention... Would it not mean that we now can't verify changes outside before updating submodule manually? |
|
If I understand correctly, this change should basically do nothing but making it easier to consistently modify the submodules (i.e., remote and maybe branch) for testing, doesn't it? The problem was that Jenkins builds used master branch in a hard-coded way while you can now just change the branch to be taken in the .gitmodules, right? But how does that relate to the version information of the submodules themselves (i.e., the references commit or tag id)? Will the commit/tag be taken unless you do a |
That's all correct. To quote from the In the current state (before this change) the Jenkins pipeline just always fetched the latest commit of the To make a long story short. For the default case, i.e. with outh modifications everything stays (or should stay) as it is now, it just becomes simpler to change a submodule to a different repo and branch. |
7889a56 to
96f6081
Compare
This simplifies trying out changes in a submodule and their effect on the entire Eclipse-SDK in advance. Instead of always fetching the latest commit from the master branch of the specified remote, fetch the latest commit of the branch specified in '.gitmodules' from each submodule's remote (also specified in '.gitmodules'). On the CLI this can be archived by the following command: ''' git submodule update --remote ''' But since the Jenkins job is already configured to checkout the submodules this way, nothing actually has to be done and the corresponding stage can just be removed. In order to try out a change with the entire Eclipse-SDK, now one just has to update the affected submodules in the '.gitmodules' file to point to the git-repository and the branch providing the change(s). Before, one either had to push changes to the 'master' branch of the alternative repository providing a change or had to disable the fetch in this Jenkins pipeline and record the change's commit in this aggregator repository along with changing the of the remote in '.gitmodules'. Of course all of this had to be known. Additionally add a comment explaining how to archive the just built product with a Jenkins build.
96f6081 to
1ea2bbd
Compare
This prevents maintenance branches from fetching the latest changes on the master branches of all submodules and therefore failing all builds early (because the submodule expect a newer parent-pom version). Follow-up on: - eclipse-platform#3000
This prevents maintenance branches from fetching the latest changes on the master branches of all submodules and therefore failing all builds early (because the submodule expect a newer parent-pom version). Follow-up on: - eclipse-platform#3000

This simplifies trying out changes in a submodule and their effect on the entire Eclipse-SDK in advance. Instead of always fetching the latest commit from the master branch of the specified remote, fetch the latest commit of the branch specified in
.gitmodulesfrom each submodule's remote (also specified in.gitmodules).In order to try out a change with the entire Eclipse-SDK, now one just has to update the affected submodules in the
.gitmodulesfile to point to the git-repository and the branch providing the change(s).Before, one either had to push changes to the 'master' branch of the alternative repository providing a change or had to disable the fetch in this Jenkins pipeline and record the change's commit in this aggregator repository along with changing the of the remote in
.gitmodules. Of course all of this had to be known.Additionally add a comment explaining how to archive the just built product with a Jenkins build.
@HeikoKlare IIRC you recently had difficulties to try out a change from a fork in the Eclipse-SDK. This should make it much simpler.