From: Daniel Barkalow <barkalow@iabervon.org>
To: "McMullan, Jason" <jason.mcmullan@timesys.com>
Cc: Junio C Hamano <junkio@cox.net>,
Linus Torvalds <torvalds@osdl.org>,
GIT Mailling list <git@vger.kernel.org>
Subject: Re: Database consistency after a successful pull
Date: Mon, 6 Jun 2005 12:21:19 -0400 (EDT) [thread overview]
Message-ID: <Pine.LNX.4.21.0506061000531.30848-100000@iabervon.org> (raw)
In-Reply-To: <1118065849.8970.37.camel@jmcmullan.timesys>
On Mon, 6 Jun 2005, McMullan, Jason wrote:
> Subject Was: [PATCH] pull: gracefu[PAlly recover from delta retrieval
> failure.]
>
> [snip lots of really good information about the thinking
> behind the design of the pull mechanisms ]
>
> Ok, so would I be correct in the following assumptions
> about the validity of a 'consistent' .git/objects database:
>
> ============================================================
>
> Commits:
> * May have the tree they refer to in the database
> * Must have their parents in the database
May have their parents in the database; we want to be able to drop ancient
history from non-archival sites at some point, if nothing else.
> Trees:
> * Must have the blobs they refer to in the database
> * Must have the trees they refer to in the database
It's probably true that there's no point to having a tree available if you
don't have its contents, although that's a convenient intermediate stage,
so that you can look up the contents of the tree with the ordinary parsing
code. On the other hand, I could imagine an ARM developer completely
ignoring arch/i386 (and just having write-tree use the parent tree's value
for it).
> Deltas:
> * Must have the referred to object in the database
Yes. Can't unpack without them.
> Blobs:
> * No references to check
Right.
Also, tags reference objects of unknown type; it's probably not vital to
have the object.
My bias is to call a database consistent with only deltas having the
referents; the rest goes towards completeness, since you have and can read
everything that you have anything for (but may not be able to do some
particular operation).
-Daniel
*This .sig left intentionally blank*
next prev parent reply other threads:[~2005-06-06 16:19 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-05 6:11 [PATCH] pull: gracefully recover from delta retrieval failure Junio C Hamano
2005-06-05 16:38 ` Jason McMullan
2005-06-05 17:24 ` Daniel Barkalow
2005-06-05 17:46 ` Junio C Hamano
2005-06-05 20:02 ` Daniel Barkalow
2005-06-06 13:50 ` Database consistency after a successful pull McMullan, Jason
2005-06-06 16:21 ` Daniel Barkalow [this message]
2005-06-06 18:30 ` McMullan, Jason
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.21.0506061000531.30848-100000@iabervon.org \
--to=barkalow@iabervon.org \
--cc=git@vger.kernel.org \
--cc=jason.mcmullan@timesys.com \
--cc=junkio@cox.net \
--cc=torvalds@osdl.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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).