Re: Shallow clone
flat view
From: Junio C Hamano <hidden>
Date: 2016-08-11 20:30:07
"Aneesh Kumar K.V" [off-list ref] writes:
quoted hunk
quoted
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.