From: Phillip Susi <psusi@ubuntu.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: "git@vger.kernel.org" <git@vger.kernel.org>
Subject: Re: Clone from shallow bundle bug
Date: Tue, 31 Mar 2015 22:56:36 -0400 [thread overview]
Message-ID: <551B5E64.9070906@ubuntu.com> (raw)
In-Reply-To: <xmqqbnj8q0bm.fsf@gitster.dls.corp.google.com>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
On 03/31/2015 06:17 PM, Junio C Hamano wrote:
> Phillip Susi <psusi@ubuntu.com> writes:
>
>> I made a shallow clone of my repo, then used git bundle create to
>> pack it all into a bundle file, then cloned from that bundle.
>
> I think the introdution of shallow clone feature broke git bundle
> create by not teaching it that its shallow boundaries are
> prerequisite commits to unbundle its contents. IOW, the bundle
> created from the shallow clone is broken, I would think.
It seems to me that it isn't exactly broken; it just needs to put
something in the bundle noting that it was built from a shallow clone,
and then when cloning from the shallow bundle, the new clone needs its
.git/shallow file.
In other words, the bundle contains all of the objects in the shallow
clone, so a new shallow clone can be correctly constructed from the
bundle, it's just that the new clone doesn't *know* it too is shallow
and things like git log and gitk need to stop following the history
chain when they reach the shallow point rather than complain that the
rest of the history is missing ( which is intentional ).
For that matter, if you do create a depth limited bundle from a non
shallow repository, then try to clone from it, the cloned repo should
automatically become shallow rather than complain about missing history.
In other words, any time you clone from a bundle, the clone process
should check if the full history is in the bundle, and if not,
automatically make the new repo shallow so as to avoid the error
messages about the missing history.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAEBCgAGBQJVG15kAAoJENRVrw2cjl5RnvgH/iMyN/1U2zg+ju/teVEQIMRL
prvC60S9/yLxSp6RmiXpN2xuGHMkn7i2y6XpM9RQdE6ETeGaIw7UaDan3r7BPTSD
+Q9DrAM0g17IGNxvmGPiJZP7j0t2e43oTA9KM8alf6icMU/mWJgQsbtc9QFVfVkd
jsYevK1GR6ysrAHBAV6GxKfNw5yw3N+kTf9s2rKXWIFaArD0rcKJZVxiygMlhVSa
hT4j3+n5f3n0WMDVxFzhwOaW+yrPiXF3gs1pKFX8GT5g1BtvOAEnyskSgA5nZsNB
G53ncyyefinaaBqCvPSbcTLXmWLV8QuLBExc13BWXiVUD2rRNQr7u1ihbxWKyvU=
=D90B
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2015-04-01 3:00 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-31 21:10 Clone from shallow bundle bug Phillip Susi
2015-03-31 22:17 ` Junio C Hamano
2015-04-01 2:56 ` Phillip Susi [this message]
2015-04-01 6:31 ` Junio C Hamano
2015-04-01 10:01 ` Duy Nguyen
2015-04-01 13:00 ` Phillip Susi
2015-04-01 17:20 ` Junio C Hamano
2015-04-02 0:33 ` Duy Nguyen
2015-04-02 0:35 ` Duy Nguyen
2015-04-02 1:26 ` Phillip Susi
2015-04-01 9:55 ` Duy Nguyen
2015-04-01 12:53 ` Phillip Susi
2015-04-01 13:09 ` Duy Nguyen
2015-04-01 13:30 ` Phillip Susi
2015-04-01 13:36 ` Duy Nguyen
2015-04-01 14:06 ` Phillip Susi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=551B5E64.9070906@ubuntu.com \
--to=psusi@ubuntu.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).