summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIker Pedrosa <ipedrosa@redhat.com>2023-03-14 16:44:33 +0100
committerSerge Hallyn <serge@hallyn.com>2023-04-03 10:42:22 -0500
commit981bb8f9d1bad9f42302f558ab91631ee6bfb43d (patch)
tree08b67a854e89c820b70dbbed537430dbed071b5d
parentf6f14a2a8346d63a618169e5e479a6f8e85cb02b (diff)
doc: add contributions introduction
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
-rw-r--r--doc/contributions/introduction.md77
1 files changed, 77 insertions, 0 deletions
diff --git a/doc/contributions/introduction.md b/doc/contributions/introduction.md
new file mode 100644
index 00000000..8ddd038c
--- /dev/null
+++ b/doc/contributions/introduction.md
@@ -0,0 +1,77 @@
+# Introduction
+
+## Git and Github
+
+We recommend you to get familiar with the
+[git](https://guides.github.com/introduction/git-handbook) and
+[Github](https://guides.github.com) workflows before posting any changes.
+
+### Set up in a nut shell
+
+The following steps describe the process in a nut shell to provide you a basic
+template:
+
+* Create an account on [GitHub](https://github.com)
+* Fork the [shadow repository](https://github.com/shadow-maint/shadow)
+* Clone the shadow repository
+
+```
+git clone https://github.com/shadow-maint/shadow.git
+```
+
+* Add your fork as an extra remote
+
+```
+git remote add $ghusername git@github.com:$ghusername/shadow.git
+```
+
+* Setup your name contact e-mail that you want to use for the development
+
+```
+git config user.name "John Smith"
+git config user.email "john.smith@home.com"
+```
+
+**Note**: this will setup the user information only for this repository. You
+can also add `--global` switch to the `git config` command to setup these
+options globally and thus making them available in every git repository.
+
+* Create a working branch
+
+```
+git checkout -b my-changes
+```
+
+* Commit changes
+
+```
+vim change-what-you-need
+git commit -s
+```
+
+Check
+[the kernel patches guide](https://www.kernel.org/doc/html/v4.14/process/submitting-patches.html#describe-your-changes)
+to get an idea on how to write a good commit message.
+
+* Push your changes to your GitHub repository
+
+```
+git push $ghusername my-changes --force
+```
+
+* Open a Pull Request against shadow project by clicking on the link provided
+in the output of the previous step
+
+* Make sure that all Continuous Integration checks are green and wait review
+
+## Internal guidelines
+
+Additionally, you should also check the following internal guidelines to
+understand the project's development model:
+
+* [Build & install](build_install.md)
+* [Coding style](coding_style.md)
+* [Tests](tests.md)
+* [Continuous Integration](CI.md)
+* [Releases](releases.md)
+* [License](license.md)