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

Re: DWIM .git repository discovery

From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Date
Sep 27, 2012, 12:38 UTC
Message-ID
<CACsJy8CaWjV+is0WKh2kYiNfHOkN0M_Hs2wXzH3DUMtUeKMTAQ@mail.gmail.com>
In-Reply-To
<CAM9Z-nkCos979Kte+k+wYKZMzo625JhWjmye2zraPKk0BgTHmw@mail.gmail.com>
On Thu, Sep 27, 2012 at 7:22 PM, Drew Northup <n1xim.email@gmail.com> wrote:
Show 11 quoted lines
>>> I personally do not think it is _too_ bad to internally do
>>>
>>>         (cd ../path/to/another/repo/path/to &&
>>>          git log --patch file.c)
>>>
>>
>> As long as the .git discovery and path rewriting can be done
>> automatically, that'd be nice. But..
>
> I do not think that it should be the job of Git to guess how you would
> like your paths recannonicalized. That is truly a pathway to insanity.

I believe we are doing that. We move cwd internally to top worktree, so we rewrite (well, prefix) all paths.

Show 9 quoted lines
>> Returned paths should always be relative to cwd (well except diff/log
>> which are prefixed by [ab]/). cd'ing internally like above makes it
>> more confusing imo. Take grep for example, I find it natural for "git
>> grep foo -- ../other/repo/bar/" to return "../other/repo/bar/foo.c
>> ...".
>
> In Junio's example it would be relative to the working directory—of
> the subshell. Neither the shell nor Git is in a position to clean that
> up much if at all.
That's implementation details.
Show 7 quoted lines
>> Prefix currently does not take "../blah" form, but I see no reasons
>> why it can't/shouldn't. $(cwd) is most likely outside the other
>> project's working directory. An exception running from inside a
>> submodule and examining the parent repository.
>
> Is hacking the master project code from inside of a submodule what
> this is actually about?

Hacking, no. Examining, yes. And in my case, no submodules. It's gnome projects where a bunch of libraries (in their own repositories) may be needed for an application. I stay in the application directory but from time to time I'll need to look outside in other repositories.

-- 
Duy
Previous: Drew NorthupNext: Junio C Hamano
Message 6 of 7 in “DWIM .git repository discovery”
  1. Nguyen Thai Ngoc DuySep 26, 2012
  2. Junio C HamanoSep 26, 2012
  3. Michael J GruberSep 26, 2012
  4. Nguyen Thai Ngoc DuySep 26, 2012
  5. Drew NorthupSep 27, 2012
  6. Nguyen Thai Ngoc DuySep 27, 2012
  7. Junio C HamanoSep 27, 2012

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.