|
|
|
This page will be moved to a proper place later. It is written here to simplify the authoring / review process.
|
|
|
|
|
|
|
|
--
|
|
|
|
|
|
|
|
# Using merge requests
|
|
|
|
|
|
|
|
## Submitting a merge request
|
|
|
|
|
|
|
|
Commit in a branch and submit merge request to merge this branch in master.
|
|
|
|
|
|
|
|
Breifly describe the reasons for these changes in the merge request description. No need to repeat the individual commit messages.
|
|
|
|
|
|
|
|
|
|
|
|
## Reviewing a merge request
|
|
|
|
|
|
|
|
Make sure the merge requests contains test. If this is a new feature, a test must exercice this new feature. If this is a bug fix, then a test to reproduce the fixed bug is usually required.
|
|
|
|
|
|
|
|
Make sure the merge request comply with:
|
|
|
|
* Naming conventions http://www.erp5.org/GuidelinesForNamingConvention
|
|
|
|
* If this is ERP5 modules / business templates http://www.osoe-project.org/bt5-Module.Creation.Guidelines
|
|
|
|
* Other guidelines http://www.erp5.org/Guidelines
|
|
|
|
|
|
|
|
Make sure the merge request does not contain [performance crimes](http://www.erp5.org/GuidelinesForPerformanceCrimes) .
|
|
|
|
|
|
|
|
## Accepting / rejecting a merge request
|
|
|
|
|
|
|
|
( when to use apply patches / merge as topic ? )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Tips
|
|
|
|
|
|
|
|
### Using interdiff
|
|
|
|
|
|
|
|
After updating patches following up reviewers suggestion, the review process can be simplified if submiter produces an `interdiff` to show clearly what is different with the new version of the patches.
|
|
|
|
|
|
|
|
|
|
|
|
There is `interdiff` command to create diff between 2 patches:
|
|
|
|
|
|
|
|
http://linux.die.net/man/1/interdiff
|
|
|
|
(package patchutils usually)
|
|
|
|
|
|
|
|
we can use it in combination with git:
|
|
|
|
|
|
|
|
```
|
|
|
|
$ git diff origin/master...t >1 # diff for first patch version (NOTE 3 dots)
|
|
|
|
$ git diff origin/master...t2 >2 # diff for second patch version
|
|
|
|
$ interdiff 1 2
|
|
|
|
```
|
|
|
|
|
|
|
|
Now this can be simplified to
|
|
|
|
|
|
|
|
```
|
|
|
|
$ interdiff <(git diff origin/master...t) <(git diff origin/master...t2)
|
|
|
|
```
|
|
|
|
|
|
|
|
In case you have the changes on your own single branch and update that branch on server via git push it can be
|
|
|
|
|
|
|
|
```
|
|
|
|
$ interdiff <(git diff origin/master...camata/branchname@{1}) <(git diff origin/master...camata/branchname)
|
|
|
|
```
|
|
|
|
|
|
|
|
Note @{1} here - it means how that branch was 1 change _before_. (You can read more about it in git-reflog documentation https://git-scm.com/docs/git-reflog)
|
|
|
|
|
|
|
|
Generally speaking using plaing `git diff t t2` is not correct, because base revision for those two patchsets can be different (origin/master could be not the same for t2, compared when t was created) and the diff will include what has been changed in origin/master@{1}..origin/master - not your changes.
|
|
|
|
|
|
|
|
But in case base commit is the same, plain `git diff t t2` or `git diff camata/branchname@{1}..camata/branchname` works ok. |