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

Re: [PATCH] pathspec: remove check_path_for_gitlink

From
Junio C Hamano <gitster@pobox.com>
Date
May 6, 2016, 20:09 UTC
Message-ID
<xmqqd1oz2bjg.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CAGZ79kaJYngaZfhx060C06J57aDqPJfdMD8xzK4dW4nvvktMLQ@mail.gmail.com>
Stefan Beller <sbeller@google.com> writes:
Show 5 quoted lines
> It was a bug, but now people in the outside world consider it a feature.
> Search for "Git fake submodules" and you'll find a few users who use this
> technique successfully.
>
> I do not think fixing this bug would do good. So maybe we just let it slip?
I am OK with leaving it unfixed, iow, we just say this:
    If deep/in is a different repository, whether it is a submodule,
    "git add deep/in/the/tree/is-a-leaf.txt" will give an undefined
    result.

But that is totally different from accepting it as a feature. If we were to accept it as a feature (and we will not), then

    I did "git add deep/in/the/tree/is-a-leaf.txt" and have kept the
    path tracked.  Today I did "git add deep/*" and then the path
    disappeared from my project--I now only have deep/in as a
    submodule, which is not what I want.
would become a valid bug report.  I do not want to see that happen.

I.e. I am *NOT* OK with polluting the codebase with a hack to respond to such a bug report, e.g. by adding a rule that says "if a file deep/in/the/tree/is-a-leaf.txt is tracked and deep/in is a repository, 'git add deep/in' must fail".

The stance "It is a bug, but we do not fix it right now. The behaviour is undefined" also leaves the door open for a future enhancement that allows 'git add deep/in/the/tree/is-a-leaf.txt' to be an equivalent to 'git -C deep/in/the/tree add is-a-leaf.txt'.

Previous: Stefan BellerNext: Duy Nguyen
Message 15 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.