Authored first cut at instructions on how to use GitHub

Signed-off-by: Shawn Wells <[email protected]>
---
 docs/Developer_Guide/en-US/ch002-Patching.xml |  110 +++++++++++++++++++++++++
 1 files changed, 110 insertions(+), 0 deletions(-)
 create mode 100644 docs/Developer_Guide/en-US/ch002-Patching.xml

diff --git a/docs/Developer_Guide/en-US/ch002-Patching.xml 
b/docs/Developer_Guide/en-US/ch002-Patching.xml
new file mode 100644
index 0000000..3939999
--- /dev/null
+++ b/docs/Developer_Guide/en-US/ch002-Patching.xml
@@ -0,0 +1,110 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" 
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"; [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Developer_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<chapter id="chap-Developer_Guide-Patching">
+       <title>Patch Creation</title>
+       <para>.... intro on GitHub pull request system ..... </para>
+       <para> </para>
+       <section id="sect-Developer_Guide-Patching-maillist">
+               <title>Fork SSG </title>
+               <orderedlist>
+                       <listitem>
+                               <para>Visit SSG's GitHub webpage at <ulink
+                                               
url="https://github.com/OpenSCAP/scap-security-guide";
+                                               
>https://github.com/OpenSCAP/scap-security-guide</ulink>. In the top-right
+                                       corner, you will see a button that says 
"Fork." Click it.</para>
+                               <para><inlinegraphic 
fileref="images/ch002-Patching-fork.png"/></para>
+                       </listitem>
+                       <listitem>
+                               <para>If you're a member of multiple GitHub 
groups/accounts, you will be asked for
+                                       the fork destination. For most users it 
is sufficient to fork into their local
+                                       account. To do so, click on your 
username/icon. For example:</para>
+                               <para><inlinegraphic 
fileref="images/ch002-Patching-forklocation.png"/></para>
+                       </listitem>
+                       <listitem>
+                               <para>Congratulations, you've created a 
localized repository! Any changes you make
+                                       will be localized, consider it your own 
sandbox. At this point you can 'git
+                                       clone' the source over SSH, HTTPS, or 
Subversion. </para>
+                               <para>GitHub dynamically generates the 
appropriate git URLs, and dynamically
+                                       generates zip-compressed archives 
should you desire them. In the right-most
+                                       column, near the bottom, you will see 
the various git clone options:</para>
+                               <para><inlinegraphic 
fileref="images/ch002-Patching-githubURL.png"/></para>
+                       </listitem>
+               </orderedlist>
+       </section>
+       
+       <section id="sect-Developer_Guide-Patching-commit">
+               <title>Committing to your Local Repository</title>
+               <para>... text to describe .... </para>
+               <section>
+                       <title>Edits via GUI</title>
+                       <para>The GitHub website supports in-line editing of 
files. This is extremely convenient
+                               when making small changes, such as fixing 
typos. When you've found a file in need of
+                               edits, note the "Edit" button within the file's 
toolbar:</para>
+                       <para><inlinegraphic 
fileref="images/ch002-Patching-inline_edits.png"/></para>
+                       <para>This will bring you to an in-line editor. Make 
your changes and scroll to the
+                               bottom of the webpage. You will notice a 
"Commit Changes" form. The first field is a
+                               one-line description of the change, while 
within the second (main body) you are
+                               expected to provide a detailed description of 
any changes. Your entries in this
+                               field should be as concise as possible while 
providing enough description for a
+                               community member to properly evaluate your 
changes, and the logic for making them.
+                               For example:</para>
+                       <para><inlinegraphic 
fileref="images/ch002-Patching-GUI_naming_scheme_sample.png"
+                               /></para>
+                       <para>Click on "Commit changes," which will push the 
change to your local
+                               repository.</para>
+               </section>
+               <section>
+                       <title>Edits via CLI</title>
+                       <para>As mentioned earlier, GitHub creates a localized 
git repository, your own personal
+                               sandbox. Clone the repository locally, then 
'git commit' and 'git push' changes as
+                               you normally would.</para>
+               </section>
+       </section>
+       
+       <section id="sect-Developer_Guide-Patching-ssgproject">
+               <title>Issuing Pull Requests</title>
+               <para>When you're ready for your patches to be merged upstream, 
you must issue a "Pull Request." </para>
+               <para>
+                       <orderedlist>
+                               <listitem>
+                                       <para>Return to your local repositories 
webpage on GitHub. </para>
+                                       <para><emphasis role="bold">NOTE: 
</emphasis>If you've created local branches,
+                                               ensure you've selected the 
appropriate branch that you'd like to submit
+                                               patches against. <emphasis 
role="italic">For most people, this step can be
+                                                       
ignored.</emphasis></para>
+                               </listitem>
+                               <listitem>
+                                       <para>Click on "Pull Request," located 
in the top-right of the frame which lists
+                                               your directory contents:</para>
+                                       <para><inlinegraphic 
fileref="images/ch002-Patching-Pull_Requests.png"/></para>
+                               </listitem>
+                               <listitem>
+                                       <para>You will be brought to a listing 
of your commits. Click the green button
+                                               labelled "Create Pull 
Request":</para>
+                                       <para><inlinegraphic 
fileref="images/ch002-Patching-Create_Pull.png"/></para>
+                               </listitem>
+                               <listitem>
+                                       <para>You will be requested to input a 
patch title and description. Be concise,
+                                               but thorough enough for a 
community member to understand logic behind your
+                                               changes. Paste into the 
description field testing evidence (e.g. running
+                                               testcheck.py on any submitted 
OVAL, or before/after for remediation
+                                               scripts). </para>
+                                       <para>After completing the form, select 
"Send pull request":</para>
+                                       <para><inlinegraphic 
fileref="images/ch002-Patching-Send_Pull_Request.png"
+                                               /></para>
+                                       <para/>
+                               </listitem>
+                               <listitem>
+                                       <para>A community member will review 
your patch. They will either merge the
+                                               patch upstream, indicate 
additional changes/documentation needed, or decline
+                                               the patch. You'll automatically 
be notified via EMail of any status
+                                               updates.</para>
+                               </listitem>
+                       </orderedlist>
+               </para>
+       </section>
+
+</chapter>
-- 
1.7.1

_______________________________________________
scap-security-guide mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/scap-security-guide

Reply via email to