git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
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*



  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).