Click here to return to top level Code Management page.
The procedure described below assumes that you have completed the Bitbucket setup described here.
The following steps describe the process for merging code contributions into the official Jetstream repository using Bitbucket. The procedure is to be performed, in turn, by each group member participating in a Jetstream code update. The Jetstream testing phase commences after the merging process is completed by all members in the Jetstream code update group.
Clean-up your development branch and merge it into your master branch
Begin by preparing your code contributions to be added to the official Jetstream central repository (upstream), e.g. Add descriptive comments to your code for new features, create input parameters to control new features, remove debugging print statements, etc...
Remove any extensions you may have added to the Jetstream executable name (see the VER variable shown below found in jetstream/Makefie)
# The VER variable can be used to create different version of the
# code. It propagates to the shared libraries as well, allowing for
# multiple versions to exist. A blank value will result in a default
# version. Note 1: Make sure that there are no spaces, even if just
# blank. For example, 'VER = test' will work, but 'VER = test ' will
# not! Note 2: Parallel and Lattice share the same file system, but
# they are not the same system, so the code needs to be compiled
# separately on both. So, if we are using both, we should keep two
# versions of the code.
ifeq ($(sys),parallel)
VER = p
else
VER =
endif
# Default is to compile the code without debugging.
debug=off
Turn off the PETSc compile flag. Not everyone has PETSc installed, so the Makefile in the official Jetstream repository should not compile with PETSc (see the PETSc compile variable shown below in jetstream/Makefile)
# Default is to compile the code without quadruple precision.
quad=off
# Default is to compile the code without PETSc.
petsc=off
include Make.in
TARGET = jetstream$(VER)_$(PLATFORM)
Commit your cleaned-up code changes to your development branch and merge changes into your master branch.
Create a branch with your code contributions to be added the official Jetstream central repository on Bitbucket
This is an isolated branch separate from your master branch that will contain the un-tested code contributions from you and the other members of the current jetstream update group.
Pull code updates from the official Jetstream repository on Bitbucket
$ git pull upstream jetstream_update
Resolve any conflicts that arise
Ensure that all compiling issues are resolved
Compile Jetstream and confirm that the executable has been successfully compiled (check that it has today's date stamp). After resolving any compiling issues, commit any changes to the jetstream_update branch
$ ./make_jetstream
$ ls -l ~/bin/jetstream_x86_64
$ git commit -a
Push the branch containing your code contributions to your public Jetsteam repository on Bitbucket
$ git push origin jetstream_update
Submit a pull request via Bitbucket to initiate a review of your code contributions
The steps below describe the procedure for submitting a pull request from the Bitbucket GUI.
Log into your Bitbucket account from a browser
Navigate to your personal public Jetstream repository located at: https://bitbucket.org/<your_user_name>/jetstream
Select "Create Pull Request" from the "Actions" list (located down the left-hand side of the browser window)
Select "jetstream_update" from the branch drop-down list of the source repository, i.e. <your_user_name>/jetstream
Select "jetstream_update" from the branch drop-down list of the destination repository, utiascompaero/jetstream
Enter "Jetstream Update <Your Name> yyyymmdd" in the Title field. Here's an example of a pull request title that uses the above format (For consistency, please follow this example when creating your pull request title):
Jetstream Update Howard Buckley 20150730
In the "Reviewers" field add the names of the other members of the current Jetstream code update group and any additional team members that you think may be interested in seeing your code contributions
Click the "Create pull request" button
Review code changes contained in the pull request
After the pull request is submitted, each reviewer will be notified. The pull request gives reviewers a chance to see the code changes before they are added to the official Jetstream repository and also allows reviewers to make comments or suggestions to improve the code or avoid potiential bugs. Reviewers are to follow the steps below to review and approve the pull request:
Log into your Bitbucket account from a browser
Navigate to your personal public Jetstream repository located at: https://bitbucket.org/<your_user_name>/jetstream
Select "Pull requests" from the "Dashboard" drop-down list (located across the top of the browser window) and click on the title of the pull request shown in the list of open pull requests to show details.
Review the code changes, then click the "Approve" button at the top right corner of the Pull request page
After all reviewers have approved the code changes, the administrator will merge the pull request into the "jetstream_update" branch of the official Jetstream repository.
Notify the next member of the Jetstream code update group to begin the merge process
The administrator will notify the next member in the group after merging of the current pull request is complete
The procedure described below assumes that you have completed the Bitbucket setup described here.
The following steps describe the process for merging code contributions into the official Jetstream repository using Bitbucket. The procedure is to be performed, in turn, by each group member participating in a Jetstream code update. The Jetstream testing phase commences after the merging process is completed by all members in the Jetstream code update group.
Clean-up your development branch and merge it into your master branch
Begin by preparing your code contributions to be added to the official Jetstream central repository (upstream), e.g. Add descriptive comments to your code for new features, create input parameters to control new features, remove debugging print statements, etc...Remove any extensions you may have added to the Jetstream executable name (see the VER variable shown below found in jetstream/Makefie)
Turn off the PETSc compile flag. Not everyone has PETSc installed, so the Makefile in the official Jetstream repository should not compile with PETSc (see the PETSc compile variable shown below in jetstream/Makefile)
Commit your cleaned-up code changes to your development branch and merge changes into your master branch.
Create a branch with your code contributions to be added the official Jetstream central repository on Bitbucket
This is an isolated branch separate from your master branch that will contain the un-tested code contributions from you and the other members of the current jetstream update group.Pull code updates from the official Jetstream repository on Bitbucket
Resolve any conflicts that ariseEnsure that all compiling issues are resolved
Compile Jetstream and confirm that the executable has been successfully compiled (check that it has today's date stamp). After resolving any compiling issues, commit any changes to the jetstream_update branchPush the branch containing your code contributions to your public Jetsteam repository on Bitbucket
Submit a pull request via Bitbucket to initiate a review of your code contributions
The steps below describe the procedure for submitting a pull request from the Bitbucket GUI.Review code changes contained in the pull request
After the pull request is submitted, each reviewer will be notified. The pull request gives reviewers a chance to see the code changes before they are added to the official Jetstream repository and also allows reviewers to make comments or suggestions to improve the code or avoid potiential bugs. Reviewers are to follow the steps below to review and approve the pull request:After all reviewers have approved the code changes, the administrator will merge the pull request into the "jetstream_update" branch of the official Jetstream repository.
Notify the next member of the Jetstream code update group to begin the merge process
The administrator will notify the next member in the group after merging of the current pull request is complete