git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Michael J Gruber <git@drmicha.warpmail.net>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
	Matthieu Moy <Matthieu.Moy@imag.fr>,
	Ivo Anjo <ivo.anjo@ist.utl.pt>
Subject: [RFC/PATCH] commit/status: show the index-worktree with -v -v
Date: Thu, 15 Jan 2015 17:08:03 +0100	[thread overview]
Message-ID: <038e08973a5872ea13a0ea76bf2a0443fe3c3b50.1421337740.git.git@drmicha.warpmail.net> (raw)
In-Reply-To: <xmqq387db6xy.fsf@gitster.dls.corp.google.com>

git commit and git status in long format show the diff between HEAD
and the index when given -v. This allows previewing a commit to be made.

They also list tracked files with unstaged changes, but without a diff.

Introduce '-v -v' which shows the diff between the index and the
worktree in addition to HEAD index diff. This allows to review unstaged
changes which might be missing from the commit.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
---
Also, the git status man page does not mention -v at all, and the doc
for git status (long format) and the status parts of the git commit
man page should really be the same.

In any case, this may have helped the OP with his amend oversight.

 Documentation/git-commit.txt | 4 ++++
 wt-status.c                  | 8 ++++++++
 2 files changed, 12 insertions(+)

diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index 1e74b75..f14d2ec 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -284,6 +284,10 @@ configuration variable documented in linkgit:git-config[1].
 	would be committed at the bottom of the commit message
 	template.  Note that this diff output doesn't have its
 	lines prefixed with '#'.
++
+If specified twice, show in addition the unified diff between
+what would be committed and the worktree files, i.e. the unstaged
+changes to tracked files.
 
 -q::
 --quiet::
diff --git a/wt-status.c b/wt-status.c
index b54eac5..75674c2 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -874,6 +874,14 @@ static void wt_status_print_verbose(struct wt_status *s)
 		wt_status_add_cut_line(s->fp);
 	}
 	run_diff_index(&rev, 1);
+	if (s->verbose > 1) {
+		setup_work_tree();
+		if (read_cache_preload(&rev.diffopt.pathspec) < 0)
+			perror("read_cache_preload");
+		rev.diffopt.a_prefix = 0; /* allow run_diff_files */
+		rev.diffopt.b_prefix = 0; /* to reset the prefixes */
+		run_diff_files(&rev, 0);
+	}
 }
 
 static void wt_status_print_tracking(struct wt_status *s)
-- 
2.3.0.rc0.202.g6f441c7

  reply	other threads:[~2015-01-15 16:08 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-13  8:56 How to prevent empty git commit --amend Ivo Anjo
2015-01-13  8:59 ` Daniel Knittl-Frank
2015-01-13 10:22   ` Ivo Anjo
2015-01-13 11:20     ` Michael J Gruber
2015-01-14 10:00 ` Matthieu Moy
2015-01-14 12:15   ` Ivo Anjo
2015-01-14 12:45     ` Matthieu Moy
2015-01-14 17:27   ` Junio C Hamano
2015-01-14 17:36     ` Junio C Hamano
2015-01-15 16:08       ` Michael J Gruber [this message]
2015-01-15 20:11         ` [RFC/PATCH] commit/status: show the index-worktree with -v -v Junio C Hamano
2015-01-15 20:38           ` Junio C Hamano
2015-01-16  8:13           ` Michael J Gruber
2015-03-03 14:16             ` [PATCHv2 0/2] More diffs for commit/status Michael J Gruber
2015-03-03 14:16               ` [PATCHv2 1/2] t7508: test git status -v Michael J Gruber
2015-03-03 21:20                 ` Junio C Hamano
2015-03-03 22:26                   ` Junio C Hamano
2015-03-04 11:05                     ` Michael J Gruber
2015-03-04 21:27                       ` Junio C Hamano
2015-03-03 14:16               ` [PATCHv2 2/2] commit/status: show the index-worktree diff with -v -v Michael J Gruber
2015-03-03 21:26                 ` Junio C Hamano
2015-03-04 11:11                   ` Michael J Gruber
2015-03-04 21:13                     ` Junio C Hamano
2015-03-05 14:13                       ` [PATCHv3 0/3]More diffs for commit/status Michael J Gruber
2015-03-05 14:13                         ` [PATCHv3 1/3] t7508: .gitignore 'expect' and 'output' files Michael J Gruber
2015-03-05 14:13                         ` [PATCHv3 2/3] t7508: test git status -v Michael J Gruber
2015-03-05 14:13                         ` [PATCHv3 3/3] commit/status: show the index-worktree diff with -v -v Michael J Gruber
2015-03-05 19:25                         ` [PATCHv3 0/3]More diffs for commit/status Junio C Hamano
2015-03-05 20:15                           ` Junio C Hamano
2015-03-05 20:27                             ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=038e08973a5872ea13a0ea76bf2a0443fe3c3b50.1421337740.git.git@drmicha.warpmail.net \
    --to=git@drmicha.warpmail.net \
    --cc=Matthieu.Moy@imag.fr \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=ivo.anjo@ist.utl.pt \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).