From 86b386998055fd79b1d2eef83c892f9ec2bb9780 Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Thu, 18 Feb 2016 20:38:22 -0800 Subject: [PATCH 1/3] Remove old mapmerge driver --- .gitattributes | 1 - .gitconfig | 5 ----- 2 files changed, 6 deletions(-) delete mode 100644 .gitattributes delete mode 100644 .gitconfig diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 8a313292bb1..00000000000 --- a/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.dmm merge=merge-dmm diff --git a/.gitconfig b/.gitconfig deleted file mode 100644 index de5ff6f2542..00000000000 --- a/.gitconfig +++ /dev/null @@ -1,5 +0,0 @@ -[merge "merge-dmm"] - name = mapmerge driver - driver = ./mapmerge.sh %O %A %B - recursive = text - From 812fd0218286aaab3a572777f645395968e9a832 Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Thu, 18 Feb 2016 21:29:19 -0800 Subject: [PATCH 2/3] Add CONTRIBUTING.md, ISSUE_TEMPLATE.md --- .github/CONTRIBUTING.md | 127 ++++++++++++++++++++++++++++++++++++++ .github/ISSUE_TEMPLATE.md | 17 +++++ 2 files changed, 144 insertions(+) create mode 100644 .github/CONTRIBUTING.md create mode 100644 .github/ISSUE_TEMPLATE.md diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 00000000000..a67b17f717b --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,127 @@ +# CONTRIBUTING + +## Introduction +This is the contribution guide for Paradise Station. These guidelines apply to +both new issues and new pull requests. If you are making a pull request, please refer to +the [Pull request](#pull-requests) section, and if you are making an issue report, please +refer to the [Issue Report](#issues) section, as well as the +[Issue Report Template](ISSUE_TEMPLATE.md). + +## Commenting +If you comment on an active pull request, or issue report, make sure your comment is +concise and to the point. Comments on issue reports or pull requests should be relevant +and friendly, not attacks on the author or adages about something minimally relevant. +If you believe an issue report is not a "bug", please report it to the Maintainers, or +point out specifically and concisely your reasoning in a comment on the issue report. + +## Issues +The Issues section is not a place to request features, or ask for things to be changed +because you think they should be that way; The Issues section is specifically for +reporting bugs in the code. Refer to ISSUE_TEMPLATE for the exact format that your Issue +should be in. + +#### Guidelines: + - Issue reports should be as detailed as possible, and if applicable, should include + instructions on how to reproduce the bug. + +## Pull requests +Players are welcome to participate in the development of this fork and submit their own +pull requests. If the work you are submitting is a new feature, or affects balance, it is +strongly recommended you get approval/traction for it from our forums before starting the +actual development. + +#### Guidelines: + - Pull requests should be atomic; Make one commit for each distinct change, so if a part + of a pull request needs to be removed/changed, you may simply modify that single commit. + Due to limitations of the engine, this may not always be possible; but do try your best. + - Document and explain your pull requests thoroughly. Detail what each commit changes, + and why it changes it. We do not want to have to read all of you commit names to figure + out what your pull request is about. + - Any pull request that is not solely composed of fixes or non gameplay-affecting + refactors must have a changelog. See [here](../html/changelogs/__CHANGELOG_README.txt) + for more details, and [here](../html/changelogs/example.yml) for an example changelog. + Alternatively, inline changelogs are supported through the format described + [here](https://github.com/ParadiseSS13/Paradise/pull/3291#issuecomment-172950466). + - Pull requests should not have any merge commits except in the case of fixing merge + conflicts for an existing pull request. New pull requests should not have any merge + commits. Use `git rebase` or `git reset` to update your branches, not `git pull`. + +#### BYOND Specific Guidelines: + - Any `type` or `proc` paths **must** use absolute pathing unless the file you are + working in primarily utilizes relative pathing. + - Any pull requests that affect map files must use the map-merge tools. Pull requests + that do not follow this guideline will be automatically declined, unless explicit + permission was given. + - The following examples of code are present in the code, but are no longer acceptable: + - To display messages to all mobs that can view `src`, you should use + `visible_message()`. + - Bad: + ``` + for (var/mob/M in viewers(src)) + M.show_message("Arbitrary text") + ``` + - Good: + ``` + visible_message("Arbitrary text") + ``` + - You should not use color macros (`\red, \blue, \green, \black`) to color text, + instead, you should use span classes. `red text`, + `blue text`. + - Bad: + ``` + usr << "\red Red Text \black black text" + ``` + - Good: + ``` + usr << "Red Textblack text" + ``` + - To use variables in strings, you should **never** use the `text()` operator, use + embedded expressions directly in the string. + - Bad: + ``` + usr << text("\The [] is leaking []!", src.name, src.liquid_type) + ``` + - Good: + ``` + usr << "\The [src] is leaking [liquid_type]" + ``` + - To reference a variable/proc on the src object, you should **not** use + `src.var`/`src.proc()`. The `src.` in these cases is implied, so you should just use + `var`/`proc()`. + - Bad: + ``` + var/user = src.interactor + src.fillReserves(user) + ``` + - Good: + ``` + var/user = interactor + fillReserves(user) + ``` + + +## Maintainers +The only current official role for GitHub staff are the `Maintainers`. There are up to +three `Maintainers` at once, and they share equal power. The `Maintainers` are +responsible for properly tagging new pull requests and issues, moderating comments in +pull requests/issues, and merging/closing pull requests. + +### Maintainer List + - [MarkvA](https://github.com/Markolie) + - [Fox P McCloud](https://github.com/Fox-McCloud) + - [TheDZD](https://github.com/TheDZD) + +### Maintainer instructions + - Do not `self-merge`; this refers to the practice of opening a pull request, then + merging it yourself. A different maintainer must review and merge your pull request, no + matter how trivial. This is to ensure quality. + - A subset of this instruction: Do not push directly to the repository, always make a + pull request. + - Wait for the Travis CI build to complete. If it fails, the pull request may only be + merged if there is a very good reason (example: fixing the Travis configuration). + - Pull requests labeled as bugfixes and refactors may be merged as soon as they are + reviewed. + - The shortest waiting period for -any- feature or balancing altering pull request is 24 + hours, to allow other coders and the community time to discuss the proposed changes. + - If the discussion is active, or the change is controversial, the pull request is to be + put on hold until a consensus is reached. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 00000000000..d7646ecb97b --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,17 @@ +**Problem Description**: +What is the problem? + +**What did you expect to happen**: +Why do you think this is a bug? + +**What happened instead**: +How is what happened different from what you expected? + +**Why is this bad/What are the consequences:** +Why do you think this is an important issue? + +**Steps to reproduce the problem**: +The most important section. Review everything you did leading up to causing the issue. + +**Possibly related stuff (which gamemode was it? What were you doing at the time? Was +anything else out of the ordinary happening?)**: Anything else you can tell us. \ No newline at end of file From 1f7196de2ef58b19b25b2eb7b1eb5358891746c8 Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Fri, 19 Feb 2016 15:10:50 -0800 Subject: [PATCH 3/3] Copy some more from -tg-'s CONTRIBUTING.md --- .github/CONTRIBUTING.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index a67b17f717b..3d10f14d8e5 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -49,6 +49,45 @@ actual development. #### BYOND Specific Guidelines: - Any `type` or `proc` paths **must** use absolute pathing unless the file you are working in primarily utilizes relative pathing. + - Paths must begin with `/`. It should be `/obj/machinery/fancy_robot`, + not `obj/machinery/fancy_robot`. + - New bases of datum must begin with `/datum/`. `/datum/arbitrary_datum`, + not `/arbitrary_datum`. + - Don't use strings in combination with `text2path()` unless the paths are being + dynamically created. Variables can contain normal paths just fine. + - Don't duplicate code. If you have identical code in two places, it should probably + be a new proc that they both can use. + - No magic numbers/strings. If you have a number or text that is important and used in + your code, make a `#DEFINE` statement with a name that clearly indicates it's use. + - Do not use one-line control statements (if, else, for, while, etc). The space saved + is not worth the decreased readability. + - Control statements comparing a variable to a constant should be formatted `variable`, + `operator`, `constant`. This means `if(count <= 10)` is preferred over + `if(10 >= count)`. + - **Never** use a colon `:` operator to bypass type safety checks, unless you are doing + something where the tiny performance increase is incredibly noticeable (eg, a loop for + a huge list). You should properly typecast everything and use the period `.` + operator. + - Use early returns, and avoid far-indented if blocks. This means that you should not + do this: + ``` + /datum/datum1/proc/proc1() + if (thing1) + if (!thing2) + if (thing3 == 30) + do stuff + ``` + Instead, you should do this: + ``` + /datum/datum1/proc/proc1() + if (!thing1) + return + if (thing2) + return + if (thing3 != 30) + return + do stuff + ``` - Any pull requests that affect map files must use the map-merge tools. Pull requests that do not follow this guideline will be automatically declined, unless explicit permission was given.