Jetstream+Merge+via+Bitbucket

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) code
 * 1) The VER variable can be used to create different version of the
 * 2) code.  It propagates to the shared libraries as well, allowing for
 * 3) multiple versions to exist.  A blank value will result in a default
 * 4) version.  Note 1: Make sure that there are no spaces, even if just
 * 5) blank.  For example, 'VER = test' will work, but 'VER = test ' will
 * 6) not!  Note 2: Parallel and Lattice share the same file system, but
 * 7) they are not the same system, so the code needs to be compiled
 * 8) separately on both.  So, if we are using both, we should keep two
 * 9) versions of the code.

ifeq ($(sys),parallel) VER = p else VER = endif

debug=off
 * 1) Default is to compile the code without debugging.

code 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) code quad=off
 * 1) Default is to compile the code without quadruple precision.

petsc=off
 * 1) Default is to compile the code without PETSc.

include Make.in

TARGET = jetstream$(VER)_$(PLATFORM) code Commit your cleaned-up code changes to your development branch and merge changes into your master branch. code $ git commit -a $ git checkout master $ git merge  code

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. code $ git branch jetstream_update $ git checkout jetstream_update

code

Pull code updates from the official Jetstream repository on Bitbucket
code $ git pull upstream jetstream_update code **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 code $ ./make_jetstream $ ls -l ~/bin/jetstream_x86_64 $ git commit -a code

Push the branch containing your code contributions to your public Jetsteam repository on Bitbucket
code $ git push origin jetstream_update code

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. Jetstream Update Howard Buckley 20150730 code
 * 1) Log into your Bitbucket account from a browser
 * 2) Navigate to your personal public Jetstream repository located at: @https://bitbucket.org/ /jetstream
 * 3) Select "Create Pull Request" from the "Actions" list (located down the left-hand side of the browser window)
 * 4) Select "jetstream_update" from the branch drop-down list of the source repository, i.e. /jetstream
 * 5) Select "jetstream_update" from the branch drop-down list of the destination repository, utiascompaero/jetstream
 * 6) Enter "Jetstream Update  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):
 * code
 * 1) 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
 * 2) 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:
 * 1) Log into your Bitbucket account from a browser
 * 2) Navigate to your personal public Jetstream repository located at: @https://bitbucket.org/ /jetstream
 * 3) 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.
 * 4) 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