From: Junio C Hamano <junkio@cox•net>
To: Linus Torvalds <torvalds@osdl•org>
Cc: git@vger•kernel.org
Subject: Re: Two crazy proposals for changing git's diff commands
Date: Wed, 08 Feb 2006 17:35:49 -0800 [thread overview]
Message-ID: <7v3bitl3ey.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <Pine.LNX.4.64.0602081643570.2458@g5.osdl.org> (Linus Torvalds's message of "Wed, 8 Feb 2006 17:05:14 -0800 (PST)")
Linus Torvalds <torvalds@osdl•org> writes:
> In particular, I think the real culprit is the plain "git diff" with no
> arguments at all. Right now it ends up showing just a piece of the
> picture, and the piece it shows is incomplete enough to be irritating.
Not necessarily. Your "during the merge" example is a good one,
and "so far it looks good and I do not want to see these diffs
while modifying things further -- update-index it!" workflow
benefits immensely from it.
> Right now a plain "git diff" only shows the differences in the current
> tree against the index. I think that was just the wrong choice. I think
> almost everybody would actually prefer the default to be to show the
> difference against HEAD.
I somehow suspect this is welding training wheels to your
bicycle.
> Teaching "git status" to take a "-p" flag (for "patch" - or -v for
> "verbose") might actually be a good thing. Then, instead of "git diff",
> you'd use "git status -p" and it would show you what the differences are
> in the index, and what they are in the tree, so you'd _really_ know what
> "git commit" in all its glory would do.
I think this may not be a bad idea.
What we could do is this:
$ git status -v [--only | --include] [paths...]
When -v is given, it takes the same parameter as "git commit",
and changes its output format from the usual N x "# useful info lines"
to something like:
---
diff ...
--- a/path
+++ b/path
@@ -N,M +L,K @@
that shows the commit preview. At the same time we change "git
commit" commit log message reader to stop reading the input at
the first '---' line, just like we do for e-mailed patches.
Then:
- If you want a commit preview _before_ initiating a commit,
you can say:
$ git status -v [whatever you planned to give git commit]
- If you want a commit preview _while_ writing the commit log, you can
say:
$ git commit -v [whatever your parameters are]
which internally would pass the -v and "$@" to git status
that seeds the log message
- If you want a commit preview after you made a commit, it is
too late ;-).
next prev parent reply other threads:[~2006-02-09 1:35 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-09 0:29 Two crazy proposals for changing git's diff commands Carl Worth
2006-02-09 1:05 ` Linus Torvalds
2006-02-09 1:21 ` Linus Torvalds
2006-02-09 23:07 ` Carl Worth
2006-02-09 23:40 ` Junio C Hamano
2006-02-09 1:35 ` Junio C Hamano [this message]
2006-02-09 1:21 ` Junio C Hamano
2006-02-09 1:30 ` Linus Torvalds
2006-02-09 1:37 ` Junio C Hamano
2006-02-10 9:05 ` Junio C Hamano
2006-02-10 20:32 ` Comments on "status -v" (was: Two crazy proposals for changing git's diff commands) Carl Worth
2006-02-10 21:09 ` Comments on "status -v" Junio C Hamano
2006-02-10 21:35 ` Linus Torvalds
2006-02-10 22:12 ` Junio C Hamano
2006-02-10 22:51 ` Petr Baudis
2006-02-10 23:26 ` Junio C Hamano
2006-02-09 23:44 ` Two crazy proposals for changing git's diff commands Carl Worth
2006-02-10 0:13 ` Junio C Hamano
2006-02-10 1:24 ` Carl Worth
2006-02-10 2:24 ` Junio C Hamano
2006-02-10 3:18 ` Carl Worth
2006-02-10 17:06 ` Mark Wooding
2006-02-13 9:23 ` Catalin Marinas
2006-02-13 22:00 ` Prune-safe StGIT (was Re: Two crazy proposals for changing git's diff commands) Catalin Marinas
2006-02-10 19:36 ` Two crazy proposals for changing git's diff commands Kent Engstrom
2006-02-11 19:25 ` Junio C Hamano
2006-02-12 12:00 ` [PATCH] Add howto about separating topics kent
2006-02-12 3:15 ` Two crazy proposals for changing git's diff commands J. Bruce Fields
2006-02-12 3:48 ` Junio C Hamano
2006-02-09 16:44 ` Tim Larson
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7v3bitl3ey.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox$(echo .)net \
--cc=git@vger$(echo .)kernel.org \
--cc=torvalds@osdl$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox