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

Re: [PATCH] pathspec: remove check_path_for_gitlink

From
Duy Nguyen <pclouds@gmail.com>
Date
May 6, 2016, 10:30 UTC
Message-ID
<CACsJy8BbWyw37sQkAq-B_De87N3XzZA9A1fm1A8A7MzfPBtdrw@mail.gmail.com>
In-Reply-To
<xmqqy47o6q71.fsf@gitster.mtv.corp.google.com>
On Fri, May 6, 2016 at 6:27 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 5 quoted lines
> Stefan Beller <sbeller@google.com> writes:
>
>>> I wonder if the patches mentioned have something to do with the "git
>>> add deep/in/the/tree" that fails to notice deep/in/ is an unrelated
>>> repository in some way?

The same functionality is added in 8745024 (parse_pathspec: support stripping/checking submodule paths - 2013-07-14) so if it didn't fail to notice that before 5a76aff1a6 and did after, it's a bug.

Show 6 quoted lines
>>
>> Which is considered a feature now. Maybe we should add tests for that?
>>
>> http://debuggable.com/posts/git-fake-submodules:4b563ee4-f3cc-4061-967e-0e48cbdd56cb
>
> That is a bug, plain and simple.  Duy any ideas where we went wrong?

I vaguely recall this symptom. It has something to do with the index, the check we do requires a gitlink in the index, I think. So if the gitlink entry is not in the index, our protection line fails. I think doing all this at pathspec level is wrong. We should wait at least after read_directory() is done, by then we have a lot more info to decide.

Show 7 quoted lines
> I think we already have code to avoid adding beyond symlinks.
> "git add deep/in/the/tree" should refuse if deep/in is a symbolic
> link (and happens to point at a directory that has the/tree in it).
> We used not to catch that long time ago, but I think we fixed it.
>
> The logic and the places to do the checks for "no, that thing may be
> a directory but is an unrelated repository" should be the same.
-- 
Duy
Previous: Junio C HamanoNext: Stefan Beller
Message 11 of 16 in “pathspec: remove check_path_for_gitlink”
  1. pathspec: remove check_path_for_gitlinkStefan Beller, May 5, 2016
  2. Junio C HamanoMay 5, 2016
  3. Stefan BellerMay 5, 2016
  4. Junio C HamanoMay 5, 2016
  5. Stefan BellerMay 5, 2016
  6. Junio C HamanoMay 5, 2016
  7. Stefan BellerMay 6, 2016
  8. Junio C HamanoMay 6, 2016
  9. Stefan BellerMay 6, 2016
  10. Junio C HamanoMay 6, 2016
  11. Duy NguyenMay 6, 2016
  12. Stefan BellerMay 6, 2016
  13. Junio C HamanoMay 6, 2016
  14. Stefan BellerMay 6, 2016
  15. Junio C HamanoMay 6, 2016
  16. Duy NguyenMay 7, 2016

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.