stage: Mark content in files as being ready for commit

Usage:
  eg stage [--] PATH...

Description:
  Marks the contents of the specified files as being ready to commit,
  scheduling them for addition to the repository.  (This is also known as
  staging.)  This step is often not neccessary, since 'eg commit' will fall
  back to unstaged changes if you have not staged anything.  When a
  directory is passed, all files in that directory or any subdirectory are
  recursively added.

  You can use 'eg unstage PATH...' to unstage files.

  See 'eg help topic staging' for more details, including situations where
  you might find staging useful.

Examples:
  Create a new file, and mark it for addition to the repository.
      $ echo hi > there
      $ eg stage there

  (Advanced) Mark some changes as good, add some verbose sanity checking code,
  then commit just the good changes.
      Implement some cool new feature in somefile.C
      $ eg stage somefile.C
      Add some verbose sanity checking code to somefile.C
      Decide to commit the new feature code but not the sanity checking code:
      $ eg commit --staged

  (Advanced) Show changes in a file, split by those that you have marked as
  good and those that you haven't:
      Make various edits
      $ eg stage file1 file2
      Make more edits, include some to file1
      $ eg diff            # Look at all the changes
      $ eg diff --staged   # Look at the "ready to be committed" changes
      $ eg diff --unstaged # Look at the changes not ready to be commited

Options:
  --
    This option can be used to separate command-line options from the list
    of files, (useful when filenames might be mistaken for command-line
    options).

Differences from git stage:
  eg stage is a command new to eg that is not part of git (update: it is
  part of newer versions of git, with identical meaning to eg).  eg stage
  merely calls git add.

See also
  Run 'man git-add' for a comprehensive list of options available.
  eg stage is designed to accept the same options as git add, and
  with the same meanings unless specified otherwise in the above
  "Differences" section.