From: Junio C Hamano <gitster@pobox.com>
To: "Björn Steinbrink" <B.Steinbrink@gmx.de>
Cc: PJ Hyett <pjhyett@gmail.com>,
"Shawn O. Pearce" <spearce@spearce.org>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Linus Torvalds <torvalds@linux-foundation.org>,
git@vger.kernel.org
Subject: Re: [PATCH] send-pack: Filter unknown commits from alternates of the remote
Date: Tue, 27 Jan 2009 20:13:26 -0800 [thread overview]
Message-ID: <7vljswxe3d.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <20090128035804.GC7503@atjola.homenet> (Björn Steinbrink's message of "Wed, 28 Jan 2009 04:58:04 +0100")
Björn Steinbrink <B.Steinbrink@gmx.de> writes:
> Uhm, it might be obvious, but what exactly could go wrong?
Between the refs and your object store, there is a contract that
guarantees that everything that is reachable from your refs are complete
and you won't hit unreachable object while traversing the reachability
chain from them. But your object store can contain other garbage
objects. The contract is one of the things "git fsck" checks.
Imagine you have fetched from somewhere with a commit walker (e.g. fetch
over http), that started fetching from the tip commit and its associated
objects, and then got interrupted. Such a transfer will leave the objects
in your local repository but it is safe because it won't update your refs.
>> I'd prefer a small helper function to consolidate the duplicated code,
>> like the attached patch, though. How about doing it like this?
>
> Yeah, that looks a lot nicer :-)
But it was broken. The initial check feed_object() does with
has_sha1_file() and NEEDSWORK comment needs to be inside
if (negative) {
if (!has_sha1_file(theirs))
return 1;
/*
* NEEDSWORK: we should not be satisfied by simply having
* theirs, but should be making sure it is reachable from
* some of our refs.
*/
}
to make sure we won't trigger the availability or connectivity check for
positive refs.
next prev parent reply other threads:[~2009-01-28 4:15 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-27 23:04 Bad objects error since upgrading GitHub servers to 1.6.1 PJ Hyett
2009-01-27 23:10 ` PJ Hyett
2009-01-27 23:37 ` Johannes Schindelin
2009-01-27 23:39 ` Shawn O. Pearce
2009-01-27 23:51 ` Junio C Hamano
2009-01-28 0:15 ` PJ Hyett
2009-01-28 0:34 ` PJ Hyett
2009-01-28 1:06 ` Junio C Hamano
2009-01-28 1:32 ` Junio C Hamano
2009-01-28 1:38 ` [PATCH] send-pack: Filter unknown commits from alternates of the remote Björn Steinbrink
2009-01-28 1:47 ` Junio C Hamano
2009-01-28 3:33 ` Junio C Hamano
2009-01-28 3:58 ` Björn Steinbrink
2009-01-28 4:13 ` Junio C Hamano [this message]
2009-01-28 4:32 ` Junio C Hamano
2009-01-28 1:44 ` Bad objects error since upgrading GitHub servers to 1.6.1 Junio C Hamano
2009-01-28 1:57 ` PJ Hyett
2009-01-28 2:02 ` Shawn O. Pearce
2009-01-28 3:09 ` Junio C Hamano
2009-01-28 3:30 ` Shawn O. Pearce
2009-01-28 3:52 ` Stephen Bannasch
2009-01-28 3:57 ` Shawn O. Pearce
2009-01-28 5:44 ` Junio C Hamano
2009-01-28 4:38 ` Junio C Hamano
2009-01-28 4:41 ` Shawn O. Pearce
2009-01-28 7:14 ` Junio C Hamano
2009-01-28 7:41 ` Junio C Hamano
2009-01-28 7:51 ` [PATCH 1/2] send-pack: do not send unknown object name from ".have" to pack-objects Junio C Hamano
2009-01-28 15:45 ` Bad objects error since upgrading GitHub servers to 1.6.1 Linus Torvalds
2009-01-28 19:00 ` Junio C Hamano
2009-01-28 7:55 ` Jeff King
2009-01-28 8:05 ` Junio C Hamano
2009-01-28 8:17 ` Jeff King
2009-01-28 16:16 ` Shawn O. Pearce
2009-01-28 18:16 ` Jeff King
2009-01-28 18:26 ` Junio C Hamano
2009-01-28 8:22 ` Junio C Hamano
2009-01-28 9:24 ` Jeff King
2009-01-28 16:09 ` Shawn O. Pearce
2009-01-28 16:38 ` Nicolas Pitre
2009-01-28 18:11 ` Jeff King
2009-01-28 1:00 ` Linus Torvalds
2009-01-28 1:15 ` Björn Steinbrink
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=7vljswxe3d.fsf@gitster.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=B.Steinbrink@gmx.de \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=pjhyett@gmail.com \
--cc=spearce@spearce.org \
--cc=torvalds@linux-foundation.org \
/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).