Re: [PATCH] fast-import: Allow filemodify to set the root
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Oct 8, 2010, 07:23 UTC
- Message-ID
- <4CAEC6E6.5000305@viscovery.net>
- In-Reply-To
- <20101008070511.GA4671@burratino>
Am 10/8/2010 9:05, schrieb Jonathan Nieder:
Show 12 quoted lines
> Johannes Sixt wrote: >> Am 10/7/2010 22:28, schrieb Jonathan Nieder: > >>> | For a command (like filter-branch --subdirectory-filter) that wants >>> | to commit a lot of trees that already exist in the object db, writing >>> | undeltified objects as loose files only to repack them later can >>> | involve a significant amount[*] of overhead. >> >> 1. But when an object already exists in the db, it won't be written again, >> will it? > > In David's application, the trees already exist, but the commits are new.
But then what has this to do with "allow filemodify to set the root"?
> I suppose supporting M 040000 <tree> "" and C <path> "" could still > be a good idea in that case anyway, for the convenience of front-end > authors.
What is the special new thing here? That "" means 'empty string' == 'tree at the root'? If so:
1. Then this is the missing piece in the justification. Then I could buy that the observed speed-up is due to the reuse of an existing tree object (which avoids parsing it and re-constructing it from its pieces because fast-imports syntax didn't allow it otherwise). But it has nothing to do with new loose objects (the re-constructed object would be identical to an existing one).
2. Without this patch, would this syntax create a tree object with a name consisting of two double-quotes in the root? Or would it be a syntax error? How would one construct such an entry with this patch?
-- Hannes