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

Re: git describe/contains for submodule commits

From
Jacob Keller <jacob.keller@gmail.com>
Date
May 29, 2019, 17:32 UTC
Message-ID
<CA+P7+xovDWswGpM-E4tc2AmHsnpwRzK57Zs27bm-itjwrdehhg@mail.gmail.com>
In-Reply-To
<8736l6ujcr.fsf@evledraar.gmail.com>

On Wed, May 22, 2019 at 5:04 PM Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:

Show 46 quoted lines
>
>
> On Thu, May 23 2019, Jacob Keller wrote:
>
> > Hi,
> >
> > I've had a few times where I was curious of when a submodule got set
> > to a specific commit.
> >
> > I noticed that git describe has "blob" support, which outputs something like
> >
> > <commit>:/path/to/file
> >
> > using the revision walking machinery.
> >
> > I'm curious if anyone knows if that sort of revision walk could be
> > expected to find the first treeish that had a submodule commit instead
> > of a blob.
> >
> > I'm not that familiar with the revision walking, so I was hoping to
> > get some pointers of whre to look before I began implementing.
> >
> > Ultimately, I'd like to have some sort of command like:
> >
> >   git submodule contains <submodule> <commit id>
> >
> > and have it try to figure out the most recent commit htat has a
> > submodule change for which the submodule is a child of the specified
> > submodule commit.
> >
> > I can sort of reverse engineer this through git log, but it's slow and
> > tedious, so I was hoping to be able to implement it into a revision
> > walk that did this.
> >
> > Once I know the commit that introduces the submodule change, I could
> > feed that to git describe --contains to find the tag/version which
> > included the change easily enough.
> >
> > Thanks,
> > Jake
>
> You can do this with --find-object, e.g. on git.git:
>
>     git log --find-object=855827c583bc30645ba427885caa40c5b81764d2
>
> Plugging that into describe.c should be fairly straightforward.
Thanks, I'll take a look at this.

Regards, Jake

Previous: Ævar Arnfjörð Bjarmason
Message 3 of 3 in “git describe/contains for submodule commits”
  1. Jacob KellerMay 22, 2019
  2. Ævar Arnfjörð BjarmasonMay 23, 2019
  3. Jacob KellerMay 29, 2019

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.