Subject: Re: If you would write git from scratch now, what would you change?

From: "Shawn O. Pearce" <[email-masked]>
Date: Mon, 26 Nov 2007 20:25:18 -0500

Dana How <[email-masked]> wrote:
> On Nov 25, 2007 1:48 PM, Jakub Narebski <[email-masked]> wrote:
> > If you would write git from scratch now, from the beginning, without
> > concerns for backwards compatibility, what would you change, or what
> > would you want to have changed?
> 
> Currently data can be quickly copied from pack to pack,
> but data cannot be quickly copied blob->pack or pack->blob

I agree with Nico's comment that you probably don't need pack->loose
object as its just not something you want to do.  But otherwise
above you mean "loose->pack" or "pack->loose" as blob is one type
of loose object but there are others (tree, commit, tag).

> (there was an alternate blob format that supported this,
>  but it was deprecated).  Using the pack format for blobs
> would fix this.  It would also mean blobs wouldn't need to
> be uncompressed to get the blob type or size I believe.

The alternate format for loose objects *was* the packfile format,
but without the packfile header or trailer as that was really
quite unnecessary for a single object storage.

Unfortunately we removed that alternate format from the system.
We can't create it anymore.  We can't efficiently copy it to the
packfile anymore.  But we can still read it in case someone still
has loose objects using that alternate format in their repository.

I was sad when Nico removed the format in 726f852b0ed7e.  I can
understand why he did so but I think it was a move in the wrong
direction.

-- 
Shawn.