MPI Forum:
Introduction to
Git and GitHub Goodness
November 2, 2015
RTFW (Read the Fine Wiki)
Git / GitHub terminology
General MPI Forum GitHub scheme
General MPI Forum GitHub scheme
Issue
#28
Describe proposal
Attach PDFs
Refer to its corresponding PR (#107)
...etc.
(Public)
Pull Request #107
Easily see text / LaTeX diff
Should refer to its corresponding issue (#28)
(Private)
Git repo for LaTeX source code
(Private)
Wiki
(Public)
mpi-forum /
mpi-issues
(public)
mpi-forum /
mpi-standard
(private)
Who can access the source repo?
Branch scheme
3.x branch
4.x branch
MPI 4.0
MPI 4.1
MPI 3.2
Git tags
MPI 3.0
MPI 3.1
Typical proposal workflow
Create an issue:
describe the proposal
Create a pull request:
implement proposal in text
Link the issue and pull request
MPI Forum votes to approve the proposal
Get chapter committee to approve the pull request
(NEW)
Author
Editor
Forum
Chapter Committees
Pull request is merged
Chapter Committees / Authors help resolve merge issues (if any)
Errata Workflow
Errata Workflow (2)
3.x branch
MPI 3.2
Git tags
MPI 3.0
MPI 3.1
Pull request:
Clarify MPI_CANCEL for send requests (errata)
Proposal Workflow
https://github.com/mpi-forum/mpi-issues/wiki/Working-Group-Guidelines
Proposal Workflow: current branch
3.x branch
MPI 3.0
MPI 3.1
MPI 3.2
Pull request (for 3.2):
Proposal Workflow: next branch
3.x branch
4.x branch
MPI 3.0
MPI 3.1
Pull request:
Fault Tolerance (for MPI-4)
Branch does not exist yet
Where to base the pull request?
Proposal Workflow: next branch
3.x branch
4.x branch
MPI 3.0
MPI 3.1
Pull request:
Fault Tolerance (for MPI-4)
Branch does not exist yet
Until 4.x branch exists,
base it against 3.x branch
Proposal Workflow: next branch
3.x branch
4.x branch
MPI 3.0
MPI 3.1
Pull request:
Fault Tolerance (for MPI-4)
When 4.x branch is created,
rebase the pull request to 4.x branch
Proposal Workflow: current branch, when next branch already exists
3.x branch
4.x branch
MPI 3.0
MPI 3.1
MPI 3.2
Pull request:
Datatype support functionality (for MPI-3.2)
Merge down to 4.x branch
when PR merged to 3.x branch
Working Group workflows: general
mpi-forum
Github organization
Chapter authors, editors have write access to private repos
mpi-standard
Git repo
[Private]
mpi-issues
Git repo
[Public]
mpiwg-tools
Github organization
Working group members have write access to private repos
mpi-standard
Git repo
[Private]
Fork
jdinan
user
mpi-standard
Git repo
[Private]
Fork
Pull Request
Pull Request
Pull Request
Working Group workflow: option 1
mpi-forum
Github organization
mpi-standard
Git repo
mpiwg-ft
Github organization
mpi-standard
Git repo
Pull Request
mpi-3.x
branch
mpi-3.x
branch
ticket
branch
Sync from Forum to WG
Working Group workflow: option 2
mpi-forum
Github organization
mpi-standard
Git repo
mpiwg-tools
Github organization
mpi-standard
Git repo
Pull Request
integration
branch
ticket
branch
mpi-3.x
branch
mpi-3.x branch
Sync from Forum to WG
Other Notes
Demonstration: Simple pull request
High level steps for a pull request:
mpi-forum / mpi-issues repo
mpi-forum / mpi-standard repo
Public issue
Demonstration: Simple pull request
High level steps for a pull request:
mpi-forum / mpi-standard repo
jsquyres / mpi-standard repo
Fork
Demonstration: Simple pull request
High level steps for a pull request:
jsquyres / mpi-standard repo
mpi-standard repo
Clone
Demonstration: Simple pull request
High level steps for a pull request:
mpi-standard repo
mpi-3.x branch
my-changes branch
Demonstration: Simple pull request
High level steps for a pull request:
mpi-standard repo
mpi-3.x branch
my-changes branch
Demonstration: Simple pull request
High level steps for a pull request:
jsquyres / mpi-standard repo
mpi-standard repo
Push
my-changes branch
my-changes branch
Demonstration: Simple pull request
High level steps for a pull request:
mpi-forum / mpi-standard repo
jsquyres / mpi-standard repo
Pull request
my-changes branch
mpi-3.x
branch
Demonstration
RTFW (Read the Fine Wiki)