This file describes how to participate in software development for
GNU Awk (gawk).
Copyright © 2017, 2018, 2019 Free Software Foundation, Inc.
This is Edition 0.72 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”.
| • 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. | |