Re: more git updates..

Christopher Li
2005-04-10T23:03:18Z

On Sun, Apr 10, 2005 at 03:38:39PM -0700, Linus Torvalds wrote:
>
>
> On Sun, 10 Apr 2005, Christopher Li wrote:
> >
> > BTW, one thing I learn from ext3 is that it is very useful to have some
> > compatible flag for future development. I think if we want to reserve some
> > room in the file format for further development of git
>
> Way ahead of you.
>
> This is (one reason) why all git objects have the type embedded inside of
> them. The format of all objects is totally regular: they are all
> compressed with zlib, they are all named by the sha1 file, and they all
> start out with a magic header of "<typename> <typesize><nul byte>".
>
> So if I want to create a new kind of tree object that does the same thing
> as the old one but has some other layout, I'd just call it something else.
> Like "dir". That was what I initially planned to do about the change to
> recursive tree objects, but it turned out to actually be a lot easier to
> just encode it in the old type (that way the routines that read it don't
> even have to care about old/new types - it's all the same to them).

Ha, that is right. You put the new type into same object trick me into
thinking I have to do the same way. Totally forget I can introduce new type
of objects. It is even cleaner. Cool.

How about deleting trees from the caches? I don't need to delete stuff from
the official tree. It is more for my local version control.
Here is the usage case,
- I check out the git.git.
- using quilt to build my series of patches, git-hack1, git-hack2.. git-hack6.
let's say those are store in git cache as well
- I pick some of them come up with a clean one "submit.patch"
- submit.patch get merged into official git tree.
- Now I want to get rid of the hack1 to hack6, but how?

One way to do it is never commit hack1 to hack6 into git or cache. They stay as quilt
patches only. But it is very tempting to let quilt using git instead of the
.pc/ directory, quilt can simplify as some usage case of patch and git.

Chris