Re: [PATCH] Teach git-diff{,-files} the new option `--no-index`

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes:

>> For one thing, I want to move read_cache() out of run_diff_files() and 
>> run_diff_index() to their callers, so that the caller can use a 
>> handcrafted active_cache[] that is somewhat different from what 
>> read_cache() originally read.
>
> I don't understand. Would it not be easier to "return active_nr" in 
> read_cache_from(path) _also_ when active_cache is set? Or alternatively 
> check if active_alloc is set?

I do not understand your questions.

What I am getting at is that in the current code (without your
patch), run_diff_files() is about diff between $GIT_DIR/index
and working tree.  I want to make it diff between active_cache[]
and working tree.

The caller still can use read_cache() or read_cache_from(path)
to populate active_cache[], but it is not limited to.  It can do
other index manipulations before calling run_diff_files().  For
example, it can do read_tree() to populate active_cache[] before
calling run_diff_files() and/or run_diff_index().  Or maybe it
can run multi-tree read_tree() to populate active_cache[],
internally merge them without writing the merge results out, and
then call run_diff_files() to show "here is what would happen if
you were to run a merge now", all inside active_cache[].

Of course such a caller needs to be careful not to write
active_cache[] out when it shouldn't, but that goes without
saying.  git-diff-index already mucks with active_cache[] with
full intention of not writing it out.

Please see near the tip of 'pu', around here, for much simpler
usage pattern I had in mind:

commit 910d798768989d8fe581c2afcfd501307db81b10
Author: Junio C Hamano <junkio@xxxxxxx>

    git-status: use in-core --refresh in a read-only repository.

commit c5cc9b14a0f36d7fab66b3152f0ebcb442674bfc
Author: Junio C Hamano <junkio@xxxxxxx>

    git-runstatus --refresh

commit b4e1e4a787d3771f617182b3344dcdd9224bd0cb
Author: Junio C Hamano <junkio@xxxxxxx>

    run_diff_{files,index}(): update calling convention.

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]