Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit d62890c

Browse filesBrowse files
authored
Add branching strategy and contribution guide (#53)
Add branching strategy explanation and contributing guide for new developers on how to work on the project.
1 parent 8a1284b commit d62890c
Copy full SHA for d62890c

7 files changed

+77
-1
lines changed

‎CONTRIBUTING.md

Copy file name to clipboard
+67Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<!-- TODO: Create new screen shots for this project -->
2+
# Branching
3+
4+
## The branching strategy
5+
6+
The branching strategy looks like this:
7+
8+
The short description of the branching strategy is as follows. The feature branches are a category of branches that branch out of the `develop` branch. A person branches out from develop, works on a given feature on their branch and when the feature is ready they submit a Pull Request to merge again into the develop branch. After the review process is finished the commits from the branch should be squashed and then merged into `develop` (GitHubs WebUI provides that). Therefore each commit that lands on the `develop` branch is an addition of a feature, documentation etc.. When an arbitrary set of new features is completed and could be deemed as a new release (release cycle should follow the [semver](https://semver.org/) convention) it should be merged into `main` (of course it should also follow the process of a Pull Request and reviews) when it is merged into `main` additional testing, validation etc. should be done as this is now a release candidate. If the state of the code is deemed safe and proper it should be released as a new version of the software. This should be done by tagging which marks a given commit a release candidate which should automatically trigger a series of CI/CD checks and if they succeed the software package will be finally released.
9+
10+
![branching](img/branching.png)
11+
12+
## Creating a task
13+
14+
TL;DR
15+
16+
If you want to work on something create an issue for that.
17+
18+
1. Fill out the name for the issue
19+
2. Provide a description for the task and what are your plans etc.
20+
3. If you know you will be working on that task assign yourself
21+
4. Add applicable labels to the task, e.g. if you are solving a bug then add `Bug`, if adding a new functionality add `Enhancement` etc.
22+
5. Assign the task to the `rust-pip` project
23+
6. If applicable assign the task to a given milestone
24+
7. Submit the issue/task
25+
26+
![issue](img/task_issue_creation.png)
27+
28+
## Creating a branch and using it
29+
30+
Then when you have created an issue for you task click the `Create new branch` in the lower right corner:
31+
32+
![cr](img/create_a_branch.png)
33+
34+
Click on the `Change branch source`, then:
35+
36+
1. Make sure that the actual branch name is concise and fairly short
37+
2. *Make sure that you branch out from the `develop` branch!*
38+
3. Make sure `Checkout locally` is selected
39+
4. Click the create branch button
40+
41+
![lol](img/actual_create_branch.png)
42+
43+
Now a branch has been created for you, copy the commands needed for you to use it:
44+
45+
![asd](img/checkout.png)
46+
47+
In you cloned repository open a terminal and paste the copied commands. Now you should be on your newly created branch and you can start working. To make sure you are on that branch run:
48+
49+
```bash
50+
$ git branch
51+
* 16-task-number-do-something-with-something
52+
...
53+
```
54+
55+
The branch on which you currently reside will be marked with a `*`.
56+
Next simply keep working on your branch, push commits, and when you think you are ready create a Pull Request, make sure that you mark your PR as a draft if its not ready for review otherwise it looks like noise.
57+
58+
## Creating a Pull Request (PR)
59+
60+
After you create changes on your branch create a Pull Request and mark it as a `Draft` as that it can be seen that you are working on a given issue. Similarly to creating an issue ensure that:
61+
62+
* Summary of changes in the body of the pull
63+
* Labels
64+
* Milestone
65+
* Link related issues
66+
* Assign the project `rust-pip`
67+
* etc.

‎README.md

Copy file name to clipboardExpand all lines: README.md
+10-1Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
# rust-pip
22

3+
(We don't have a logo yet so anything is welcomed)
4+
35
WORK IN PROGRESS
4-
Pip rewritten in Rust
6+
7+
Pip rewritten in Rust.
58

69
## Features
710

811
* TODO
912

13+
## How to contribute
14+
15+
Please read this file and follow its instructions when it comes to contributing ot the project:
16+
17+
* [CONTRIBUTING.md](CONTRIBUTING.md)
18+
1019
## Credits
1120

1221
This package was created with Cookiecutter, and the

‎img/actual_create_branch.png

Copy file name to clipboard
83.1 KB
Loading

‎img/branching.png

Copy file name to clipboard
99.1 KB
Loading

‎img/checkout.png

Copy file name to clipboard
33.4 KB
Loading

‎img/create_a_branch.png

Copy file name to clipboard
13.1 KB
Loading

‎img/task_issue_creation.png

Copy file name to clipboard
239 KB
Loading

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.