• J
    diff --quiet: make it synonym to --exit-code >/dev/null · df58a827
    Junio C Hamano 提交于
    The point of --quiet was to return the status as early as possible without
    doing any extra processing.  Well behaved scripts, when they expect to run
    many diff operations inside, are supposed to run "update-index --refresh"
    upfront; we do not want them to pay the price of iterating over the index
    and comparing the contents to fix the stat dirtiness, and we avoided most
    of the processing in diffcore_std() when --quiet is in effect.
    
    But scripts that adhere to the good practice won't have to pay any more
    price than the necessary lstat(2) that will report stat cleanliness, as
    long as only -q is given without any fancier diff options.
    
    More importantly, users who do ask for "--quiet -M --filter=D" (in order
    to notice only the deletion, not paths that disappeared only because they
    have been renamed away) deserve to get the result they asked for, even it
    means they have to pay the extra price; the alternative is to get a cheap
    early return that gives a result they did not ask for, which is much
    worse.
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    df58a827
diff.c 88.8 KB