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

Re: --shallow-exclude=ref -> "ambiguous deepen-not" error

From
D. Ben Knoble <ben.knoble@gmail.com>
Date
Sep 16, 2025, 17:03 UTC
Message-ID
<CALnO6CAbUNgp6n4kYg1ATCC1mHa7Z2m3d7FZwaYrgtkMLWR3-w@mail.gmail.com>
In-Reply-To
<20250916145032.969133-1-phahn-oss@avm.de>
On Tue, Sep 16, 2025 at 10:58 AM Philipp Hahn <phahn-oss@avm.de> wrote:
Show 27 quoted lines
>
> Hello Elijah,
>
> On Mon, 24 Feb 2025 at 07:27:55 -0800 Elijah Newren <newren@gmail.com> wrote:
> > On Thu, Feb 20, 2025 at 12:27 AM bolide2005@163.com <bolide2005@163.com> wrote:
> > > Case 2: git clone --shallow-exclude=<rev> <repo-url>
> >
> > The documentation was fixed for case 2 in 00e10e07510 ("doc: correct
> > misleading descriptions for --shallow-exclude", 2024-11-04) to point
> > out that this usage is flawed.
>
> I have searched the archive and git repository, but found no explanation, why
> that usage - shallow-exclude by REV - is considered "flawed": I understand,
> that the current implementation does not support this, but is there any
> technical reason why that is not possible or undesirable?
>
>                      A---B---C topic
>                     /
>                D---E---F---G master
>
> I have a use-case for this, where we use GitLab to run some linters on our
> merge requests (MRs): They examine the commits since the fork-point "E", for
> which they need access to the commits + trees + blobs. Some MRs are larger,
> some smaller, so there is no fixed maximum depth I can give to `--depth X` and
> be sure to have gotten all commits.
> Same for `--shallow-since=` as some are dormant for a year and many other MRs
> by-pass them.

I might have misunderstood, but aren't the commits you're interested in here the ones named by

    git rev-list master..topic
?

I see a mention of git-clone in the quoted reply, so perhaps you're trying to avoid cloning too much history. I wonder if a blobless clone would suffice, which you can then add to once you have the list of commits produced above? That would fetch more commits than necessary, but should still be significantly cheaper.

-- 
D. Ben Knoble
Previous: Philipp HahnNext: Philipp Hahn
Message 4 of 8 in “Bug or just a mistake : --shallow-exclude parameter behavior anomalies in Git 2.45.2: "no commits selected" and "ambiguous deepen-not" errors”
  1. bolide2005@163.comFeb 20, 2025
  2. Elijah NewrenFeb 24, 2025
  3. Philipp HahnSep 16, 2025
  4. D. Ben KnobleSep 16, 2025
  5. Philipp HahnSep 16, 2025
  6. Ben KnobleSep 16, 2025
  7. Elijah NewrenSep 17, 2025
  8. Erik Cervin EdinOct 21, 2025

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.