Difference between revisions of "Git Guidelines"

From Minetest Developer Wiki
Jump to navigation Jump to search
Line 34: Line 34:
  
 
[3] For a github pull request, this is easiest done by appending .patch to the pull request URL, wgetting it to your project directory and doing <code>git am whatever.patch</code>. Similarly for single commits.
 
[3] For a github pull request, this is easiest done by appending .patch to the pull request URL, wgetting it to your project directory and doing <code>git am whatever.patch</code>. Similarly for single commits.
 +
[[Category:Rules and Guidelines]]

Revision as of 21:25, 14 February 2015

This page is mostly directed to core developers with commit access to upstream repositories.

For instructions on basic usage, see Git.

For determining who is allowed to do what, see Organisation.

For guidelines about overall pull request quality, see Merging core pull requests to upstream.

Rules

Upstream branch rules

The master branch is not used for feature freezes. A new feature freeze branch ("freeze-x.x.x") is created when a release is to be made, to which bugfixes are applied until it's considered stable. (It can be extended to be a more complete release model later, but this is the important part for now.) (https://forum.minetest.net/viewtopic.php?f=3&t=11172)

he minetest and minetest_game contain the stable-0.4 branch, which has to be updated to the latest stable 0.4 series version at each release.

Upstream pull requests and issues

  • If a pull request or an issue does not get a response from its author in one month (when requiring more details), it is closed.
  • If an issue is a duplicate, refer to the first one and close the later ones.
  • People considering merging pull requests are not required to look anything up anywhere else than the pull request and its comments. If there is something blocking the merging of a pull request, the reason must be added as a comment to the pull request. This goes both ways: If you check a pull request to be mergeable, write a simple "+1" comment to it.

Upstream commit rules

  1. You can push something to upstream [1] only if two members of the core team [2] or the subsystem maintainer agrees on it. (See Organisation.)
  2. Commit messages must start with a capital letter and be in the present tense (look at the commit log)
  3. Do not modify history older than 10 minutes
  4. Use rebase, not merge, to get linear history. [3]

Notes

[1] Upstream is at https://github.com/minetest

[2] The team: https://github.com/minetest?tab=members

[3] For a github pull request, this is easiest done by appending .patch to the pull request URL, wgetting it to your project directory and doing git am whatever.patch. Similarly for single commits.