Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: How to clone-pack the HEAD?

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:14

Petr Baudis [off-list ref] writes:
  (i) git-clone-pack url HEAD doesn't work
"clone-pack url branchname" might work, but the thing is, nobody
uses clone-pack with explicit heads arguments so if HEAD does
not work I am not surprised at all.
  (ii) git-clone-pack has hardcoded assumptions about refs/heads/master
I've read that part of the code twice in the past, but my
recollection is it tries hard to "guess" where HEAD points at
(because the remote side does not tell us, other than which
commit object HEAD points at).  When more than two branch heads
point at the same commit as HEAD records, it gives preference to
"master" branch while guessing, but otherwise there is nothing
special about the "master" branch.

The problem is, clone-pack is about cloning and not fetching.  I
am not claiming it is the right design decision --- after all,
it was the oldest of the git native protocol driver suite ---
but just stating where it stands with all the history behind its
(and git-fetch-pack's) evolution.

I think extending git-fetch-pack to optionally keep things
packed would be somewhat painful but the right approach.  Less
painful and readily doable would be to run clone-pack as is, and
reorganize the result of "copy of the remote" yourself.  That
would be a straightforward thing to do if you are using it for
the initial cloning.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help