status: add --long output format option
authorJeff King <peff@peff.net>
Thu, 18 Oct 2012 14:15:50 +0000 (21:15 +0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 18 Oct 2012 22:01:35 +0000 (15:01 -0700)
commitf3f47a1e8ddbecb0865be3d4c5dfef609cb58867
tree898c2516a752999a29ee040ccf00f67609538578
parent87a5461fa7b30f7b7baf27204f10219d61500fbf
status: add --long output format option

You can currently set the output format to --short or
--porcelain. There is no --long, because we default to it
already. However, you may want to override an alias that
uses "--short" to get back to the default.

This requires a little bit of refactoring, because currently
we use STATUS_FORMAT_LONG internally to mean the same as
"the user did not specify anything". By expanding the enum
to include STATUS_FORMAT_NONE, we can distinguish between
the implicit and explicit cases. This effects these
conditions:

  1. The user has asked for NUL termination. With NONE, we
     currently default to turning on the porcelain mode.
     With an explicit --long, we would in theory use NUL
     termination with the long mode, but it does not support
     it. So we can just complain and die.

  2. When an output format is given to "git commit", we
     default to "--dry-run". This behavior would now kick in
     when "--long" is given, too.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-commit.txt
Documentation/git-status.txt
builtin/commit.c