diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2020-06-14 12:12:33 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2020-06-14 12:12:33 +0300 |
commit | ceb5c4a35e08a06698098f94130af24677444b49 (patch) | |
tree | eb7b2ed33633a66e7c3c0c02b3a15b4b0e94c69b | |
parent | 8b1a5b7dbf993908f24c1a0a1ddebbf2b96c70dd (diff) | |
download | egawk-ceb5c4a35e08a06698098f94130af24677444b49.tar.gz egawk-ceb5c4a35e08a06698098f94130af24677444b49.tar.bz2 egawk-ceb5c4a35e08a06698098f94130af24677444b49.zip |
Revise indexing in gawkworkflow.texi.
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/gawkworkflow.info | 204 | ||||
-rw-r--r-- | doc/gawkworkflow.texi | 210 |
3 files changed, 211 insertions, 207 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index d3433051..4f7eb96c 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2020-06-14 Arnold D. Robbins <arnold@skeeve.com> + + * gawkworkflow.texi: Revise indexing to use new Texinfo features. + 2020-06-12 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in (String Functions): Update doc on asort and asorti diff --git a/doc/gawkworkflow.info b/doc/gawkworkflow.info index 5977aff1..fa440337 100644 --- a/doc/gawkworkflow.info +++ b/doc/gawkworkflow.info @@ -1715,16 +1715,16 @@ Index * bootstrap.sh script: Cloning. (line 41) * branch, main: Repo State. (line 27) * branch, master: Repo State. (line 27) +* branches, origin/: Repo Copies. (line 68) +* branches, local: Local Branches. (line 6) +* branches, tracking: Local Branches. (line 11) * branches, dead: Repo State. (line 8) +* branches, stable: Repo State. (line 15) * branches, feature: Repo State. (line 35) -* branches, local: Local Branches. (line 6) -* branches, origin/: Repo Copies. (line 68) * branches, purely local: Local State. (line 6) * branches, removing: Removing Branches. (line 6) * branches, removing <1>: Repo Maintenance. (line 9) * branches, renaming: Repo Maintenance. (line 44) -* branches, stable: Repo State. (line 15) -* branches, tracking: Local Branches. (line 11) * ChangeLog file: Starting A New Branch. (line 19) * ChangeLog file <1>: Developing patches. (line 11) @@ -1735,10 +1735,10 @@ Index (line 19) * compilers: Compilers. (line 6) * compiling for debugging: Debugging. (line 6) -* configuration setting, pager.status: Configuring git. (line 24) -* configuration setting, push.default: Configuring git. (line 24) -* configuration setting, user.email: Configuring git. (line 16) * configuration setting, user.name: Configuring git. (line 16) +* configuration setting, user.email: Configuring git. (line 16) +* configuration setting, push.default: Configuring git. (line 24) +* configuration setting, pager.status: Configuring git. (line 24) * configuration settings: Configuring git. (line 6) * configuration settings, global: Configuring git. (line 6) * configure.ac file: GNU Tools. (line 15) @@ -1760,106 +1760,106 @@ Index * generating a single patch: Submitting Changes. (line 14) * generating multiple patches: Submitting Changes. (line 24) * gettext: GNU Tools. (line 27) -* git add: Starting A New Branch. - (line 36) -* git add <1>: Developing patches. (line 26) -* git add <2>: Developing new features. - (line 24) -* git add <3>: Developing new features. - (line 36) -* git add <4>: Developing fixes. (line 10) -* git branch: Repo Copies. (line 38) -* git branch <1>: Removing Branches. (line 9) -* git branch <2>: General practices. (line 88) -* git branch <3>: Repo Maintenance. (line 20) * git branch command, -a option: Remotes. (line 6) -* git checkout: Local Branches. (line 11) -* git checkout <1>: Switching Branches. (line 9) -* git checkout <2>: Starting A New Branch. +* git command, git branch: Repo Copies. (line 38) +* git command, git clone: Repo Copies. (line 42) +* git command, git checkout: Local Branches. (line 11) +* git command, git push: Local Branches. (line 16) +* git command, git config: Configuring git. (line 11) +* git command, git clone <1>: Cloning. (line 6) +* git command, git pull: Cloning. (line 32) +* git command, git checkout <1>: Switching Branches. (line 9) +* git command, git pull <1>: Switching Branches. (line 9) +* git command, git checkout <2>: Starting A New Branch. (line 10) -* git checkout <3>: Undoing a change. (line 10) -* git checkout <4>: Rebasing. (line 10) -* git checkout <5>: Submitting Changes. (line 18) -* git checkout <6>: Submitting Changes. (line 27) -* git checkout <7>: Removing Branches. (line 9) -* git checkout <8>: Points to remember. (line 19) -* git checkout <9>: Points to remember. (line 32) -* git checkout <10>: Points to remember. (line 37) -* git checkout <11>: Developing new features. - (line 9) -* git checkout <12>: Developing fixes. (line 10) -* git checkout <13>: General practices. (line 43) -* git checkout <14>: General practices. (line 60) -* git checkout <15>: General practices. (line 73) -* git clone: Repo Copies. (line 42) -* git clone <1>: Cloning. (line 6) -* git clone <2>: ssh clone. (line 10) -* git command, --help option: Cheat Sheet. (line 10) -* git commit: Starting A New Branch. - (line 49) -* git commit <1>: Developing patches. (line 26) -* git commit <2>: Developing new features. - (line 24) -* git commit <3>: Developing new features. - (line 36) -* git commit <4>: Developing fixes. (line 10) -* git config: Configuring git. (line 11) -* git diff: Starting A New Branch. +* git command, git status: Starting A New Branch. + (line 23) +* git command, git diff: Starting A New Branch. (line 29) -* git diff <1>: Submitting Changes. (line 18) -* git diff <2>: Points to remember. (line 32) -* git diff <3>: Developing patches. (line 16) -* git diff <4>: Developing patches. (line 26) -* git diff <5>: Developing new features. - (line 24) -* git diff <6>: Developing new features. - (line 36) -* git diff <7>: Developing fixes. (line 10) -* git difftool: Starting A New Branch. +* git command, git difftool: Starting A New Branch. (line 29) -* git fetch: General practices. (line 97) -* git fetch <1>: Repo Maintenance. (line 25) -* git format-patch: Submitting Changes. (line 24) -* git gc: Repo Maintenance. (line 33) -* git help: Cheat Sheet. (line 10) -* git log: Starting A New Branch. +* git command, git add: Starting A New Branch. + (line 36) +* git command, git status <1>: Starting A New Branch. + (line 41) +* git command, git commit: Starting A New Branch. + (line 49) +* git command, git log: Starting A New Branch. (line 51) -* git merge: Points to remember. (line 37) -* git merge <1>: General practices. (line 60) -* git merge <2>: General practices. (line 73) -* Git Project: Preface. (line 10) -* git pull: Cloning. (line 32) -* git pull <1>: Switching Branches. (line 9) -* git pull <2>: Rebasing. (line 10) -* git pull <3>: Removing Branches. (line 9) -* git pull <4>: Points to remember. (line 19) -* git pull <5>: Points to remember. (line 37) -* git pull <6>: Developing new features. +* git command, git checkout <3>: Undoing a change. (line 10) +* git command, git reset: Undoing a change. (line 12) +* git command, git rebase: Rebasing. (line 10) +* git command, git checkout <4>: Rebasing. (line 10) +* git command, git pull <2>: Rebasing. (line 10) +* git command, git checkout <5>: Submitting Changes. (line 18) +* git command, git diff <1>: Submitting Changes. (line 18) +* git command, git format-patch: Submitting Changes. (line 24) +* git command, git checkout <6>: Submitting Changes. (line 27) +* git command, git checkout <7>: Removing Branches. (line 9) +* git command, git pull <3>: Removing Branches. (line 9) +* git command, git branch <1>: Removing Branches. (line 9) +* git command, git checkout <8>: Points to remember. (line 19) +* git command, git pull <4>: Points to remember. (line 19) +* git command, git rebase <1>: Points to remember. (line 25) +* git command, git checkout <9>: Points to remember. (line 32) +* git command, git diff <2>: Points to remember. (line 32) +* git command, git checkout <10>: Points to remember. (line 37) +* git command, git pull <5>: Points to remember. (line 37) +* git command, git merge: Points to remember. (line 37) +* git command, git clone <2>: ssh clone. (line 10) +* git command, git diff <3>: Developing patches. (line 16) +* git command, git diff <4>: Developing patches. (line 26) +* git command, git add <1>: Developing patches. (line 26) +* git command, git commit <1>: Developing patches. (line 26) +* git command, git push <1>: Developing patches. (line 26) +* git command, git checkout <11>: Developing new features. + (line 9) +* git command, git pull <6>: Developing new features. (line 9) -* git pull <7>: Developing fixes. (line 10) -* git pull <8>: Developing fixes. (line 19) -* git pull <9>: General practices. (line 43) -* git pull <10>: General practices. (line 60) -* git pull <11>: General practices. (line 73) -* git pull <12>: Repo Maintenance. (line 20) -* git push: Local Branches. (line 16) -* git push <1>: Developing patches. (line 26) -* git push <2>: Developing new features. +* git command, git diff <5>: Developing new features. (line 24) -* git push <3>: Developing new features. +* git command, git add <2>: Developing new features. + (line 24) +* git command, git commit <2>: Developing new features. + (line 24) +* git command, git push <2>: Developing new features. + (line 24) +* git command, git diff <6>: Developing new features. (line 36) -* git push <4>: Developing fixes. (line 19) -* git push <5>: General practices. (line 83) -* git push <6>: General practices. (line 88) -* git rebase: Rebasing. (line 10) -* git rebase <1>: Points to remember. (line 25) -* git rebase <2>: General practices. (line 43) -* git reset: Undoing a change. (line 12) -* git reset, --hard option: Cheat Sheet. (line 93) -* git status: Starting A New Branch. - (line 23) -* git status <1>: Starting A New Branch. - (line 41) +* git command, git add <3>: Developing new features. + (line 36) +* git command, git commit <3>: Developing new features. + (line 36) +* git command, git push <3>: Developing new features. + (line 36) +* git command, git checkout <12>: Developing fixes. (line 10) +* git command, git pull <7>: Developing fixes. (line 10) +* git command, git add <4>: Developing fixes. (line 10) +* git command, git commit <4>: Developing fixes. (line 10) +* git command, git diff <7>: Developing fixes. (line 10) +* git command, git pull <8>: Developing fixes. (line 19) +* git command, git push <4>: Developing fixes. (line 19) +* git command, git checkout <13>: General practices. (line 43) +* git command, git pull <9>: General practices. (line 43) +* git command, git rebase <2>: General practices. (line 43) +* git command, git checkout <14>: General practices. (line 60) +* git command, git pull <10>: General practices. (line 60) +* git command, git merge <1>: General practices. (line 60) +* git command, git checkout <15>: General practices. (line 73) +* git command, git pull <11>: General practices. (line 73) +* git command, git merge <2>: General practices. (line 73) +* git command, git push <5>: General practices. (line 83) +* git command, git branch <2>: General practices. (line 88) +* git command, git push <6>: General practices. (line 88) +* git command, git fetch: General practices. (line 97) +* git command, git pull <12>: Repo Maintenance. (line 20) +* git command, git branch <3>: Repo Maintenance. (line 20) +* git command, git fetch <1>: Repo Maintenance. (line 25) +* git command, git gc: Repo Maintenance. (line 33) +* git command, git help: Cheat Sheet. (line 10) +* git command, --help option: Cheat Sheet. (line 10) +* git command, git reset, --hard option: Cheat Sheet. (line 93) +* Git Project: Preface. (line 10) * GitHub: Contributing. (line 57) * global configuration settings: Configuring git. (line 6) * GNU autoconf: GNU Tools. (line 15) @@ -1893,9 +1893,9 @@ Index * purely local branches: Local State. (line 6) * push.default configuration setting: Configuring git. (line 24) * rebasing: Rebasing. (line 6) -* removing branches: Removing Branches. (line 6) -* removing cruft: Repo Maintenance. (line 27) -* removing old branches: Repo Maintenance. (line 9) +* removing, branches: Removing Branches. (line 6) +* removing, old branches: Repo Maintenance. (line 9) +* removing, cruft: Repo Maintenance. (line 27) * renaming branches: Repo Maintenance. (line 44) * Repository, gawk, URL for: Cloning. (line 13) * Repository, gawk, URL for <1>: ssh clone. (line 10) diff --git a/doc/gawkworkflow.texi b/doc/gawkworkflow.texi index 807c0ea3..e355bf61 100644 --- a/doc/gawkworkflow.texi +++ b/doc/gawkworkflow.texi @@ -28,7 +28,7 @@ @c applies to and all the info about who's publishing this edition @c These apply across the board. -@set UPDATE-MONTH May, 2020 +@set UPDATE-MONTH June, 2020 @set TITLE Participating in @command{gawk} Development @set EDITION 0.73 @@ -613,12 +613,12 @@ represents the state of the repo on Savannah: @end smallexample @end float -@cindex @code{git branch} +@cindex @command{git} command @subentry @code{git branch} After you clone the repo, on your local system you will have a single branch named @code{master} that's visible when you use @samp{git branch} to see your branches. -@cindex @code{git clone} +@cindex @command{git} command @subentry @code{git clone} @example $ @kbd{git clone http://git.savannah.gnu.org/r/gawk.git} @ii{Clone the repo} $ @kbd{cd gawk} @ii{Change to local copy} @@ -653,7 +653,7 @@ the @samp{T} column for the moment): @noindent @cindex @code{origin/} branches -@cindex branches, @code{origin/} +@cindex branches @subentry @code{origin/} Note that what is simply @code{gawk-4.1-stable} in the upstream repo is now referred to as @code{origin/gawk-4.1-stable}. The @samp{origin/} branches are a snapshot of the state of the upstream repo. This is @@ -672,7 +672,7 @@ this @value{DOCUMENT}.) @section Local Branches @cindex local branches -@cindex branches, local +@cindex branches @subentry local Let's talk about local branches in more detail. (The terminology used here is my own, not official Git jargon.) There are two kinds of local branches: @@ -680,14 +680,14 @@ branches: @table @dfn @item Tracking Branches @cindex tracking branches -@cindex branches, tracking -@cindex @code{git checkout} +@cindex branches @subentry tracking +@cindex @command{git} command @subentry @code{git checkout} Tracking branches track branches from the upstream repository. You first create a tracking branch simply by checking out a branch from the upstream. You use the branch name without the leading @samp{origin/} prefix. For example, @samp{git checkout gawk-4.1-stable}. -@cindex @code{git push} +@cindex @command{git} command @subentry @code{git push} You can then work on this branch, making commits to it as you wish. Once things are ready to move upstream, you simply use @samp{git push}, and your changes will be pushed up to the main repo.@footnote{Assuming @@ -761,7 +761,7 @@ as how to use your own branches. There are several kinds of branches in the Savannah repository. @table @dfn -@cindex branches, dead +@cindex branches @subentry dead @cindex dead branches @item Dead Branches Branches with the prefix @samp{dead-branches/} (such as @@ -770,7 +770,7 @@ main code base. For example, a feature which was started, but later deemed to be unwise to add. These branches keep the code available, but they are not updated. -@cindex branches, stable +@cindex branches @subentry stable @cindex stable branches @item Stable Branches These branches are used for bug fixes to released versions @@ -796,7 +796,7 @@ off of this branch. Feature branches are typically based off this branch as well, and when the feature is deemed complete, merged back into it. -@cindex branches, feature +@cindex branches @subentry feature @cindex feature branches @item Feature Branches Often, a proposed new feature or code improvement is quite involved. @@ -816,7 +816,7 @@ merging commits from one branch to another. @node Local State @subsection Branches in Your Local Repository -@cindex branches, purely local +@cindex branches @subentry purely local @cindex purely local branches Purely local branches are where you do your own development. You may use purely local branches because you don't have commit rights @@ -868,13 +868,13 @@ from @samp{git branch -a}, nothing more. @cindex configuration settings @cindex settings, configuration @cindex global configuration settings -@cindex configuration settings, global +@cindex configuration settings @subentry global Before starting to use Git, you should configure it with some important settings that won't change as you use Git. You may configure options both globally, and on a per-repository basis. Here, we discuss only global configuration settings. -@cindex @code{git config} +@cindex @command{git} command @subentry @code{git config} You can configure Git using either @samp{git config}, or by editing the relevant files with your favorite text editor.@footnote{You are required to use either Vim or Emacs, other text editors are not @@ -886,8 +886,8 @@ The first things to set are your email address and your real name: @cindex @code{user.name} configuration setting @cindex @code{user.email} configuration setting -@cindex configuration setting, @code{user.name} -@cindex configuration setting, @code{user.email} +@cindex configuration setting @subentry @code{user.name} +@cindex configuration setting @subentry @code{user.email} @example $ @kbd{git config --global user.name "J.P. Developer"} @ii{Set full name} $ @kbd{git config --global user.email jpdev@@example.com} @ii{Set email address} @@ -900,8 +900,8 @@ the @command{gawk} maintainer recommends that you use are: @cindex @code{push.default} configuration setting @cindex @code{pager.status} configuration setting -@cindex configuration setting, @code{push.default} -@cindex configuration setting, @code{pager.status} +@cindex configuration setting @subentry @code{push.default} +@cindex configuration setting @subentry @code{pager.status} @example $ @kbd{git config --global push.default simple} @ii{Only push current branch} $ @kbd{git config --global pager.status true} @ii{Use pager for output of} git status @@ -976,16 +976,16 @@ to the Git repo, and so you cannot push your changes directly. @node Cloning @section Cloning The Repo -@cindex @code{git clone} +@cindex @command{git} command @subentry @code{git clone} Clone the Savannah repo using @samp{git clone}. You may do so using either the native Git protocol, or using HTTP if you must go through a gateway or firewall that won't pass the Git protocol. -@cindex URL, for cloning repositories +@cindex URL @subentry for cloning repositories To choose which method, you supply a @dfn{URL} for the repo when you clone it, as follows. -@cindex URL, for @command{gawk} repository +@cindex URL @subentry for @command{gawk} repository @cindex Repository, @command{gawk}, URL for @itemize @bullet @item @@ -1014,7 +1014,7 @@ $ @kbd{cd gawk} @ii{Start working} contents using other Git commands. For example, after coming back from your vacation in the Bahamas: -@cindex @code{git pull} +@cindex @command{git} command @subentry @code{git pull} @example $ @kbd{cd gawk} @ii{Move to the repo} $ @kbd{make distclean} @ii{A good idea before updating} @@ -1045,8 +1045,8 @@ configuration tools. So far, we've been working in the default @code{master} branch. Let's check what's happening in the @code{gawk-4.1-stable} branch: -@cindex @code{git checkout} -@cindex @code{git pull} +@cindex @command{git} command @subentry @code{git checkout} +@cindex @command{git} command @subentry @code{git pull} @example $ @kbd{make distclean} @ii{Clean up} $ @kbd{git checkout gawk-4.1-stable} @ii{Checkout a different branch} @@ -1065,7 +1065,7 @@ you might decide to add Python syntax support.@footnote{Just joking. Please don't attempt this for real.} You should create a new branch on which to work. First, switch back to @code{master}: -@cindex @code{git checkout} +@cindex @command{git} command @subentry @code{git checkout} @example $ @kbd{make distclean} $ @kbd{git checkout master} @@ -1085,7 +1085,7 @@ You now do massive amounts of work in order to add Python syntax support. As you do each defined chunk of work, you update the @file{ChangeLog} file with your changes before @dfn{committing} them to the repo. -@cindex @code{git status} +@cindex @command{git} command @subentry @code{git status} Let's say you've added a new file @file{python.c} and updated several others. Use @samp{git status} to see what's changed: @@ -1094,8 +1094,8 @@ $ @kbd{git status} @print{} ... @end example -@cindex @code{git diff} -@cindex @code{git difftool} +@cindex @command{git} command @subentry @code{git diff} +@cindex @command{git} command @subentry @code{git difftool} @cindex @command{meld} utility Before committing the current set of changes, you can use @samp{git diff} to view the changes. You may also use @samp{git difftool}@footnote{Don't @@ -1107,7 +1107,7 @@ $ @kbd{git diff} @ii{Regular built-in tool} $ @kbd{git difftool --tool=meld} @ii{GUI diff tool} @end example -@cindex @code{git add} +@cindex @command{git} command @subentry @code{git add} When you're happy with the changes, use @samp{git add} to tell Git which of the changed and/or new files you wish to have ready to be committed: @@ -1116,7 +1116,7 @@ be committed: $ @kbd{git add ...} @end example -@cindex @code{git status} +@cindex @command{git} command @subentry @code{git status} Use @samp{git status} to see that your changes are scheduled for committing: @example @@ -1126,13 +1126,13 @@ $ @kbd{git status} Now you can commit your changes to your branch: -@cindex @code{git commit} +@cindex @command{git} command @subentry @code{git commit} @example $ @kbd{git commit} @end example @noindent -@cindex @code{git log} +@cindex @command{git} command @subentry @code{git log} Running @samp{git commit} causes Git to invoke an editor (typically from the @env{$EDITOR} environment variable) in which you can compose a commit message. Please supply a @@ -1146,12 +1146,12 @@ Should you need to undo a change that you have not yet committed (so that you can start over), you can do so on per-file basis by simply checking out the file again: -@cindex @code{git checkout} +@cindex @command{git} command @subentry @code{git checkout} @example git checkout awkgram.y @ii{Undo changes to} awkgram.y@ii{. There is no output} @end example -@cindex @code{git reset} +@cindex @command{git} command @subentry @code{git reset} To start over completely, use @samp{git reset --hard}. Note that this will @emph{throw away} all your changes, with no chance for recovery, so be sure you really want to do it. @@ -1178,9 +1178,9 @@ For purely local branches, bringing your branch up to date is called started from the latest version of @code{master}. The steps are as follows: -@cindex @code{git rebase} -@cindex @code{git checkout} -@cindex @code{git pull} +@cindex @command{git} command @subentry @code{git rebase} +@cindex @command{git} command @subentry @code{git checkout} +@cindex @command{git} command @subentry @code{git pull} @example $ @kbd{git checkout master} @ii{Checkout} master $ @kbd{git pull} @ii{Update it} @@ -1245,8 +1245,8 @@ There are two ways to submit your changes for review. To do this, simply compare your branch to the branch off which it is based: -@cindex @code{git checkout} -@cindex @code{git diff} +@cindex @command{git} command @subentry @code{git checkout} +@cindex @command{git} command @subentry @code{git diff} @example $ @kbd{git checkout feature/python} $ @kbd{git diff master > /tmp/python.diff} @@ -1255,13 +1255,13 @@ $ @kbd{git diff master > /tmp/python.diff} Mail the @file{python.diff} file to the appropriate mailing list along with a description of what you've changed and why. -@cindex @code{git format-patch} +@cindex @command{git} command @subentry @code{git format-patch} @cindex generating multiple patches @cindex patches, multiple, generation of @item Generate a set of patches that in toto comprise your changes To do this, use @samp{git format-patch}: -@cindex @code{git checkout} +@cindex @command{git} command @subentry @code{git checkout} @example $ @kbd{git checkout feature/python} $ @kbd{git format-patch} @@ -1292,14 +1292,14 @@ can commit those changes. @xref{Doing paperwork}, for more information. @node Removing Branches @section Removing Branches -@cindex removing branches -@cindex branches, removing +@cindex removing @subentry branches +@cindex branches @subentry removing Once the maintainer has integrated your changes, you can get rid of your local branch: -@cindex @code{git checkout} -@cindex @code{git pull} -@cindex @code{git branch} +@cindex @command{git} command @subentry @code{git checkout} +@cindex @command{git} command @subentry @code{git pull} +@cindex @command{git} command @subentry @code{git branch} @example $ @kbd{git checkout master} @ii{Move to upstream branch} $ @kbd{git pull} @ii{Update} @@ -1327,8 +1327,8 @@ Make sure your tracking branches are up-to-date before doing anything with them, particularly using them as the basis for a rebase or merge. This typically means a three-step process: -@cindex @code{git checkout} -@cindex @code{git pull} +@cindex @command{git} command @subentry @code{git checkout} +@cindex @command{git} command @subentry @code{git pull} @example $ @kbd{git checkout master} @ii{Get to local copy} $ @kbd{git pull} @ii{Bring it up to date} @@ -1338,7 +1338,7 @@ $ @kbd{git checkout feature/python} @ii{Go back to your branch} @noindent You can then do the actual rebase: -@cindex @code{git rebase} +@cindex @command{git} command @subentry @code{git rebase} @example $ @kbd{git rebase master} @ii{Now rebase your feature off of master} @end example @@ -1349,8 +1349,8 @@ operations. For example, when comparing files with the regular @command{diff} command, the usage is @samp{diff @var{oldfile} @var{newfile}}. For @samp{git diff}, the current branch takes the place of @var{newfile}, thus: -@cindex @code{git checkout} -@cindex @code{git diff} +@cindex @command{git} command @subentry @code{git checkout} +@cindex @command{git} command @subentry @code{git diff} @example $ @kbd{git checkout feature/python} $ @kbd{git diff master} @ii{Compare} master @ii{to current branch} @@ -1359,9 +1359,9 @@ $ @kbd{git diff master} @ii{Compare} master @ii{to current branc @noindent or if merging: -@cindex @code{git checkout} -@cindex @code{git pull} -@cindex @code{git merge} +@cindex @command{git} command @subentry @code{git checkout} +@cindex @command{git} command @subentry @code{git pull} +@cindex @command{git} command @subentry @code{git merge} @example $ @kbd{git checkout master} @ii{Checkout} master $ @kbd{git pull} @ii{Update tracking branch} @@ -1391,7 +1391,7 @@ Congratulations! After becoming a quality contributor to @command{gawk} development, you've been invited to join the private development list and to accept having commit access to the repo. -@cindex Savannah, creating an account +@cindex Savannah @subentry creating an account @cindex account, Savannah, creation of @cindex @code{ssh} key The first thing to do is to create an account on Savannah, choosing a @@ -1412,8 +1412,8 @@ clone it using an @samp{ssh://} URL. Cloning the repo with @command{ssh} is similar to cloning with the Git protocol or with HTTP, but the URL is different: -@cindex @code{git clone} -@cindex URL, for @command{gawk} repository +@cindex @command{git} command @subentry @code{git clone} +@cindex URL @subentry for @command{gawk} repository @cindex Repository, @command{gawk}, URL for @example $ @kbd{git clone ssh://yourname@@git.sv.gnu.org/srv/git/gawk.git} @@ -1444,7 +1444,7 @@ Update the @file{ChangeLog}. If necessary, update the documentation: @file{doc/gawktexi.in} and/or @file{doc/gawk.1}. -@cindex @code{git diff} +@cindex @command{git} command @subentry @code{git diff} @item Use @samp{git diff > mychange.diff} to create a patch file. @@ -1460,10 +1460,10 @@ it up to the repo yourself! Let's assume you've made a bug fix directly on @code{master}. Here's how to commit your changes: -@cindex @code{git diff} -@cindex @code{git add} -@cindex @code{git commit} -@cindex @code{git push} +@cindex @command{git} command @subentry @code{git diff} +@cindex @command{git} command @subentry @code{git add} +@cindex @command{git} command @subentry @code{git commit} +@cindex @command{git} command @subentry @code{git push} @example $ @kbd{git diff} @ii{Review the patch one more time} $ @kbd{git add @dots{}} @ii{Add any files for committing} @@ -1485,8 +1485,8 @@ that you have pushed your change. Developing a new feature can be easier once you have commit access to the repo. First, create a new branch to hold your feature: -@cindex @code{git checkout} -@cindex @code{git pull} +@cindex @command{git} command @subentry @code{git checkout} +@cindex @command{git} command @subentry @code{git pull} @example $ @kbd{git checkout master} @ii{Start from} master $ @kbd{git pull} @ii{Be sure to be up to date} @@ -1503,10 +1503,10 @@ changes at their leisure. To push your branch up initially: -@cindex @code{git diff} -@cindex @code{git add} -@cindex @code{git commit} -@cindex @code{git push} +@cindex @command{git} command @subentry @code{git diff} +@cindex @command{git} command @subentry @code{git add} +@cindex @command{git} command @subentry @code{git commit} +@cindex @command{git} command @subentry @code{git push} @example $ @kbd{git diff} @ii{Review your changes} $ @kbd{git add @dots{}} @ii{Add any files for committing} @@ -1523,10 +1523,10 @@ and you checked it out locally. As you continue to work on your branch, the workflow simplifies into this: -@cindex @code{git diff} -@cindex @code{git add} -@cindex @code{git commit} -@cindex @code{git push} +@cindex @command{git} command @subentry @code{git diff} +@cindex @command{git} command @subentry @code{git add} +@cindex @command{git} command @subentry @code{git commit} +@cindex @command{git} command @subentry @code{git push} @example $ @kbd{git diff} @ii{Review your changes} $ @kbd{git add @dots{}} @ii{Add any files for committing} @@ -1542,11 +1542,11 @@ stable branch, you work the same way, by producing and discussing a diff on the mailing list. Once it's approved, you can commit it yourself: -@cindex @code{git checkout} -@cindex @code{git pull} -@cindex @code{git add} -@cindex @code{git commit} -@cindex @code{git diff} +@cindex @command{git} command @subentry @code{git checkout} +@cindex @command{git} command @subentry @code{git pull} +@cindex @command{git} command @subentry @code{git add} +@cindex @command{git} command @subentry @code{git commit} +@cindex @command{git} command @subentry @code{git diff} @example $ @kbd{git checkout master} @ii{Move to} master $ @kbd{git pull} @ii{Make sure we're up to date with the maintainer} @@ -1558,8 +1558,8 @@ $ @kbd{git commit} @ii{Commit the files with a commit message.} When you're ready to push your changes: -@cindex @code{git pull} -@cindex @code{git push} +@cindex @command{git} command @subentry @code{git pull} +@cindex @command{git} command @subentry @code{git push} @example $ @kbd{git pull} @ii{Download latest version; Git will merge} $ @kbd{gvim ...} @ii{Resolve any merge conflicts with} git add @ii{and} git commit @@ -1613,9 +1613,9 @@ one you use depends upon the nature of your new feature branch. You should use @samp{git rebase} to the keep the branch synchronized with the original branch from which it was forked: -@cindex @code{git checkout} -@cindex @code{git pull} -@cindex @code{git rebase} +@cindex @command{git} command @subentry @code{git checkout} +@cindex @command{git} command @subentry @code{git pull} +@cindex @command{git} command @subentry @code{git rebase} @example $ @kbd{git checkout master} @ii{Move to} master $ @kbd{git pull} @ii{Bring it up to date} @@ -1637,9 +1637,9 @@ continue when such conflicts occur. You @emph{must} use @samp{git merge} to bring your feature branch up to date. That flow looks like this: -@cindex @code{git checkout} -@cindex @code{git pull} -@cindex @code{git merge} +@cindex @command{git} command @subentry @code{git checkout} +@cindex @command{git} command @subentry @code{git pull} +@cindex @command{git} command @subentry @code{git merge} @example $ @kbd{git checkout master} @ii{Move to} master $ @kbd{git pull} @ii{Bring it up to date} @@ -1657,9 +1657,9 @@ maintainer merges the branch to @code{master}. But there's really no magic involved, the merge is simply done in the other direction: -@cindex @code{git checkout} -@cindex @code{git pull} -@cindex @code{git merge} +@cindex @command{git} command @subentry @code{git checkout} +@cindex @command{git} command @subentry @code{git pull} +@cindex @command{git} command @subentry @code{git merge} @example $ @kbd{git checkout feature/python} @ii{Checkout feature branch} $ @kbd{git pull} @ii{Bring it up to date} @@ -1672,7 +1672,7 @@ If you've been keeping @samp{feature/python} in sync with @code{master}, then there should be no merge conflicts to resolve, and you can push the result to Savannah: -@cindex @code{git push} +@cindex @command{git} command @subentry @code{git push} @example $ @kbd{git push} @ii{Push up to Savannah} @end example @@ -1680,8 +1680,8 @@ $ @kbd{git push} @ii{Push up to Savannah} Since @samp{feature/python} is no longer needed, it can be gotten rid of: -@cindex @code{git branch} -@cindex @code{git push} +@cindex @command{git} command @subentry @code{git branch} +@cindex @command{git} command @subentry @code{git push} @example $ @kbd{git branch} @ii{Still on} master @dots{} @@ -1693,7 +1693,7 @@ $ @kbd{git push -u origin --delete feature/python} @ii{Delete on Savannah} The @samp{git push} command deletes the @code{feature/python} branch from the Savannah repo. -@cindex @code{git fetch} +@cindex @command{git} command @subentry @code{git fetch} @noindent Finally, you should send an email to developer's list describing what you've done so that everyone else can delete their @@ -1713,9 +1713,9 @@ There are a few commands you should know about to help keep your local repo clean. @table @emph -@cindex removing old branches +@cindex removing @subentry old branches @cindex old branches, removing -@cindex branches, removing +@cindex branches @subentry removing @item Removing old branches Developers add branches to the Savannah repo and when development on them is done, they @@ -1728,8 +1728,8 @@ need them, then you can clean up your repo as follows. First, remove any related tracking branch you may have: -@cindex @code{git pull} -@cindex @code{git branch} +@cindex @command{git} command @subentry @code{git pull} +@cindex @command{git} command @subentry @code{git branch} @example $ @kbd{git pull} @ii{Get up to date} $ @kbd{git branch -d feature/merged-feature} @ii{Remove tracking branch} @@ -1737,12 +1737,12 @@ $ @kbd{git branch -d feature/merged-feature} @ii{Remove tracking branch} Then, ask Git to clean things up for you: -@cindex @code{git fetch} +@cindex @command{git} command @subentry @code{git fetch} @example $ @kbd{git fetch --prune} @ii{Remove unneeded branches} @end example -@cindex removing cruft +@cindex removing @subentry cruft @cindex cruft, removing @item Removing cruft As Git works, occasional ``cruft'' collects in the repository. @@ -1751,7 +1751,7 @@ concerned about disk usage, you can do so yourself using @samp{git gc} (short for ``garbage collect''). For example: -@cindex @code{git gc} +@cindex @command{git} command @subentry @code{git gc} @example $ @kbd{du -s .} @ii{Check disk usage} @print{} 99188 . @ii{Almost 10 megabytes} @@ -1766,7 +1766,7 @@ $ @kbd{du -s .} @ii{Check disk usage again} @end example @cindex renaming branches -@cindex branches, renaming +@cindex branches @subentry renaming @item Renaming branches Occasionally you may want to rename a branch.@footnote{This discussion adopted from @@ -2000,7 +2000,7 @@ See @uref{http://pcc.ludd.ltu.se, the project's home page} for more information. See @uref{http://pcc.ludd.ltu.se/supported-platforms} for instructions about obtaining the code using CVS and building it. -@cindex @command{pcc} compiler, Git mirror +@cindex @command{pcc} compiler @subentry Git mirror An alternative location for the source is the @command{gawk} maintainer's @uref{https://github.com/arnoldrobbins/pcc-revived, Git mirror} of the code. If you're using Ubuntu GNU/Linux 18.04 @@ -2034,9 +2034,9 @@ This @value{APPENDIX} provides an alphabetical list of the Git commands cited in this @value{DOCUMENT}, along with brief descriptions of what the commands do. -@cindex @code{git help} +@cindex @command{git} command @subentry @code{git help} @cindex @option{--help} option for @command{git} -@cindex @command{git} command, @option{--help} option +@cindex @command{git} command @subentry @option{--help} option Note that you may always use either @samp{git help @var{command}} or @samp{git @var{command} --help} to get short, man-page style help on how to use any given Git command. @@ -2122,7 +2122,7 @@ This is how you keep your local, in-progress changes up-to-date with respect to the original branch from which they were started. @item git reset -@cindex @code{git reset}, @option{--hard} option +@cindex @command{git} command @subentry @code{git reset} @subentry @option{--hard} option Restore the original state of the repo, especially with the @option{--hard} option. Read up on this command, and use it carefully. @@ -2143,7 +2143,7 @@ Start at the @uref{http://git-scm.org, Git Project home page}. In particular, the @uref{https://git-scm.com/book/en/v2, @cite{Pro Git} book} is available online. -@cindex Savannah, using Git guide +@cindex Savannah @subentry using Git guide See also @uref{http://savannah.gnu.org/maintenance/UsingGit, the Savannah quick introduction to Git}. |