How would that work, if you don't mind explaining?
On the non-comitter's side:
- A non-committer forks the GitHub repo
- He now has a complete copy of this repo in his own account
- He clones his own fork to work on it locally
- He works locally, makes some commits, pushes to his fork, makes some more commits, pushes again, ... until he thinks his feature/bug fix/... is ready
- On GitHub, he hits the "pull request" button
- He selects the commits that he wants to be packaged in this pull request (if not all) - He chooses a source branch in his fork and a target branch in the original repo and sends the request

On the committer's side:
- A pull request appears in the list of pull requests (mails are also sent to notify interested people)
- A committer reviews the commits (GitHub will list all the diffs) and
- a/ sends a message back to the developer with instructions to tweak his changes in one way or the other - the non-committer fixes what was requested and submits his pull request again - b/ accepts the pull request and merges it into the target branch; this can happen in two ways 1/ it's a fast-forward merge: the committer just hits the button and the new code will be automatically merged
         2/ it's not: the committer resolves conflicts and merges manually

Regarding the workflow with big projects like Apache Flex:
I don't think the pull request concept is mentioned in the nvie article. So I guess there's going to be questions like:
- which branch(es) will non-committers have to target?
- will their code be merged into 'develop' directly or is a different workflow required? - maybe bugfixes go directly into 'develop', but new components go into a feature branch?

Reply via email to