General Introduction ******************** This file describes how to participate in software development for GNU Awk ('gawk') (http://www.gnu.org/software/gawk). Copyright (C) 2017 Free Software Foundation, Inc. This is Edition 0.7 of 'Participating in 'gawk' Development'. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being "GNU General Public License", with the Front-Cover Texts being "A GNU Manual", and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled "GNU Free Documentation License". a. The FSF's Back-Cover Text is: "You have the freedom to copy and modify this GNU manual."
· Preface Some introductory remarks. · Contributing How to contribute to 'gawk' development. · Using Git Getting started with Git. · Configuring git Configuring Git. · Development without commit access How to work without commit access. · Development with commit access How to work with commit access. · General practices How things should usually be done. · Repo Maintenance Tips for keeping your repo clean. · Development Stuff Things you need to know to be a 'gawk' developer. · Cheat Sheet Git command summary. · Resources Some further resources. · TODO Stuff still to do. · Index The index. · This Manual How to use this manual. · Conventions Typographical Conventions. · Acknowledgments Acknowledgments. · Reviewers A note to reviewers. · Push Pull The push/pull software development model. · Repo Copies What it means to have a copy of a repo. · Local Branches How to best use local branches. · Branches are state Branches represent development state. · Repo State The different branch types in the repo. · Local State Managing local branches. · Remotes What a "remote" is. · Cloning Cloning the repo the first time. · Switching Branches Moving from one branch to another. · Starting A New Branch Starting a new branch for development. · Undoing a change Throwing away changes. · Updating Keeping in sync with the upstream repo. · Rebasing Rebasing A Local Branch. · Merge Conflicts Dealing With Merge Conflicts. · Submitting Changes How to submit your changes. · Removing Branches Getting rid of unneeded branches. · Points to remember Things you need to keep in mind. · Initial setup Getting started with commit access. · ssh clone Cloning using an 'ssh://' URL. · Developing patches Developing patches. · Developing new features Developing new features. · Developing fixes Developing fixes. · Coding style Where to read up on the coding style. · Doing paperwork Legal stuff in order to contribute. · Tools Tools to have on your system for development. · GNU Tools The GNU Autotools. · Compilers A discussion of compilers that can be used. · Debugging Compiling for debugging.