Subject: [PATCH v2 2/2] status: add --long for default format

From: Nguyễn Thái Ngọc Duy <[email-masked]>
Date: Thu, 18 Oct 2012 08:58:00 +0700

This could be useful when the user sets an alias to "status --short"
and wants to get the default format back temporarily.

git-commit also learns --long mostly for consistency as there's little
chance that someone adds an alias for "git commit --short" then wants
a one shot --long output.

Signed-off-by: Nguyễn Thái Ngọc Duy <[email-masked]>
---
 Documentation/git-commit.txt |  4 ++++
 Documentation/git-status.txt |  3 +++
 builtin/commit.c             | 10 ++++++++++
 3 files changed, 17 insertions(+)

diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index 9594ac8..3acf2e7 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -109,6 +109,10 @@ OPTIONS
 	format. See linkgit:git-status[1] for details. Implies
 	`--dry-run`.
 
+--long::
+	When doing a dry-run, give the output in a the long-format.
+	Implies `--dry-run`.
+
 -z::
 --null::
 	When showing `short` or `porcelain` status output, terminate
diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt
index 67e5f53..9f1ef9a 100644
--- a/Documentation/git-status.txt
+++ b/Documentation/git-status.txt
@@ -38,6 +38,9 @@ OPTIONS
 	across git versions and regardless of user configuration. See
 	below for details.
 
+--long::
+	Give the output in the long-format. This is the default.
+
 -u[<mode>]::
 --untracked-files[=<mode>]::
 	Show untracked files.
diff --git a/builtin/commit.c b/builtin/commit.c
index 984e29c..1dd2ec5 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -1063,6 +1063,8 @@ static int parse_and_validate_options(int argc, const char *argv[],
 	if (s->null_termination) {
 		if (status_format == STATUS_FORMAT_NONE)
 			status_format = STATUS_FORMAT_PORCELAIN;
+		else if (status_format == STATUS_FORMAT_LONG)
+			die(_("--long and -z are incompatible"));
 	}
 	if (status_format != STATUS_FORMAT_NONE)
 		dry_run = 1;
@@ -1163,6 +1165,9 @@ int cmd_status(int argc, const char **argv, const char *prefix)
 		OPT_SET_INT(0, "porcelain", &status_format,
 			    N_("machine-readable output"),
 			    STATUS_FORMAT_PORCELAIN),
+		OPT_SET_INT(0, "long", &status_format,
+			    N_("show status in long format (default)"),
+			    STATUS_FORMAT_LONG),
 		OPT_BOOLEAN('z', "null", &s.null_termination,
 			    N_("terminate entries with NUL")),
 		{ OPTION_STRING, 'u', "untracked-files", &untracked_files_arg,
@@ -1193,6 +1198,8 @@ int cmd_status(int argc, const char **argv, const char *prefix)
 	if (s.null_termination) {
 		if (status_format == STATUS_FORMAT_NONE)
 			status_format = STATUS_FORMAT_PORCELAIN;
+		else if (status_format == STATUS_FORMAT_LONG)
+			die(_("--long and -z are incompatible"));
 	}
 
 	handle_untracked_files_arg(&s);
@@ -1393,6 +1400,9 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
 		OPT_BOOLEAN(0, "branch", &s.show_branch, N_("show branch information")),
 		OPT_SET_INT(0, "porcelain", &status_format,
 			    N_("machine-readable output"), STATUS_FORMAT_PORCELAIN),
+		OPT_SET_INT(0, "long", &status_format,
+			    N_("show status in long format (default)"),
+			    STATUS_FORMAT_LONG),
 		OPT_BOOLEAN('z', "null", &s.null_termination,
 			    N_("terminate entries with NUL")),
 		OPT_BOOLEAN(0, "amend", &amend, N_("amend previous commit")),
-- 
1.8.0.rc2.32.g1729c8c