BigW Consortium Gitlab
Better merge request manual instructions I noticed the current instructions for manually merging a merge request that was submitted from a fork could create unnecessary merge requests or strange history. Imagine this: 1. Alice creates a repository and commits / pushes a single commit with SHA1 `A` to `master`. 2. Bob forks this repository and creates a new branch `myfeature` on `master` (`A`) 3. Alice commits `B` to `master` (which has the parent `A`) 4. Bob creates two commits on `myfeature` `P` and `Q`. 5. Bob submits the merge request to merge his `myfeature` into Alice's `master` branch. 6. Alice follows the manual merge request instructions: 1. `git checkout -b bob/repo-myfeature master` 2. `git pull http://... myfeature` The branch `bob/repo-myfeature` was created from Alice's current `master`, which was `B`. When the `pull` is executed, git will fetch Bob's branch and then merged the fetched branch `Q` into the current branch's location `B`. This creates an unnecessary merge commit from `master` into the branch Alice is trying to merge. No harm is done, but the history is a bit messier. This is even worse if Alice has set `git pull` to rebase by default. In this case, the commit `B` is rebased on top of `Q`. When Alice checks out `master` and merges in the branch, there will actually be a duplicate `B` commit. These new instructions instead tell the user to fetch Bob's `myfeature` branch. This will fetch the necessary commits `P` and `Q` and create a temporary ref `FETCH_HEAD` pointing to `Q`. Alice will then create her local `bob/repo-myfeature` branch starting at `FETCH_HEAD`. No unnecessary merge commits, and no accidental rebasing. See merge request !16
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
show | Loading commit data... | |
_form.html.haml | Loading commit data... | |
_head.html.haml | Loading commit data... | |
_merge_request.html.haml | Loading commit data... | |
_new_compare.html.haml | Loading commit data... | |
_new_submit.html.haml | Loading commit data... | |
_show.html.haml | Loading commit data... | |
automerge.js.haml | Loading commit data... | |
branch_from.js.haml | Loading commit data... | |
branch_to.js.haml | Loading commit data... | |
diffs.html.haml | Loading commit data... | |
edit.html.haml | Loading commit data... | |
index.html.haml | Loading commit data... | |
invalid.html.haml | Loading commit data... | |
new.html.haml | Loading commit data... | |
show.html.haml | Loading commit data... | |
update.js.haml | Loading commit data... | |
update_branches.js.haml | Loading commit data... |