[ci-skip] Improving contributing file (#777)

This commit is contained in:
Andre_601 2023-03-31 07:25:50 +02:00 committed by GitHub
parent 2faf975aab
commit c0b3809024
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 43 additions and 34 deletions

View File

@ -35,21 +35,27 @@ Modifying previous patches is a bit more complex:
### Method 1 ### Method 1
This method works by temporarily resetting HEAD to the desired commit to edit using rebase. This method works by temporarily resetting HEAD to the desired commit to edit using rebase.
Make sure to be in the `Waterfall-Proxy` directory for the following steps.
1. If you have changes you are working on type `git stash` to store them for later. 1. If you have changes you are working on type `git stash` to store them for later.
- Later you can type `git stash pop` to get them back. - Later you can type `git stash pop` to get them back.
2. Type `git rebase -i upstream/upstream` 2. Type `git rebase -i upstream/upstream`
- It should show something like [this](https://gist.github.com/electronicboy/6241e511c4a1f5d3e0217be1d742ff6a). - It should show something like [this](https://gist.github.com/electronicboy/6241e511c4a1f5d3e0217be1d742ff6a).
3. Replace `pick` with `edit` for the commit/patch you want to modify, and "save" the changes. 3. Replace `pick` with `edit` for the commit/patch you want to modify, and "save" the changes.
- Only do this for one commit at a time. - Only do this for one commit at a time.
- Commits/Patches are in order for when they were made, so if you f.e. want to modify patch 0003, you would pick commit 3 in the list.
4. Make the changes you want to make to the patch. 4. Make the changes you want to make to the patch.
5. Type `git add .` to add your changes. 5. Type `git add .` to add your changes.
6. Type `git commit --amend` to commit. 6. Type `git commit --amend` to commit.
- **MAKE SURE TO ADD `--amend`** or else a new patch will be created. - **MAKE SURE TO ADD `--amend`** or else a new patch will be created.
- You can also modify the commit message here. - You can also modify the commit message here.
7. Type `git rebase --continue` to finish rebasing. 7. Type `git rebase --continue` to finish rebasing.
8. Type `./waterfall rb` in the main directory. 8. Type `./waterfall rb` in the **main directory**.
- This will modify the appropriate patches based on your commits. - This will modify the appropriate patches based on your commits.
9. PR your modifications back to this project. 9. Type `git add .` to add your changes.
10. Type `git commit` to commit.
11. Push the changes to your fork with `git push`
12. PR your modifications back to this project.
### Method 2 (sometimes easier) ### Method 2 (sometimes easier)
If you are simply editing a more recent commit or your change is small, simply making the change at HEAD and then moving the commit after you have tested it may be easier. If you are simply editing a more recent commit or your change is small, simply making the change at HEAD and then moving the commit after you have tested it may be easier.
@ -59,8 +65,11 @@ If you are simply editing a more recent commit or your change is small, simply m
3. Type `git rebase -i upstream/upstream`, move (cut) your temporary commit and move it under the line of the patch you wish to modify. 3. Type `git rebase -i upstream/upstream`, move (cut) your temporary commit and move it under the line of the patch you wish to modify.
4. Change the `pick` with `f` (fixup) or `s` (squash) if you need to edit the commit message 4. Change the `pick` with `f` (fixup) or `s` (squash) if you need to edit the commit message
5. Type `./waterfall rb` in the main directory 5. Type `./waterfall rb` in the main directory
- This will modify the appropriate patches based on your commits - This will modify the appropriate patches based on your commits
6. PR your modifications to github 6. Type `git add .` to add your changes.
7. Type `git commit` to commit.
8. Push the changes to your fork with `git push`
9. PR your modifications to github
## PR Policy ## PR Policy
@ -71,31 +80,31 @@ While we will fix minor formatting issues, you should stick to the guide below w
All modifications to non-Waterfall files should be marked All modifications to non-Waterfall files should be marked
- Multi line changes start with `// Waterfall start` and end with `// Waterfall end` - Multi line changes start with `// Waterfall start` and end with `// Waterfall end`
- You can put a messages with a change if it isn't obvious, like this: `// Waterfall start - reason` - You can put a messages with a change if it isn't obvious, like this: `// Waterfall start - reason`
- Should generally be about the reason the change was made, what it was before, or what the change is - Should generally be about the reason the change was made, what it was before, or what the change is
- Multi-line messages should start with `// Waterfall start` and use `/* Multi line message here */` for the message itself - Multi-line messages should start with `// Waterfall start` and use `/* Multi line message here */` for the message itself
- Single line changes should have `// Waterfall` or `// Waterfall - reason` - Single line changes should have `// Waterfall` or `// Waterfall - reason`
- For example: - For example:
````java ````java
return getConfig().getNotStupid(); // Waterfall - was return getConfig().getStupid(); return getConfig().getNotStupid(); // Waterfall - was return getConfig().getStupid();
// Waterfall start // Waterfall start
// con.disconnect( bungee.getTranslation( "lost_connection" ) ); // con.disconnect( bungee.getTranslation( "lost_connection" ) );
ServerInfo def = con.updateAndGetNextServer( server.getInfo() ); ServerInfo def = con.updateAndGetNextServer( server.getInfo() );
ServerKickEvent event = bungee.getPluginManager().callEvent( new ServerKickEvent( con, server.getInfo(), TextComponent.fromLegacyText( bungee.getTranslation( "lost_connection" ) ), def, ServerKickEvent.State.CONNECTED, ServerKickEvent.Cause.LOST_CONNECTION ) ); ServerKickEvent event = bungee.getPluginManager().callEvent( new ServerKickEvent( con, server.getInfo(), TextComponent.fromLegacyText( bungee.getTranslation( "lost_connection" ) ), def, ServerKickEvent.State.CONNECTED, ServerKickEvent.Cause.LOST_CONNECTION ) );
if ( event.isCancelled() && event.getCancelServer() != null ) if ( event.isCancelled() && event.getCancelServer() != null )
{ {
server.setObsolete( true ); server.setObsolete( true );
con.connectNow( event.getCancelServer() ); con.connectNow( event.getCancelServer() );
} }
else else
{ {
con.disconnect0( event.getKickReasonComponent() ); con.disconnect0( event.getKickReasonComponent() );
} }
// Waterfall end // Waterfall end
```` ````
- We generally follow usual java style, or what is programmed into most IDEs and formatters by default - We generally follow usual java style, or what is programmed into most IDEs and formatters by default
- This is also known as oracle style - This is also known as oracle style
- It is fine to go over 80 lines as long as it doesn't hurt readability - It is fine to go over 80 lines as long as it doesn't hurt readability
- There are exceptions, especially in Bungeecord-related files - There are exceptions, especially in Bungeecord-related files
- When in doubt, use the same style as the surrounding code - When in doubt, use the same style as the surrounding code