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

Re: Shallow clones with explicit history cutoff?

From
Matthias Urlichs <matthias@urlichs.de>
Date
Aug 22, 2014, 14:46 UTC
Message-ID
<20140822144645.GS2049@smurf.noris.de>
In-Reply-To
<CACsJy8CSCcaFNxqqBLAnb5NXkwT+wVXCVmB8uF3RYwqRmz4tuw@mail.gmail.com>
Hi,
Duy Nguyen:
Show 21 quoted lines
> On Thu, Aug 21, 2014 at 10:39 PM, Matthias Urlichs <matthias@urlichs.de> wrote:
> > What I would like to have, instead, is a version of shallow cloning which
> > cuts off not at a pre-determined depth, but at a given branch (or set of
> > branches). In other words, given
> >
> >             +-J--K  (packaged)
> >            /    /
> >   +-F--G--H----I    (clean)
> >  /       /
> > A---B---C---D---E   (upstream)
> >
> > a command "git clone --shallow-until upstream $REPO" (or however that would
> > be named) would create a shallow git archive which contains branches
> > packaged+clean, with commits FGHIJK. In contrast, with --single-branch and
> > --depth 4 I would get CGHIJK, which isn't what I'd want.
> 
> I would imagine a more generic mechanism "git clone
> --shallow-rev=<rev> $REPO" where you could pass anything that "git
> rev-list" can accept (maybe more restricted, and some verification
> required). --shallow-rev could be repeated. So in your case it could
> be "git clone --shallow-rev="^A" $REPO".
Umm, no. ^E (or ^upstream) would do what I want. Hopefully. ;-)

But you're right, that would fit far better into the existing git paradigms.

Show 9 quoted lines
> > As I have not spent too much time with the git sources lately (as in "None
> > at all"), some pointers where to start implementing this would be
> > appreciated, assuming (a) this has a reasonable chance of landing in git and
> > (b) nobody beats me to it. ;-)
> 
> I'd like to see this implemented. You are not the first one
> complaining about the (lack of) flexibility of --depth. If you have
> time, I may be able to support (I should not take on another topic
> given my many ongoing/unfinished topics).
Welcome to the club. :-/
Thanks for the pointers. I'll see what I can do (and when).
-- 
-- Matthias Urlichs
Previous: Duy Nguyen
Message 3 of 3 in “Shallow clones with explicit history cutoff?”
  1. Matthias UrlichsAug 21, 2014
  2. Duy NguyenAug 22, 2014
  3. Matthias UrlichsAug 22, 2014

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.