git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] sha1_name(): accept ':directory/' to get at the cache_tree

From
Junio C Hamano <junkio@cox.net>
Date
Jan 10, 2007, 00:36 UTC
Message-ID
<7vtzyzhg47.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<Pine.LNX.4.63.0701100108460.22628@wbgn013.biozentrum.uni-wuerzburg.de>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 12 quoted lines
> It is still at what cache_name_pos(cp, namelen) pointed to, or NULL if 
> the entry does not exist (e.g. there is no cache entry, or all cache 
> entries are lexicographically smaller).
>
>> For example, would this work?
>> 
>> 	$ echo >t- && git add t-
>>         $ git show :t
>> 	$ git show :t/
>
> I think so: The code explicitely checks for a trailing '/'. (See second 
> last line of the hunk you quoted.)

The comment was not about the trailing / version, but the one without. Have you tried them?

Show 14 quoted lines
>> > +			struct cache_tree *tree =
>> > +				cache_tree_find(active_cache_tree, cp);
>> > +			if (!cache_tree_fully_valid(tree)) {
>> > +				ret = cache_tree_update(active_cache_tree,
>> > +						active_cache, active_nr, 0, 0);
>> > +				if (ret < 0)
>> > +					return ret;
>> 
>> This gracefully errs out when the index is unmerged but fails to
>> pretend the index knows about trees, if the unmerged part of
>> index is outside the directory the user specified.
>
> That is correct. But in that case, we cannot sanely ask the question "what 
> would the tree object look like if we committed right now?"

But that is not the question you are asking. "git-ls-files t/" does work even though you still have cache.h unmerged in the index.

> But then it turned out that I even use it before committing, like when I 
> ask "what files would be in my next revision?" It is not a question 
> arising daily, but sometimes it is interesting to see _before_ committing 
> them. (Note that I am not only interested in the _modified_ files.)
So it really is about being able to say show while you mean ls-files.

I am not opposed to that goal at all. I think it makes it easier to type. But I think using cache-tree is a wrong approach.

Previous: Johannes SchindelinNext: Johannes Schindelin
Message 5 of 6 in “sha1_name(): accept ':directory/' to get at the cache_tree”
  1. sha1_name(): accept ':directory/' to get at the cache_treeJohannes Schindelin, Jan 9, 2007
  2. Alex RiesenJan 9, 2007
  3. Junio C HamanoJan 9, 2007
  4. Johannes SchindelinJan 10, 2007
  5. Junio C HamanoJan 10, 2007
  6. Johannes SchindelinJan 10, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.