Re: Shallow clone
- From
Junio C Hamano <junkio@cox.net>
- Date
- Nov 9, 2006, 04:04 UTC
- Message-ID
- <7vac31p8om.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <45521AE9.7050902@gmail.com>
"Aneesh Kumar K.V" <aneesh.kumar@gmail.com> writes:
Show 20 quoted lines
>> I am trying to test this feature. Is there a documentation >> .git/shallow some where. Atleast what those entries >> mean ? I know in the mail johannes mentioned only core git will >> touch this file. But it should be ok to be descriptive like other >> files. (FETCH_HEAD) > > diff --git a/Documentation/repository-layout.txt b/Documentation/repository-layout.txt > index 275d18b..03a6f77 100644 > --- a/Documentation/repository-layout.txt > +++ b/Documentation/repository-layout.txt > @@ -141,3 +141,9 @@ logs/refs/heads/`name`:: > > logs/refs/tags/`name`:: > Records all changes made to the tag named `name`. > + > +shallow:: > + Records the sha1 of the commits which is marked to have no > + parents to represent a shallow repository.The commit object > + will have the parent information present. It carry one > + record per line.
I would drop the second sentence which is just confusing but otherwise it is correct, I think (I just started trying it out).
But it seems to need some more work. I just tried to clone git.git with --depth=1 and it cauterizes each branch with two commits (I think that is what depth=1 means -- the latest and one behind it), but it pulled almost the whole repository anyway, and it turns out that "git log v1.4.3-rc1" gives me the full history leading to it.
Subsequent "git fetch --depth 99999" makes the branches connected to the root commit, and I am reasonably sure we do not have that many commits, but .git/shallow did not become empty.
I haven't followed the code closely enough to tell if these are just minor details needing more polish, or something more fundamental in the design.