Merge branch 'maint'
authorJunio C Hamano <gitster@pobox.com>
Mon, 11 Aug 2008 07:53:31 +0000 (00:53 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 11 Aug 2008 07:53:31 +0000 (00:53 -0700)
* maint:
Documentation: fix invalid reference to 'mybranch' in user manual
Fix deleting reflog entries from HEAD reflog
reflog test: add more tests for 'reflog delete'
Documentation: rev-list-options: Fix -g paragraph formatting

Conflicts:
Documentation/user-manual.txt

1  2 
Documentation/rev-list-options.txt
Documentation/user-manual.txt
builtin-reflog.c
index 3aa38097e6350a02c50873d5c670e108003fab22,56e2eca258d48721c5cbfefef844e0892954e005..9e207136649421bd1ff211a137769b2eccf813ba
@@@ -45,10 -45,6 +45,10 @@@ endif::git-rev-list[
  
        Print the parents of the commit.
  
 +--children::
 +
 +      Print the children of the commit.
 +
  ifdef::git-rev-list[]
  --timestamp::
        Print the raw commit timestamp.
@@@ -264,10 -260,10 +264,10 @@@ With '\--pretty' format other than onel
  this causes the output to have two extra lines of information
  taken from the reflog.  By default, 'commit@\{Nth}' notation is
  used in the output.  When the starting commit is specified as
- 'commit@{now}', output also uses 'commit@\{timestamp}' notation
+ 'commit@\{now}', output also uses 'commit@\{timestamp}' notation
  instead.  Under '\--pretty=oneline', the commit message is
  prefixed with this information on the same line.
+ +
  Cannot be combined with '\--reverse'.
  See also linkgit:git-reflog[1].
  
index f4216899427ab2a24f92dd20da9b43c01c9ef11b,49a4a898d7c7826a64021f8c84a944c80503c9e4..e99921108e20f50e4c3f5d0e4beec37fbdf648f9
@@@ -18,7 -18,7 +18,7 @@@ People needing to do actual developmen
  Further chapters cover more specialized topics.
  
  Comprehensive reference documentation is available through the man
 -pages.  For a command such as "git clone", just use
 +pages.  For a command such as "git clone <repo>", just use
  
  ------------------------------------------------
  $ man git-clone
@@@ -178,7 -178,7 +178,7 @@@ As you can see, a commit shows who mad
  did, and why.
  
  Every commit has a 40-hexdigit id, sometimes called the "object name" or the
 -"SHA1 id", shown on the first line of the "git show" output.  You can usually
 +"SHA1 id", shown on the first line of the "git-show" output.  You can usually
  refer to a commit by a shorter name, such as a tag or a branch name, but this
  longer name can also be useful.  Most importantly, it is a globally unique
  name for this commit: so if you tell somebody else the object name (for
@@@ -390,7 -390,7 +390,7 @@@ references with the same shorthand name
  REVISIONS" section of linkgit:git-rev-parse[1].
  
  [[Updating-a-repository-with-git-fetch]]
 -Updating a repository with git fetch
 +Updating a repository with git-fetch
  ------------------------------------
  
  Eventually the developer cloned from will do additional work in her
@@@ -417,7 -417,7 +417,7 @@@ $ git fetch linux-nf
  -------------------------------------------------
  
  New remote-tracking branches will be stored under the shorthand name
 -that you gave "git remote add", in this case linux-nfs:
 +that you gave "git-remote add", in this case linux-nfs:
  
  -------------------------------------------------
  $ git branch -r
@@@ -479,10 -479,10 +479,10 @@@ Bisecting: 3537 revisions left to test 
  -------------------------------------------------
  
  If you run "git branch" at this point, you'll see that git has
 -temporarily moved you to a new branch named "bisect".  This branch
 -points to a commit (with commit id 65934...) that is reachable from
 -"master" but not from v2.6.18.  Compile and test it, and see whether
 -it crashes.  Assume it does crash.  Then:
 +temporarily moved you in "(no branch)". HEAD is now detached from any
 +branch and points directly to a commit (with commit id 65934...) that
 +is reachable from "master" but not from v2.6.18. Compile and test it,
 +and see whether it crashes. Assume it does crash. Then:
  
  -------------------------------------------------
  $ git bisect bad
@@@ -504,7 -504,8 +504,7 @@@ report with the commit id.  Finally, ru
  $ git bisect reset
  -------------------------------------------------
  
 -to return you to the branch you were on before and delete the
 -temporary "bisect" branch.
 +to return you to the branch you were on before.
  
  Note that the version which git-bisect checks out for you at each
  point is just a suggestion, and you're free to try a different
@@@ -517,7 -518,7 +517,7 @@@ $ git bisect visualiz
  -------------------------------------------------
  
  which will run gitk and label the commit it chose with a marker that
 -says "bisect".  Chose a safe-looking commit nearby, note its commit
 +says "bisect".  Choose a safe-looking commit nearby, note its commit
  id, and check it out with:
  
  -------------------------------------------------
@@@ -527,22 -528,6 +527,22 @@@ $ git reset --hard fb47ddb2db..
  then test, run "bisect good" or "bisect bad" as appropriate, and
  continue.
  
 +Instead of "git bisect visualize" and then "git reset --hard
 +fb47ddb2db...", you might just want to tell git that you want to skip
 +the current commit:
 +
 +-------------------------------------------------
 +$ git bisect skip
 +-------------------------------------------------
 +
 +In this case, though, git may not eventually be able to tell the first
 +bad one between some first skipped commits and a latter bad commit.
 +
 +There are also ways to automate the bisecting process if you have a
 +test script that can tell a good from a bad commit. See
 +linkgit:git-bisect[1] for more information about this and other "git
 +bisect" features.
 +
  [[naming-commits]]
  Naming commits
  --------------
@@@ -1063,7 -1048,7 +1063,7 @@@ $ git dif
  
  shows the difference between the working tree and the index file.
  
 -Note that "git add" always adds just the current contents of a file
 +Note that "git-add" always adds just the current contents of a file
  to the index; further changes to the same file will be ignored unless
  you run git-add on the file again.
  
@@@ -1126,10 -1111,10 +1126,10 @@@ Ignoring file
  A project will often generate files that you do 'not' want to track with git.
  This typically includes files generated by a build process or temporary
  backup files made by your editor. Of course, 'not' tracking files with git
 -is just a matter of 'not' calling "`git add`" on them. But it quickly becomes
 +is just a matter of 'not' calling "`git-add`" on them. But it quickly becomes
  annoying to have these untracked files lying around; e.g. they make
 -"`git add .`" and "`git commit -a`" practically useless, and they keep
 -showing up in the output of "`git status`".
 +"`git add .`" practically useless, and they keep showing up in the output of
 +"`git status`".
  
  You can tell git to ignore certain files by creating a file called .gitignore
  in the top level of your working directory, with contents such as:
@@@ -1318,7 -1303,7 +1318,7 @@@ $ git diff -3 file.txt          # diff against 
  $ git diff --theirs file.txt  # same as the above.
  -------------------------------------------------
  
 -The linkgit:git-log[1] and gitk[1] commands also provide special help
 +The linkgit:git-log[1] and linkgit:gitk[1] commands also provide special help
  for merges:
  
  -------------------------------------------------
@@@ -1464,7 -1449,7 +1464,7 @@@ Checking out an old version of a fil
  
  In the process of undoing a previous bad change, you may find it
  useful to check out an older version of a particular file using
 -linkgit:git-checkout[1].  We've used git checkout before to switch
 +linkgit:git-checkout[1].  We've used git-checkout before to switch
  branches, but it has quite different behavior if it is given a path
  name: the command
  
@@@ -1666,7 -1651,7 +1666,7 @@@ Sharing development with other
  ===============================
  
  [[getting-updates-with-git-pull]]
 -Getting updates with git pull
 +Getting updates with git-pull
  -----------------------------
  
  After you clone a repository and make a few changes of your own, you
@@@ -1785,7 -1770,7 +1785,7 @@@ Public git repositorie
  Another way to submit changes to a project is to tell the maintainer
  of that project to pull the changes from your repository using
  linkgit:git-pull[1].  In the section "<<getting-updates-with-git-pull,
 -Getting updates with git pull>>" we described this as a way to get
 +Getting updates with git-pull>>" we described this as a way to get
  updates from the "main" repository, but it works just as well in the
  other direction.
  
@@@ -1894,7 -1879,8 +1894,7 @@@ $ chmod a+x hooks/post-updat
  -------------------------------------------------
  
  (For an explanation of the last two lines, see
 -linkgit:git-update-server-info[1], and the documentation
 -linkgit:githooks[5][Hooks used by git].)
 +linkgit:git-update-server-info[1] and linkgit:githooks[5].)
  
  Advertise the URL of proj.git.  Anybody else should then be able to
  clone or pull from that URL, for example with a command line like:
@@@ -1978,10 -1964,10 +1978,10 @@@ error: failed to push to 'ssh://yourser
  
  This can happen, for example, if you:
  
 -      - use `git reset --hard` to remove already-published commits, or
 -      - use `git commit --amend` to replace already-published commits
 +      - use `git-reset --hard` to remove already-published commits, or
 +      - use `git-commit --amend` to replace already-published commits
          (as in <<fixing-a-mistake-by-rewriting-history>>), or
 -      - use `git rebase` to rebase any already-published commits (as
 +      - use `git-rebase` to rebase any already-published commits (as
          in <<using-git-rebase>>).
  
  You may force git-push to perform the update anyway by preceding the
@@@ -2003,10 -1989,10 +2003,10 @@@ intend to manage the branch
  
  It's also possible for a push to fail in this way when other people have
  the right to push to the same repository.  In that case, the correct
 -solution is to retry the push after first updating your work by either a
 -pull or a fetch followed by a rebase; see the
 +solution is to retry the push after first updating your work: either by a
 +pull, or by a fetch followed by a rebase; see the
  <<setting-up-a-shared-repository,next section>> and
 -linkgit:gitcvs-migration[7][git for CVS users] for more.
 +linkgit:gitcvs-migration[7] for more.
  
  [[setting-up-a-shared-repository]]
  Setting up a shared repository
  Another way to collaborate is by using a model similar to that
  commonly used in CVS, where several developers with special rights
  all push to and pull from a single shared repository.  See
 -linkgit:gitcvs-migration[7][git for CVS users] for instructions on how to
 +linkgit:gitcvs-migration[7] for instructions on how to
  set this up.
  
  However, while there is nothing wrong with git's support for shared
@@@ -2185,7 -2171,7 +2185,7 @@@ they are for, or what status they are i
  changes are in a specific branch, use:
  
  -------------------------------------------------
 -$ git log linux..branchname | git-shortlog
 +$ git log linux..branchname | git shortlog
  -------------------------------------------------
  
  To see whether it has already been merged into the test or release branches,
@@@ -2446,7 -2432,7 +2446,7 @@@ $ git rebase origi
  -------------------------------------------------
  
  This will remove each of your commits from mywork, temporarily saving
 -them as patches (in a directory named ".dotest"), update mywork to
 +them as patches (in a directory named ".git/rebase-apply"), update mywork to
  point at the latest version of origin, then apply each of the saved
  patches to the new mywork.  The result will look like:
  
  ................................................
  
  In the process, it may discover conflicts.  In that case it will stop
 -and allow you to fix the conflicts; after fixing conflicts, use "git
 -add" to update the index with those contents, and then, instead of
 +and allow you to fix the conflicts; after fixing conflicts, use "git-add"
 +to update the index with those contents, and then, instead of
  running git-commit, just run
  
  -------------------------------------------------
@@@ -2715,8 -2701,8 +2715,8 @@@ master branch.  In more detail
  git fetch and fast-forwards
  ---------------------------
  
 -In the previous example, when updating an existing branch, "git
 -fetch" checks to make sure that the most recent commit on the remote
 +In the previous example, when updating an existing branch, "git-fetch"
 +checks to make sure that the most recent commit on the remote
  branch is a descendant of the most recent commit on your copy of the
  branch before updating your copy of the branch to point at the new
  commit.  Git calls this process a <<fast-forwards,fast forward>>.
@@@ -2741,7 -2727,7 +2741,7 @@@ resulting in a situation like
              o--o--o <-- new head of the branch
  ................................................
  
 -In this case, "git fetch" will fail, and print out a warning.
 +In this case, "git-fetch" will fail, and print out a warning.
  
  In that case, you can still force git to update to the new head, as
  described in the following section.  However, note that in the
@@@ -2750,7 -2736,7 +2750,7 @@@ unless you've already created a referen
  them.
  
  [[forcing-fetch]]
 -Forcing git fetch to do non-fast-forward updates
 +Forcing git-fetch to do non-fast-forward updates
  ------------------------------------------------
  
  If git fetch fails because the new head of a branch is not a
@@@ -2825,8 -2811,8 +2825,8 @@@ You can also add a "+" to force the upd
  $ git config remote.example.fetch +master:ref/remotes/example/master
  -------------------------------------------------
  
- Don't do this unless you're sure you won't mind "git-fetch" possibly
- throwing away commits on mybranch.
+ Don't do this unless you're sure you won't mind "git fetch" possibly
+ throwing away commits on 'example/master'.
  
  Also note that all of the above configuration can be performed by
  directly editing the file .git/config instead of using
@@@ -2876,7 -2862,7 +2876,7 @@@ There are four different types of objec
  "tag".
  
  - A <<def_blob_object,"blob" object>> is used to store file data.
 -- A <<def_tree_object,"tree" object>> is an object that ties one or more
 +- A <<def_tree_object,"tree" object>> ties one or more
    "blob" objects into a directory structure. In addition, a tree object
    can refer to other tree objects, thus creating a directory hierarchy.
  - A <<def_commit_object,"commit" object>> ties such directory hierarchies
@@@ -3051,7 -3037,7 +3051,7 @@@ Tag Objec
  
  A tag object contains an object, object type, tag name, the name of the
  person ("tagger") who created the tag, and a message, which may contain
 -a signature, as can be seen using the linkgit:git-cat-file[1]:
 +a signature, as can be seen using linkgit:git-cat-file[1]:
  
  ------------------------------------------------
  $ git cat-file tag v1.5.0
@@@ -3121,7 -3107,7 +3121,7 @@@ $ git prun
  
  to remove any of the "loose" objects that are now contained in the
  pack.  This will also remove any unreferenced objects (which may be
 -created when, for example, you use "git reset" to remove a commit).
 +created when, for example, you use "git-reset" to remove a commit).
  You can verify that the loose objects are gone by looking at the
  .git/objects directory or by running
  
@@@ -3150,7 -3136,7 +3150,7 @@@ branch still exists, as does everythin
  pointer itself just doesn't, since you replaced it with another one.
  
  There are also other situations that cause dangling objects. For
 -example, a "dangling blob" may arise because you did a "git add" of a
 +example, a "dangling blob" may arise because you did a "git-add" of a
  file, but then, before you actually committed it and made it part of the
  bigger picture, you changed something else in that file and committed
  that *updated* thing--the old state that you added originally ends up
@@@ -3200,7 -3186,7 +3200,7 @@@ Usually, dangling blobs and trees aren'
  almost always the result of either being a half-way mergebase (the blob
  will often even have the conflict markers from a merge in it, if you
  have had conflicting merges that you fixed up by hand), or simply
 -because you interrupted a "git fetch" with ^C or something like that,
 +because you interrupted a "git-fetch" with ^C or something like that,
  leaving _some_ of the new objects in the object database, but just
  dangling and useless.
  
@@@ -3249,7 -3235,7 +3249,7 @@@ it is with linkgit:git-fsck[1]; this ma
  Assume the output looks like this:
  
  ------------------------------------------------
 -$ git-fsck --full
 +$ git fsck --full
  broken link from    tree 2d9263c6d23595e7cb2a21e5ebbb53655278dff8
                to    blob 4b9458b3786228369c63936db65827de3cc06200
  missing blob 4b9458b3786228369c63936db65827de3cc06200
@@@ -3473,23 -3459,23 +3473,23 @@@ $ cd supe
  $ git init
  $ for i in a b c d
  do
 -      git submodule add ~/git/$i
 +      git submodule add ~/git/$i $i
  done
  -------------------------------------------------
  
  NOTE: Do not use local URLs here if you plan to publish your superproject!
  
 -See what files `git submodule` created:
 +See what files `git-submodule` created:
  
  -------------------------------------------------
  $ ls -a
  .  ..  .git  .gitmodules  a  b  c  d
  -------------------------------------------------
  
 -The `git submodule add` command does a couple of things:
 +The `git-submodule add <repo> <path>` command does a couple of things:
  
 -- It clones the submodule under the current directory and by default checks out
 -  the master branch.
 +- It clones the submodule from <repo> to the given <path> under the
 +  current directory and by default checks out the master branch.
  - It adds the submodule's clone path to the linkgit:gitmodules[5] file and
    adds this file to the index, ready to be committed.
  - It adds the submodule's current commit ID to the index, ready to be
@@@ -3532,7 -3518,7 +3532,7 @@@ init` to add the submodule repository U
  $ git submodule init
  -------------------------------------------------
  
 -Now use `git submodule update` to clone the repositories and check out the
 +Now use `git-submodule update` to clone the repositories and check out the
  commits specified in the superproject:
  
  -------------------------------------------------
@@@ -3542,8 -3528,8 +3542,8 @@@ $ ls -
  .  ..  .git  a.txt
  -------------------------------------------------
  
 -One major difference between `git submodule update` and `git submodule add` is
 -that `git submodule update` checks out a specific commit, rather than the tip
 +One major difference between `git-submodule update` and `git-submodule add` is
 +that `git-submodule update` checks out a specific commit, rather than the tip
  of a branch. It's like checking out a tag: the head is detached, so you're not
  working on a branch.
  
@@@ -3709,7 -3695,7 +3709,7 @@@ removed. The only thing `--remove` mean
  considering a removed file to be a valid thing, and if the file really
  does not exist any more, it will update the index accordingly.
  
 -As a special case, you can also do `git-update-index --refresh`, which
 +As a special case, you can also do `git update-index --refresh`, which
  will refresh the "stat" information of each index to match the current
  stat information. It will 'not' update the object status itself, and
  it will only update the fields that are used to quickly test whether
@@@ -3744,7 -3730,7 +3744,7 @@@ unsaved state that you might want to re
  index.  Normal operation is just
  
  -------------------------------------------------
 -$ git-read-tree <sha1 of tree>
 +$ git read-tree <sha1 of tree>
  -------------------------------------------------
  
  and your index file will now be equivalent to the tree that you saved
@@@ -3767,7 -3753,7 +3767,7 @@@ index file with read-tree, and then yo
  with
  
  -------------------------------------------------
 -$ git-checkout-index filename
 +$ git checkout-index filename
  -------------------------------------------------
  
  or, if you want to check out all of the index, use `-a`.
@@@ -3785,7 -3771,7 +3785,7 @@@ from one representation to the other
  Tying it all together
  ~~~~~~~~~~~~~~~~~~~~~
  
 -To commit a tree you have instantiated with "git-write-tree", you'd
 +To commit a tree you have instantiated with "git write-tree", you'd
  create a "commit" object that refers to that tree and the history
  behind it--most notably the "parent" commits that preceded it in
  history.
@@@ -3804,7 -3790,7 +3804,7 @@@ You create a commit object by giving i
  state at the time of the commit, and a list of parents:
  
  -------------------------------------------------
 -$ git-commit-tree <tree> -p <parent> [-p <parent2> ..]
 +$ git commit-tree <tree> -p <parent> [-p <parent2> ..]
  -------------------------------------------------
  
  and then giving the reason for the commit on stdin (either through
@@@ -3867,14 -3853,14 +3867,14 @@@ linkgit:git-cat-file[1] to examine deta
  object:
  
  -------------------------------------------------
 -$ git-cat-file -t <objectname>
 +$ git cat-file -t <objectname>
  -------------------------------------------------
  
  shows the type of the object, and once you have the type (which is
  usually implicit in where you find the object), you can use
  
  -------------------------------------------------
 -$ git-cat-file blob|tree|commit|tag <objectname>
 +$ git cat-file blob|tree|commit|tag <objectname>
  -------------------------------------------------
  
  to show its contents. NOTE! Trees have binary content, and as a result
@@@ -3888,7 -3874,7 +3888,7 @@@ follow the convention of having the to
  you can do
  
  -------------------------------------------------
 -$ git-cat-file commit HEAD
 +$ git cat-file commit HEAD
  -------------------------------------------------
  
  to see what the top commit was.
@@@ -3912,7 -3898,7 +3912,7 @@@ To get the "base" for the merge, you fi
  of two commits with
  
  -------------------------------------------------
 -$ git-merge-base <commit1> <commit2>
 +$ git merge-base <commit1> <commit2>
  -------------------------------------------------
  
  which will return you the commit they are both based on.  You should
@@@ -3920,7 -3906,7 +3920,7 @@@ now look up the "tree" objects of thos
  do with (for example)
  
  -------------------------------------------------
 -$ git-cat-file commit <commitname> | head -1
 +$ git cat-file commit <commitname> | head -1
  -------------------------------------------------
  
  since the tree object information is always the first line in a commit
@@@ -3937,12 -3923,12 +3937,12 @@@ you have in your current index anyway)
  To do the merge, do
  
  -------------------------------------------------
 -$ git-read-tree -m -u <origtree> <yourtree> <targettree>
 +$ git read-tree -m -u <origtree> <yourtree> <targettree>
  -------------------------------------------------
  
  which will do all trivial merge operations for you directly in the
  index file, and you can just write the result out with
 -`git-write-tree`.
 +`git write-tree`.
  
  
  [[merging-multiple-trees-2]]
@@@ -3956,18 -3942,18 +3956,18 @@@ entries" in it. Such an index tree can 
  object, and you will have to resolve any such merge clashes using
  other tools before you can write out the result.
  
 -You can examine such index state with `git-ls-files --unmerged`
 +You can examine such index state with `git ls-files --unmerged`
  command.  An example:
  
  ------------------------------------------------
 -$ git-read-tree -m $orig HEAD $target
 -$ git-ls-files --unmerged
 +$ git read-tree -m $orig HEAD $target
 +$ git ls-files --unmerged
  100644 263414f423d0e4d70dae8fe53fa34614ff3e2860 1     hello.c
  100644 06fa6a24256dc7e560efa5687fa84b51f0263c3a 2     hello.c
  100644 cc44c73eb783565da5831b4d820c962954019b69 3     hello.c
  ------------------------------------------------
  
 -Each line of the `git-ls-files --unmerged` output begins with
 +Each line of the `git ls-files --unmerged` output begins with
  the blob mode bits, blob SHA1, 'stage number', and the
  filename.  The 'stage number' is git's way to say which tree it
  came from: stage 1 corresponds to `$orig` tree, stage 2 `HEAD`
@@@ -3985,9 -3971,9 +3985,9 @@@ program, e.g.  `diff3`, `merge`, or git
  the blob objects from these three stages yourself, like this:
  
  ------------------------------------------------
 -$ git-cat-file blob 263414f... >hello.c~1
 -$ git-cat-file blob 06fa6a2... >hello.c~2
 -$ git-cat-file blob cc44c73... >hello.c~3
 +$ git cat-file blob 263414f... >hello.c~1
 +$ git cat-file blob 06fa6a2... >hello.c~2
 +$ git cat-file blob cc44c73... >hello.c~3
  $ git merge-file hello.c~2 hello.c~1 hello.c~3
  ------------------------------------------------
  
@@@ -3998,23 -3984,23 +3998,23 @@@ merge result for this file is by
  
  -------------------------------------------------
  $ mv -f hello.c~2 hello.c
 -$ git-update-index hello.c
 +$ git update-index hello.c
  -------------------------------------------------
  
 -When a path is in unmerged state, running `git-update-index` for
 +When a path is in the "unmerged" state, running `git-update-index` for
  that path tells git to mark the path resolved.
  
  The above is the description of a git merge at the lowest level,
  to help you understand what conceptually happens under the hood.
 -In practice, nobody, not even git itself, uses three `git-cat-file`
 -for this.  There is `git-merge-index` program that extracts the
 +In practice, nobody, not even git itself, runs `git-cat-file` three times
 +for this.  There is `git-merge-index` program that extracts the
  stages to temporary files and calls a "merge" script on it:
  
  -------------------------------------------------
 -$ git-merge-index git-merge-one-file hello.c
 +$ git merge-index git-merge-one-file hello.c
  -------------------------------------------------
  
 -and that is what higher level `git merge -s resolve` is implemented with.
 +and that is what higher level `git-merge -s resolve` is implemented with.
  
  [[hacking-git]]
  Hacking git
@@@ -4076,7 -4062,7 +4076,7 @@@ Note that terminology has changed sinc
  README in that revision uses the word "changeset" to describe what we
  now call a <<def_commit_object,commit>>.
  
 -Also, we do not call it "cache" any more, but "index", however, the
 +Also, we do not call it "cache" any more, but rather "index"; however, the
  file is still called `cache.h`.  Remark: Not much reason to change it now,
  especially since there is no good single name for it anyway, because it is
  basically _the_ header file which is included by _all_ of Git's C sources.
@@@ -4110,7 -4096,7 +4110,7 @@@ functions like `get_sha1_basic()` or th
  This is just to get you into the groove for the most libified part of Git:
  the revision walker.
  
 -Basically, the initial version of `git log` was a shell script:
 +Basically, the initial version of `git-log` was a shell script:
  
  ----------------------------------------------------------------
  $ git-rev-list --pretty $(git-rev-parse --default HEAD "$@") | \
@@@ -4142,10 -4128,10 +4142,10 @@@ commits one by one with the function `g
  
  If you are interested in more details of the revision walking process,
  just have a look at the first implementation of `cmd_log()`; call
 -`git-show v1.3.0{tilde}155^2{tilde}4` and scroll down to that function (note that you
 +`git show v1.3.0{tilde}155^2{tilde}4` and scroll down to that function (note that you
  no longer need to call `setup_pager()` directly).
  
 -Nowadays, `git log` is a builtin, which means that it is _contained_ in the
 +Nowadays, `git-log` is a builtin, which means that it is _contained_ in the
  command `git`.  The source side of a builtin is
  
  - a function called `cmd_<bla>`, typically defined in `builtin-<bla>.c`,
@@@ -4161,7 -4147,7 +4161,7 @@@ since they share quite a bit of code.  
  _not_ named like the `.c` file in which they live have to be listed in
  `BUILT_INS` in the `Makefile`.
  
 -`git log` looks more complicated in C than it does in the original script,
 +`git-log` looks more complicated in C than it does in the original script,
  but that allows for a much greater flexibility and performance.
  
  Here again it is a good point to take a pause.
@@@ -4172,9 -4158,9 +4172,9 @@@ the organization of Git (after you kno
  So, think about something which you are interested in, say, "how can I
  access a blob just knowing the object name of it?".  The first step is to
  find a Git command with which you can do it.  In this example, it is either
 -`git show` or `git cat-file`.
 +`git-show` or `git-cat-file`.
  
 -For the sake of clarity, let's stay with `git cat-file`, because it
 +For the sake of clarity, let's stay with `git-cat-file`, because it
  
  - is plumbing, and
  
@@@ -4233,10 -4219,10 +4233,10 @@@ To find out how the result can be used
  -----------------------------------
  
  Sometimes, you do not know where to look for a feature.  In many such cases,
 -it helps to search through the output of `git log`, and then `git show` the
 +it helps to search through the output of `git log`, and then `git-show` the
  corresponding commit.
  
 -Example: If you know that there was some test case for `git bundle`, but
 +Example: If you know that there was some test case for `git-bundle`, but
  do not remember where it was (yes, you _could_ `git grep bundle t/`, but that
  does not illustrate the point!):
  
diff --combined builtin-reflog.c
index 0c34e378199064e87aa09caf0fa0a2346333ec69,7d7047d7924fab88995a35e54c02668c10390390..196fa03b7fac795475a0e12f0fa3b443cb34bd1d
@@@ -13,9 -13,9 +13,9 @@@
   */
  
  static const char reflog_expire_usage[] =
 -"git-reflog (show|expire) [--verbose] [--dry-run] [--stale-fix] [--expire=<time>] [--expire-unreachable=<time>] [--all] <refs>...";
 +"git reflog (show|expire) [--verbose] [--dry-run] [--stale-fix] [--expire=<time>] [--expire-unreachable=<time>] [--all] <refs>...";
  static const char reflog_delete_usage[] =
 -"git-reflog delete [--verbose] [--dry-run] [--rewrite] [--updateref] <refs>...";
 +"git reflog delete [--verbose] [--dry-run] [--rewrite] [--updateref] <refs>...";
  
  static unsigned long default_reflog_expire;
  static unsigned long default_reflog_expire_unreachable;
@@@ -604,8 -604,8 +604,8 @@@ static int cmd_reflog_delete(int argc, 
                        continue;
                }
  
-               if (!dwim_ref(argv[i], spec - argv[i], sha1, &ref)) {
-                       status |= error("%s points nowhere!", argv[i]);
+               if (!dwim_log(argv[i], spec - argv[i], sha1, &ref)) {
+                       status |= error("no reflog for '%s'", argv[i]);
                        continue;
                }
  
   */
  
  static const char reflog_usage[] =
 -"git-reflog (expire | ...)";
 +"git reflog (expire | ...)";
  
  int cmd_reflog(int argc, const char **argv, const char *prefix)
  {