git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Matthieu Moy <Matthieu.Moy@imag.fr>
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: git-diff on touched files: bug or feature?
Date: Thu, 2 Aug 2007 13:19:55 +0100 (BST)	[thread overview]
Message-ID: <Pine.LNX.4.64.0708021315510.14781@racer.site> (raw)
In-Reply-To: <vpq4pji3zwm.fsf@bauges.imag.fr>

Hi,

On Thu, 2 Aug 2007, Matthieu Moy wrote:

> Junio C Hamano <gitster@pobox.com> writes:
> 
> > The default should be tuned for users who perform manual editing
> > with status checks.  And power users like yourself who run "bulk
> > touch indiscriminately but modify only some" scripts should
> > learn to run git-status (or "update-index --refresh") after such
> > operation.  Swapping the defaults to optimize for the abnormal
> > case is madness.
> 
> I fully agree that git should be optimized for the common case. But
> even for the common case, I also find the feature strange. You didn't
> answer that part of my message, but I still fail to see a rationale
> for making "git-diff; git-status" different from "git-status; git-diff".

For performance reasons, git always compares the files' stat information 
with that stored in the index.

By updating the file, you make that check fail always.

Without updating the index (which is not a read-only operation, and 
therefore must not be done when doing a read-only operation like diff), 
you will therefore _destroy_ the main reason of git's kick-ass 
performance.

So when you do "git diff" and it tells you all those diff lines, while no 
file was really changed, it tells you "get your act together!  You just 
_willfully_ slowed down git's performance".

Okay?

Ciao,
Dscho

P.S.: I wish we had something similar for the cases that you did not "git 
gc", so that people, posting to their blogs all over the world that they 
became benchmark experts overnight and tested git and it sucks, would know 
that it is not git that sucks.

  reply	other threads:[~2007-08-02 12:20 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-01 16:17 git-diff on touched files: bug or feature? Matthieu Moy
2007-08-01 17:26 ` Junio C Hamano
2007-08-01 19:02   ` Alexandre Julliard
2007-08-01 19:07     ` Junio C Hamano
2007-08-01 19:17       ` Alexandre Julliard
2007-08-02  9:23   ` Matthieu Moy
2007-08-02  9:51     ` Johannes Schindelin
2007-08-02  9:57       ` Matthieu Moy
2007-08-02 10:48         ` Johannes Schindelin
2007-08-02 14:04           ` Jean-François Veillette
2007-08-02 14:43             ` Johannes Schindelin
2007-08-02 15:10               ` Steven Grimm
2007-08-02 15:23                 ` Johannes Schindelin
2007-08-02 15:45                   ` Matthieu Moy
2007-08-02 17:58                     ` J. Bruce Fields
2007-08-03  5:37                   ` [PATCH] Add --show-touched option to show "diff --git" line when contents are unchanged Steven Grimm
2007-08-03  6:30                     ` Junio C Hamano
2007-08-03 10:23                       ` Johannes Schindelin
2007-08-03 20:33                         ` Junio C Hamano
2007-08-03 21:32                           ` Matthieu Moy
2007-08-03 21:50                             ` Junio C Hamano
2007-08-03 23:01                               ` Matthieu Moy
2007-08-03 23:36                                 ` Junio C Hamano
2007-08-05 19:42                                   ` Matthieu Moy
2007-08-05 19:45                                     ` Johannes Schindelin
2007-08-05 19:57                                       ` Matthieu Moy
2007-08-06 15:56                           ` Matthias Lederhofer
2007-08-06 16:10                           ` David Kastrup
2007-08-06 16:16                             ` David Kastrup
2007-08-06 20:05                             ` Matthieu Moy
2007-08-06 20:34                               ` Junio C Hamano
2007-08-07  6:32                                 ` David Kastrup
2007-08-07 13:34                                   ` J. Bruce Fields
2007-08-07  4:22                     ` Linus Torvalds
2007-08-07  4:37                       ` Junio C Hamano
2007-08-07  6:41                         ` David Kastrup
2007-08-08  3:07                         ` Linus Torvalds
2007-08-08  3:44                           ` Junio C Hamano
2007-08-08  8:26                           ` Johannes Schindelin
2007-08-08  8:43                             ` Junio C Hamano
2007-08-08  9:13                               ` David Kastrup
2007-08-08  9:23                               ` Johannes Schindelin
2007-08-08  9:58                                 ` Jakub Narebski
2007-08-07  5:56                       ` Steven Grimm
2007-08-07  5:57                         ` [PATCH] Add a note about the index being updated by git-status in some cases Steven Grimm
2007-08-07  6:35                         ` [PATCH] git-diff: Output a warning about stale files in the index Steven Grimm
2007-08-07  6:46                           ` Junio C Hamano
2007-08-07  7:17                             ` [PATCH v2] " Steven Grimm
2007-08-07  7:46                               ` Junio C Hamano
2007-08-07  7:51                                 ` Steven Grimm
2007-08-07  9:04                                 ` Jakub Narebski
2007-08-11 20:07                               ` Junio C Hamano
2007-08-08  3:42                         ` [PATCH] Add --show-touched option to show "diff --git" line when contents are unchanged Linus Torvalds
2007-08-07  6:39                       ` Steven Grimm
2007-08-07  6:47                       ` Matthieu Moy
2007-08-02 20:50             ` git-diff on touched files: bug or feature? Junio C Hamano
2007-08-02  9:54     ` Junio C Hamano
2007-08-02 10:01       ` Junio C Hamano
2007-08-02 12:08         ` Matthieu Moy
2007-08-02 12:21           ` Johannes Schindelin
2007-08-02 19:56           ` Junio C Hamano
2007-08-03  7:04             ` Jeff King
2007-08-03  7:59               ` Junio C Hamano
2007-08-03  8:24                 ` Jeff King
2007-08-03  8:57                   ` Junio C Hamano
2007-08-03  8:40                 ` Shawn O. Pearce
2007-08-03  9:13                   ` Junio C Hamano
2007-08-02 12:05       ` Matthieu Moy
2007-08-02 12:19         ` Johannes Schindelin [this message]
2007-08-02 12:26           ` Matthieu Moy
2007-08-02 14:39             ` Johannes Schindelin
2007-08-02 14:49               ` Matthieu Moy
2007-08-02 15:12                 ` Johannes Schindelin
2007-08-02 13:25           ` Joel Reed
2007-08-02 15:05             ` Johannes Schindelin

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=Pine.LNX.4.64.0708021315510.14781@racer.site \
    --to=johannes.schindelin@gmx.de \
    --cc=Matthieu.Moy@imag.fr \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /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.
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 NNTP newsgroup(s).