Skip to content
Elijah edited this page May 26, 2017 · 3 revisions

Welcome to the DevOpTester/IBAMR wiki!

This repository functions as a mirror of IBAMR/IBAMR as a well as a testing ground for developers working on IBAMR's continuous integration system.

How to sync DevOpTester/IBAMR/ with IBAMR/IBAMR

Ideally, this repository will be a "superset" of IBAMR/IBAMR, containing all the same branches as IBAMR/IBAMR as well as any additional branches that are useful

To set up your local copy of DevOpTester/IBAMR:

$ mkdir -p $HOME/sfw/ibamr
$ cd $HOME/sfw/ibamr
$ git clone https://github.com/DevOpTester/IBAMR.git devoptester-ibamr
$ cd devoptester-ibamr
$ git remote add upstream https://github.com/IBAMR/IBAMR.git

Because we DO NOT want to accidentally push to IBAMR/IBAMR, as all changes to master in IBAMR/IBAMR should originate as pull requests, we can override the push url to our upstream repository:

$ git remote set-url --push upstream DONTPUSH
$ git remote -v

origin  https://github.com/DevOpTester/IBAMR.git (fetch)
origin  https://github.com/DevOpTester/IBAMR.git (push)
upstream        https://github.com/IBAMR/IBAMR.git (fetch)
upstream        DONTPUSH (push)

Now, to make sure we have the most recent changes of IBAMR/IBAMR:

$ git fetch upstream
$ git checkout master
$ git merge upstream/master
$ git push origin master

A similar process can be used to update other branches. Ideally, we would not make commits directly to any of the DevOpTester/IBAMR branches that are tracking IBAMR/IBAMR branches. Rather, checkout the branch of interest from IBAMR/IBAMR and then create your own branch based off of that branch.

Example: I want to make some changes based of of the branch at upstream/other_user/feature_branch

$ git fetch upstream
$ git checkout -b my_user_name/feature_branch upstream/other_user/feature_branch

After making changes, push this branch to DevOpTester/IBAMR

$ git push origin my_user_name/feature_branch

If you are feeling uncertain, do a dry run before pushing!! This can be acheived with the -n flag (equivalent to --dry-run) Example:

$ git push origin my_user_name/feature_branch -n
Username for 'https://github.com': my_user_name
Password for 'https://deleeke@github.com':
To https://github.com/DevOpTester/IBAMR.git
 * [new branch]      my_user_name/feature_branch -> my_user_name/feature_branch

This shows that, indeed, you will be pushing to DevOpTester/IBAMR your new branch.

Clone this wiki locally